在老版本的Eclipse中做android开发程序的包名是一样的。而在android studio中做android开发则会有两个类别,一个是 PackageName,是我们项目中指定资源的包名。一个是ApplicationId 是用作发布的时候和引用第三方项目作为识别的包名。之前的项目我一直是默认的一样的。前段时间做高德地图开发的时候总是提示我,INVILD_USER_SCODE错误,后来无意间看到这个问题。原来我的ApplicationId 和PackageName是不一致的。所以就做了更改。这里告诉大家高德地图在做key验证的时候填写的包名应该是ApplicationId ,而不是packageName。下面是对此的详细介绍。
所有的 Android 应用程序都有一个包名。包名是设备上的这个应用程序的唯一标识,也是在谷歌Play商店上的唯一标识。这意味着,一旦你已发布的程序使用了这个包名, 你就永远都无法改变它;如果修改了就会导致你的应用程序被当作是一个全新的应用程序,你之前的应用程序的用户也不能更新到使用了新的包名的安装包。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.my.app"
android:versionCode="1"
android:versionName="1.0" >
com.example.my.app.R
,因此如果您其他包里面的代码需要引用这些资源,就需要导入
com.example.my.app.R
。
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion "19.1"
defaultConfig {
applicationId "com.example.my.app"
minSdkVersion 15
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
...
productFlavors {
pro {
applicationId = "com.example.my.pkg.pro"
}
free {
applicationId = "
com.example.my.pkg
.free"
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
}
}
....