根据构建类型确定应用程序 ID

3

我需要根据构建类型而不是在 ID 后添加后缀来更改完整的应用程序 ID。我已尝试将 applicationId 放入每个构建类型中,但 Gradle 默认使用最后一个构建类型中的最后一个 ID。

这是否可能实现?

3个回答

1
您可以使用gradle过滤器来忽略一些构建/风格目标。
请查看以下代码:
variantFilter { variant ->
   def flavor = variant.flavors*.name
   def buildType = variant.buildType*.name

   // To check for a certain build type, use variant.buildType.name == "<buildType>"
   if ((flavor.contains("xyz") && buildType.contains("debug"))) {
       // Gradle ignores any variants that satisfy the conditions above.
       setIgnore(true)
   }
}

1

我使用这种简单的方法,它运行良好。

android {

    ...
    
    applicationVariants.all { variant ->
        if (variant.name.contains("debug")) {
            variant.mergedFlavor.applicationId = "application.id.debug"
        } else {
            variant.mergedFlavor.applicationId = "application.id.release"
        }
    }
}

它给我报错说“Val 无法重新赋值”! - Maulik Dodia

0

为了更改应用程序ID,您需要在清单文件和所有目录中更改

  1. 转到Android Studio左上角,其中显示Android
  2. 单击它并将其更改为项目文件(自Android Studio 3.3起)
  3. 在Project Files旁边的右侧单击齿轮并取消选中“紧凑目录”
  4. 打开文件夹 -> 单击应用程序 -> src -> main -> java -> 您的 -> 包名 -> 名称
  5. 现在您可以看到各个文件夹,右键单击要更改的部分 -> 重构 -> 重命名

然后您可以在AndroidManifest.xml中更改应用程序ID和包名

希望这有所帮助

来源: 更改应用程序ID官方Android文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接