https://github.com/bihe0832/Android-GetAPKInfo
https://github.com/fourbrother/AXMLEditor
打渠道包的时候,因为渠道包和标准的包,只有AndroidManifest.xml文件中一些
与渠道相关的参数需要变更,如果能够实现对应编译后生成的AndroidManifest.xml
替换对应的参数值,重新生成压缩包,这样就可以节省漫长的编译过程,大大加快
渠道包生成的过程。
问题:怎么样实现对编译后的AndroidManifest.xml文件进行修改呢?
参考https://github.com/fourbrother/AXMLEditor
开发了修改渠道号的功能,对应的项目地址:
https://github.com/joedan0104/JAXMLEditor.git
原理:
1)解析原AndroidManifest.xml,查找需要对应修改的标签位置。
例如修改渠道号,对应的标签meta-data,标记为UMENG_CHANNEL的属性块中,
目标属性value的值进行替换。
<meta-data
manifest:name="UMENG_CHANNEL"
manifest:value="main"
>
</meta-data>
2)找到以后,删除android:value="main"属性;
<meta-data
manifest:name="UMENG_CHANNEL"
>
</meta-data>
3)重新添加目标属性值android:value="baidu"
<meta-data
manifest:name="UMENG_CHANNEL"
manifest:value="baidu"
>
</meta-data>
这样目标AndroidManifest.xml就生成了。
具体代码实现请参考程序。