1、清单文件配置的包名:是代码中每个java文件上方的显示的包名
2、applicationId:表示的是应用的唯一ID标识,保证了应用的唯一性(其实就是相当于一个手机安装过含有这个ID的APP后就不能重复安装了),但是一般情况下是和清单文件中写的包名的值是一样的
3、applicationIdSuffix:修改应用唯一ID标识。其实就是在applicationId加上后缀进行区分。只有这样把应用的唯一标识改了,就可以在手机中同时安装同一一个应用的上线版本和测试版本两个app了,否则不允许安装
4、测试例子,在APP的gradle中修改
例子一:手机安装一个APP,只是BaseUrl不同,一个是发布app,一个是测试app.未修改applicationId。通过代码:this.getPackageName()得到的包名没有改变
build.gradle
android {
defaultConfig {
applicationId "com.test.sample"
}
buildTypes {
release {
//id 根据你自己的需要设置是否可以同时在一个手机上运行多个自己的app。
buildConfigField "String", "API_HOST", "发布时的baseUrl"
....
}
dev{
//测试包,设置识别码(个人理解)
buildConfigField "String", "API_HOST", "测试时的baseUrl"
...
}
}
productFlavors{
flavors_release{
resValue("string", "strKey","releaseStrValue")
}
flavors_dev{
resValue("string", "strKey","devStrValue")
}
}
}
dependencies {
}
例子二:手机可同时安装两个APP,一个是发布app,一个是测试app,修改了applicationId。通过代码:this.getPackageName()得到的包名发生了改变。
修改applicationId两种方法:
方法1:
productFlavors{
flavors_release{
applicationId "com.test.sampleRelease"
}
flavors_dev{
applicationId "com.test.sampleDev"
}
方法2:
productFlavors{
flavors_release{
applicationIdSuffix ".release"
}
flavors_dev{
applicationIdSuffix ".dev"
}
build.gradle
android {
defaultConfig {
applicationId "com.test.sample"
}
buildTypes {
release {
//id 根据你自己的需要设置是否可以同时在一个手机上运行多个自己的app。
....
}
dev{
//测试包,设置识别码(个人理解)
...
}
}
productFlavors{
flavors_release{
applicationId "com.test.sampleRelease"
}
flavors_dev{
applicationId "com..test.sampleDev"
}
}
}
dependencies {
}