资源类插件(如web.about)打包时,我们需要对其构造一个二进制的AndroidManifest.xml文件,从而使得
packageManager.getPackageArchiveInfo可以取得PackageInfo,
进而得到插件的versionCode[1]与signatures[2]等信息。
其中[1]用于插件升级,[2]用于插件签名校验。
现在的处理方法:
-
i) 构造文本文件AndroidManifest.xml
-
ii) 使用aapt -M打包,生成一个压缩包
-
iii) 解压该压缩包,得到二进制AndroidManifest.xml
要做的就是一步到位,直接生成二进制文件。
要修改的代码:
buildSrc/src/main/groovy/net/wequick/gradle/aapt/AXmlEditor.groovy
def createAndroidManefist(Map options) {
// Do stuff.
}
buildSrc/src/main/groovy/net/wequick/gradle/aapt/Aapt.groovy
void manifest(Map options) {
// TODO: generate hex file without aapt
File file = new File(mAssetDir, 'AndroidManifest.xml')
AXmlEditor editor = new AXmlEditor(file)
editor.createAndroidManifest(options)
}
资源类插件(如web.about)打包时,我们需要对其构造一个二进制的
AndroidManifest.xml文件,从而使得packageManager.getPackageArchiveInfo可以取得PackageInfo,进而得到插件的
versionCode[1]与signatures[2]等信息。其中[1]用于插件升级,[2]用于插件签名校验。
现在的处理方法:
i) 构造文本文件
AndroidManifest.xmlii) 使用
aapt -M打包,生成一个压缩包iii) 解压该压缩包,得到二进制
AndroidManifest.xml要做的就是一步到位,直接生成二进制文件。
要修改的代码:
buildSrc/src/main/groovy/net/wequick/gradle/aapt/AXmlEditor.groovy
buildSrc/src/main/groovy/net/wequick/gradle/aapt/Aapt.groovy