ApplicationId 与 PackageName

来源:互联网 发布:台湾高铁网络订票系统 编辑:程序博客网 时间:2024/05/16 02:22

android studio中 applicationid和package的区别


在新的 Android Gradle 构建系统中,你可以轻松地构建多个不同版本的应用。例如,你可以同时构建免费版和专业版的应用(使用 flavor),并且它们在 Google Play 上也应该要有不同的包名,这样它们就能够在同一设备上安装并且能够单独购买使用等等。同样的,你也可以构建 “debug”、“alpha”、“beta” 版的应用(使用 build type),它们也同样可以有唯一的包名。

同时,代码中引用的 R 类要保持不变;在构建不同版本的应用时,对应的(引用了 R 的) .java 源文件也不能改动。

因此,我们将包名的两种作用解耦

  • application id” 对应 apk 中 manifest 定义的应用包名,同时用于设备以及 Google Play 的应用唯一标识
  • “package” 用于在源码中引用 R 类以及解析注册相关的 activity/service,对应 Java 的包名概念。

你能够完全自由地重构你的代码,改变用于 Activity 和 Service 的内部包,改变 Manifest 的 package,重构导入语句。这都不会影响到 app 的最终 id,app 的 id 对应 Gradle 文件中 applicationId 的值。

这里说的很清楚了androidstudio中确认唯一app的是applicationid ,而在eclipse中确认唯一app的是包名


附上两张我测试的图片:



但是删除androidmanifest中的包名会报错:





参考链接 : https://chaosleong.gitbooks.io/gradle-for-android/content/appendix/applicationid_versus_packagename.html


0 0