基于构建类型的应用程序ID

时间:2019-01-25 18:21:55

标签: android android-gradle android-build-type

我需要基于构建类型更改完整的应用程序ID,但不要在ID后添加后缀。我试图将applicationId移到每个构建类型中,但是Gradle默认使用最后一个构建类型中的最后一个。 那可能吗?

3 个答案:

答案 0 :(得分: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 :(得分:0)

要更改applicationId,您需要在清单和所有目录中更改程序包

  
      
  1. 转到Android Studio的左上角,其中显示 Android
  2.   从Android Studio 3.3开始,
  3. 单击它并将其更改为 Project Files 。   
  4. 在“项目文件”旁边,单击齿轮,然后取消选中“紧凑目录”
  5.   
  6. 打开文件夹->单击应用程序-> src->主菜单-> java-> 您的-> 程序包-> 名称 < / li>   
  7. 现在您可以看到单个文件夹,右键单击要更改的部分-> 重构-> 重命名
  8.   

然后,您可以在 AndroidManifest.xml

中更改applicationId和程序包

希望有帮助

来源: Change Application Id Official Android Documentation

答案 2 :(得分:0)

我使用这种简单方法,效果很好

android {

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