首页 > 解决方案 > 清单文件中的包名称和 Gradle 中的应用程序 ID 有什么区别

问题描述

包名与 applicationId 有什么区别。

我想知道它们之间的区别,同时在这段代码中都有不同的使用方式。要获取包名称,您需要上下文和类似这样的方式

context.getPackageName();

并且为了 applicationId 不需要上下文或活动,

BuildConfig.applicationId

我在 Play 商店链接中观察到 applicationid 现在是您的链接 id,而不是包名称。

这个问题与以下链接中的帖子相同,但答案并不让我满意。 更改包名称与 applicationId 有什么区别

标签: androidbuild.gradleandroid-manifest

解决方案


这里是解释

包名称被定义为清单的一部分,代表任何给定应用在单个设备和 Google Play 商店(或任何其他应用商店)上的身份。因此,您的包名必须是唯一的。

然而,有时能够生成具有不同身份的单独 APK 是有用的(例如,用于调试和发布版本的不同 ID,以便它们可以在 Fabric Beta 中作为不同的实体发布)。为了促进这一点,我们可以在 build.gradle 中控制 applicationId,这使我们能够拥有不同的包名称。我们可以在一个简单的项目中看到这一点。

答案来源:https ://blog.stylingandroid.com/package-name-vs-application-id/

另一个参考来源:https ://blog.mindorks.com/android-package-name-vs-application-id-ad95b08815a6

希望能帮助到你!


推荐阅读