【问题标题】:Two Android modules with the same applicationId and package name in project项目中两个具有相同applicationId和包名的Android模块
【发布时间】:2017-11-08 17:37:17
【问题描述】:

我在 Google Play 上有应用。我对 android 电视盒使用了相同的项目。因此,我必须在签署 apk 和发布之前更改清单和 gradle。我决定在 app.js 中创建不同的模块。我有核心库和两个模块。 1.手机应用模块 2.电视盒模块

但是现在我遇到了包名的问题。我需要在两个 apk 中使用相同的应用程序 ID。有什么解决办法吗? Android Studio 不允许我使用相同的模块名称。当我在 gradle 中更改 applicationId 时。我有

Error:The generated mypackagename.R class cannot be found

我需要相同的 applicationId,因为在 Android Boxes 中我有自定义固件,默认情况下会启动我的应用程序,我也无法在 Play 商店中更改 applicationId。

【问题讨论】:

  • 解决方案是使用不同的模块名称,但相同的应用程序ID。
  • 解决方案是使用风味功能创建两个具有相同包名的应用程序。
  • @NorthernPoet 我有不同的模块。但正如我提到的,我得到了错误:找不到生成的 mypackagename.R 类

标签: android gradle manifest sign


【解决方案1】:

我自己找到了这个案例的解决方案

删除了 gradle 文件中的 applicationId 重命名文件夹中的包。所以我的模块有相同的包 更改清单中的包名称

所以现在我有两个使用核心库的模块。 两个模块在 manifest 中有相同的包和相同的包名

【讨论】:

  • 您的应用没有BuildConfig 冲突吗?如果你使用的是kotlin,我建议你使用import aliasing,例如:import yourpackage.a as A & import yourpackage.b as B,所以使用不同的包名是安全的,以避免与相同的包名冲突
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-20
相关资源
最近更新 更多