Android清单中版本名称为

时间:2018-08-21 13:51:27

标签: android gradle android-manifest

我们有一个android库项目,该项目将由自动化系统构建以创建aar文件。 系统还会在aar文件中创建的最终清单中引入版本名称和代码。
现在,我想在清单中使用此版本名称/代码作为元数据,以便当应用程序使用此库时,它也包含此元数据。
这是我尝试过的:

build.gradle内容:

defaultConfig {
        minSdkVersion 17
        targetSdkVersion sdkVersion
        def lib_version = myMethod()
        manifestPlaceholders = [my_library_version:lib_version]
    }

def myMethod() {
    android.buildTypes {
        buildTypes.each {
            android.libraryVariants.all { variant ->
                variant.outputs.each { output ->
                    def lib_version = output.processManifest.versionName
                    println "ho ho ho " + lib_version + " " + variant.name
                    return lib_version
                }
            }
        }
    }
}

AndroidManifest.xml内容:

  <application >
    <meta-data android:name="lib_version" android:value="${lib_version}" tools:replace="android:value"/>
  </application>

并收到此错误:

:processBuildTypesManifest

FAILURE: Build failed with an exception.

* What went wrong:
java.lang.NullPointerException (no error message)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 12.778 secs

                        BUILD FAILED                        

有人可以指出我做错了什么吗? TIA

0 个答案:

没有答案