我正在构建一个gradle插件,为每个应用程序变体添加一个新任务。此新任务需要应用程序变体的程序包名称。

这是我当前的代码,该代码停止使用最新版本的android gradle插件:

private String getPackageName(ApplicationVariant variant) {
    // TODO: There's probably a better way to get the package name of the variant being tested.
    String packageName = variant.generateBuildConfig.packageName

    if (variant.processManifest.packageNameOverride != null) {
        packageName = variant.processManifest.packageNameOverride
    }
    packageName
}

由于更改了构建配置处理,因此已停止在最新版本的android插件中工作。无论如何,这似乎是一个hack,所以我并不奇怪它停止工作了。有没有一种规范的方法来获取软件包名称?

最佳答案

我用这个:

// Return the packageName for the given buildVariant
def getPackageName(variant) {
    def suffix = variant.buildType.packageNameSuffix
    def packageName = variant.productFlavors.get(0).packageName
    if (suffix != null && !suffix.isEmpty() && suffix != "null") {
        packageName += suffix
    }
    return packageName
}

关于android - 在gradle插件中获取应用程序变体的软件包名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20973259/

10-10 10:06