将包名称与applicationId更改为最终的apk之间有什么区别。
我知道保留源代码的方面有所不同,但是我想说我得到了一些包名为a.b.c.d的应用程序。 构建的apk文件有什么区别
VS
答案 0 :(得分:5)
包名称仅用于整理代码。
另一方面, applicationId 用于在Play商店中识别您的应用。只有在您计划基于相同代码生成另一个应用时,才会更改此项。
来自文档(https://developer.android.com/studio/build/application-id.html):
在Android Studio中创建新项目时,applicationId 与您在安装过程中选择的Java样式包名称完全匹配。 但是,应用程序ID和包名称各自独立 除此之外的其他。您可以更改代码的包名称(您的 代码名称空间)并且它不会影响应用程序ID,反之亦然 反之亦然(但同样,您不应该更改一次应用程序ID 你发布你的应用程序)。但是,更改包名称还有其他方法 您应该注意的后果,请参阅有关的部分 修改包名称。
答案 1 :(得分:0)
应用程序ID主要用于:
更改测试的应用程序ID
更改构建变体的应用程序ID
在这种情况下,每个构建变体应定义为单独的 产品风味。对于productFlavors {}块内的每个flavor, 您可以重新定义applicationId属性,或者您可以改为追加 使用applicationIdSuffix作为默认应用程序ID的段 如下所示:
每个Android应用都有一个看似Java的唯一应用ID 包名称,例如com.example.myapp。此ID唯一标识 您的应用在设备和Google Play商店中。如果你想上传 您的应用的新版本,应用程序ID(以及您的证书) 用它签名)必须与原始APK相同 - 如果你改变了 应用程序ID,Google Play商店将APK视为完全对待 不同的应用。因此,一旦您发布了应用程序,就不应该更改 应用程序ID。
包名是:
虽然您的项目的包名称与应用程序ID匹配 默认情况下,您可以更改它。但是,如果你想改变你的 包名称,请注意包名称(由您的定义 项目目录结构)应始终与package属性匹配 在AndroidManifest.xml文件中,如下所示:
Android构建工具将package属性用于两件事:
1-它将此名称应用为应用程序生成的R.java的命名空间 类。
示例:使用上面的清单,R类将是 com.example.myapp.R。
2-它用它来解析任何相对的类名 在清单文件中声明。
示例:使用上述内容 清单,宣布为已解决的活动 com.example.myapp.MainActivity。
了解更多Source