我希望能够在不重构的情况下更改我们应用程序的包名称。目的是为白标应用程序创建一个构建系统(更改 Logo 和其他次要细节以隐藏我们的品牌并强调客户的品牌)。这是当前的公司逻辑。我知道它没有得到官方支持,但我相信可以通过对构建过程进行小改动或修改来实现。
重构会留下项目中每个文件的修改日志,从而使那些时间变得毫无意义。这是一个可能的解决方案,但我认为这不是最好的。
如果更改包名称并且不重构,一切都可以正常工作,只有 R 类除外。在 Eclipse 上,我复制了 R 文件并将其重命名(当然要保持更新)。在 Android Studio 中,这是不可能的,因为我找不到 R 文件并且不了解他们的构建过程。
我知道大多数 Android 开发者都无法回答这个问题,但是有没有人有 Android Studio 构建过程的经验,请帮忙。
最佳答案
Android Gradle 插件已将“程序包名称”与应用程序的唯一标识符分离。
以前,就像与 Eclipse 和 ADT 插件一起使用的 Ant 构建系统一样,您的应用程序标识符和“包名称”是相同的,由 package
属性定义在你的 list 中。
使用 Gradle 构建系统,除了 list 中的 package
属性外,您还可以在 build.gradle 中定义 applicationId
。大多数情况下,两者是相同的,但并非必须如此。
list 中的 package
属性决定了 R 类的 Java 包。如果您对应用程序的所有版本保持相同,R 类导入将不会改变。
应用程序的不同变体之间会发生变化的是 build.gradle 中的 applicationId
。这是 Play 商店和 Android 设备用来唯一标识您的应用程序的内容。
有关更多信息,请参阅帖子 ApplicationId versus PackageName .
关于android - 在 Android Studio 中不重构的情况下更改 Android 包名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33244305/