我正在尝试将项目从Eclipse + Ant迁移到Android Studio + Gradle。它们都针对具有不同跟踪ID,广告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中是否有类似的东西可以让我做同样的事情?

最佳答案

您可以只使用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}")
}

08-17 14:22