有时候我们需要修改AndroidManifest中的内容,但是我们在开发的时候如果去修改,可能会有多个AndroidManifest需要修改,比如说多Module的情况。
因为Android编译过程中会合并所有的AndroidManifest,所以我们在合并AndroidManifest之后再来修改就是最好的时机。
我们可以在项目的build.gradle中监听合并AndroidManifest的task,然后在task完成后对AndroidManifest操作。
下面举个例子,做一个去除AndroidManifest权限的操作:
android {
...
android.applicationVariants.all { variant ->
variant.outputs.all { output ->
output.processManifest.doLast { pm ->
String manifestPath = output.processResources.manifestFile
def manifestContent = file(manifestPath).getText()
// <!--修改wifi-->
manifestContent = manifestContent.replace('<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />', '')
file(manifestPath).write(manifestContent)
}
}
}
}
这里就是文件操作,大家可以自由发挥了。