我正在构建一个 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/