在主模块build.gradle添加如下代码即可修改AndroidManifest.xml的MainActivity
原理:利用Groovy XmlSlurper来改写xml文件
import groovy.xml.XmlUtilthis.afterEvaluate {def manifestFile = "${projectDir}/src/main/AndroidManifest.xmldef xml = file(manifestFile)def manifest = new XmlSlurper().parse(manifestFile)def application = manifest.applicationapplication.activity.each {def isFind = falseit.children().each {if(it.name() == "intent-filter"){it.children().each{if(it.name()=="action" &&it.@"android:name"=="android.intent.action.MAIN"){isFind = truereturn true}}}if(isFind){return true}}if (isFind){it.@"android:name" = "New Activity"return true}}xml.withWriter {out->XmlUtil.serialize(manifest, out)}
}
注:
${projectDir} :build.gradle的路径
isFind:标志是否找到MainActivity所在的activity节点
XmlUtil.serialize:保存修改后的xml文件