ApplicationId与PackageName
每个 Android 都有一个包名,如 com.example.myapp。在之前,这是应用在设备上的唯一标示,这意味着如果修改了包名这将是一个全新的应用,跟之前的应用无关。
Android Gradle 构建系统中,您的应用程序的包名由你的manifest文件的根元素里的package属性决定:
Androidmanifest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.my.app"
android:versionCode="1"
这里所定义的包也有第二个目的:它被用来命名你的资源类的包(以及解析任何相关的Activity的类名)。在上面的示例中,生成的 R 类将会是com.example.my.app.R,因此如果您其他包里面的代码需要引用这些资源,就需要导入com.example.my.app.R。
使用新的 Android Gradle 构建系统后,ApplicationId与PackageName是两个概念
- 最终的方案是,在您生成的.apk 的manifest 中,并且用于在你的设备和 Google Play 商店来标识你的应用的包,叫做“application id”。
- 用于在源代码中来引用您的R类的,并且是解析任何相关的Activity/Service 注册的包,继续被称为“package”。
在 gradle 文件中,指定application id,如下所示:
```apply plugin: ‘com.android.application’
android {
compileSdkVersion 19
buildToolsVersion “19.1”