我希望能够在不进行重构的情况下更改应用程序的包名称。目的是为白色标签应用程序创建一个构建系统(更改徽标和其他次要细节以隐藏我们的品牌并强调客户端)。这是当前公司的逻辑。我知道它没有得到官方的支持,但我相信它可以通过小的黑客攻击或修改构建过程来实现。
重构会留下项目中每个文件的修改日志,从而使这些时间变得毫无意义。这是一个可能的解决方案,但我认为不是最好的。
如果更改包名称并且不重构,一切正常,除了R类。在Eclipse上,我复制了R文件并将其重命名(当然保持更新)。在Android Studio中,这是不可能的,因为我找不到R文件,也不了解它们的构建过程。
我知道这个问题不会被大多数Android开发者负责,但是有人有Android Studio构建过程的经验,请帮忙。
答案 0 :(得分:2)
Android Gradle插件将"包名称与#34;分开。来自您的应用程序的唯一标识符。
以前,与使用Eclipse和ADT插件的Ant构建系统的情况一样,您的应用程序标识符和"包名称"是清单中的package
属性所定义的同一个。
使用Gradle构建系统,除了清单中的applicationId
属性外,还可以在build.gradle中定义package
。大多数情况下,两者是相同的,但并非必须如此。
清单中的package
属性决定了R类的Java包。如果对应用程序的所有版本保持相同,则R类导入不会更改。
应用程序的不同变体之间的更改是build.gradle中的applicationId
。这就是Play商店和Android设备用于唯一标识您的应用程序的内容。
有关详细信息,请参阅帖子ApplicationId versus PackageName。