Skip to content

[优化] 加速生成AndroidManifest.xml #12

@galenlin

Description

@galenlin

资源类插件(如web.about)打包时,我们需要对其构造一个二进制的AndroidManifest.xml文件,从而使得
packageManager.getPackageArchiveInfo可以取得PackageInfo
进而得到插件的versionCode[1]signatures[2]等信息。
其中[1]用于插件升级,[2]用于插件签名校验。

现在的处理方法:

  1. i) 构造文本文件AndroidManifest.xml

  2. ii) 使用aapt -M打包,生成一个压缩包

  3. 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)
    }

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions