Skip to content

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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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