2017-02-23 292 views
1

我想用FreeMarker修改现有的文件。 对于防爆,FreeMarker修改现有文件

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    package="$(package_name)"> 
    $(activities) 
    <activity android:name=".map.activity.MapsDemoActivity" /> 
    <activity android:name=".map.activity.MapListActivity" /> 
    <activity android:name=".map.activity.EventsDemoActivity" /> 
    <activity android:name=".map.activity.InfoWindowDemoActivity" /> 
    <activity android:name=".map.activity.CustomMarkerClusteringDemoActivity" /> 
</manifest> 

在上面的代码中,我想更新$(PACKAGE_NAME)和$(活动)。

我正在使用org.freemarker:freemarker:2.3.23,需要使用Java程序来做这个文件修改。

我知道如何使用免费软件创建新文件,但无法使用java程序修改现有文件。

请提出任何解决方案。在recipe.xml

+0

不明白的元素..你想用Java程序更新'.ftl'模板文件?这是文本,所以打开文件,读取线,寻找你想要替换的文本等。 – fustaki

+0

不,不是那样的。让我用一个例子来解释一下, 我有一个现有的File-1.java,我想在它里面添加一些代码(比如说一个方法)。所以将使用占位符创建File-2.java.ftl。 现在我想将File-2.java.ftl的内容合并到File-1.java中。 类似的代码合并在Android Studio中完成,当我们创建新的活动时,它会添加activity.java,layout.xml并将其值合并到strings.xml和manifest.xml中。 希望澄清! – Swapnil

回答

0

使用合并命令

<merge from="root/src/AndroidManifest.xml.ftl"  
to="${escapeXmlAttribute(manifestOut)}/AndroidManifest.xml" /> 

在根/ src目录/ AndroidManifest.xml.ftl 你只需指定要插入