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