2017-02-23 5 views
1

Ich möchte eine vorhandene Datei mit FreeMarker ändern. Für Ex,FreeMarker vorhandene Datei ändern

<?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> 

In obiger Code mag ich den $ (package_name) und $ (Aktivitäten) aktualisieren.

Ich benutze org.freemarker: freemarker: 2.3.23, Müssen diese Datei Änderung mit Java-Programm zu tun.

Ich weiß, wie Sie neue Datei mit freien Maker erstellen, aber nicht vorhandene Datei mit Java-Programm ändern können.

Bitte schlagen Sie eine Lösung vor.

+0

einfügen wollen Sie nicht verstehen .. Möchten Sie die '.ftl' Vorlagendatei mit einem Java-Programm aktualisieren? Es ist Text, also Datei öffnen, Zeilen lesen, nach dem Text suchen, den Sie ersetzen möchten, usw. – fustaki

+0

Nein, nicht so. Lassen Sie mich mit einem Beispiel erklären, Ich habe eine Datei1.java und ich möchte etwas Code hinzufügen (sagen wir eine Methode). So wird File-2.java.ftl mit dem Platzhalter erstellt. Jetzt möchte ich den Inhalt von File-2.java.ftl in File1.java zusammenführen. Ähnliches Code Merging wird in Android Studio durchgeführt, wenn wir neue Aktivität erstellen fügt es die activity.java, layout.xml und füge seine Werte in strings.xml und manifest.xml zusammen. Hoffe das klärt sich! – Swapnil

Antwort

0

Verwenden Merge-Befehl in der recipe.xml

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

In root/src/AndroidManifest.xml.ftl Sie geben nur die Elemente, die Sie

Verwandte Themen