在Gradle中替换xmltask

时间:2014-12-10 11:38:02

标签: ant gradle android-studio xmltask

我正在尝试将我的项目从Eclipse + Ant迁移到Android Studio + Gradle。所有这些都有针对不同应用商店的特殊版本,具有不同的跟踪ID,ad id等。在Eclipse上,我有一个ant xmltask,它在各自的xml文件中设置了这个id的值。例如,我有:

<xmltask source="res/values/admob.xml" dest="res/values/admob.xml">
<replace path="//string[@name='bottom_ad_unit_id']/text()" withText="${bottomAdUnitId}"/>
</xmltask>

对于每个商店,我只需要使用正确的id设置bottomAdUnitId并调用运行任务。

Gradle中是否有类似的内容可以让我做同样的事情?

1 个答案:

答案 0 :(得分:5)

您可以使用Gradle's Ant support

ant.taskdef(name: 'xmltask', classpath: 'path/to/xmltask.jar', classname: 'com.oopsconsultancy.xmltask.ant.XmlTask') 

ant.xmltask(source: 'res/values/admob.xml', dest: 'res/values/admob.xml') {
    replace(path: '//string[@name='bottom_ad_unit_id']/text()', withText: "${bottomAdUnitId}")
}
相关问题