ID的作用
- 可以用ID在設備上和Google Play中對應用進行唯一標識。如果上傳新的版本离钝,id必須一樣,否則 Google play會將APK視為完全不同的應用。
具體設置
- 在build.gradle中設置applicationId屬性
android {
defaultConfig {
applicationId "com.example.myapp"
minSdkVersion 15
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
...
}
命名規(guī)則
- 必須只好包含兩端(一個或者多個圓點)
- 每段必須以字母開頭
- 所以有字符必須為數(shù)字或者下滑線【a-z A-Z 0-9】
ID 與軟件包名稱的關系
- 當在Android studio中新建項目的時候玫锋,applicationId會和Java軟件包名稱相同,除此之外讼呢,兩者之間并沒有什么關系撩鹿。
- 可以更改代碼的軟件包名稱,不會影響Id悦屏。 但是會有其他影響 TODO 看官網(wǎng) 修改修改軟件包的影響节沦。
- 注意:在某些方法中會使用“軟件包名稱”的術語。比如Context.getPackageName()但是其實返回的是應用ID础爬。
- 在更改軟件包名稱的時候甫贯,應該始終匹配AndroidManifest.xml文件中的package屬性 這是因為
- 構建工具以此為名稱用作應用給的R.java的命名空間。
- 使用此名稱解析清單文件中聲明的任何類的名稱看蚜。比如activity的類叫搁。
: 代碼如下
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp"
android:versionCode="1"
android:versionName="1.0" >
構建不同編譯環(huán)境的應用ID
-代碼如下所示。通過appliIdSuffix追加后綴的名字供炎。
-當編譯環(huán)境為 freeDebug的時候 應用的Id就是 “com.example.myapp.free.debug”.其他類似
- 一個應用可以有不同的應用ID渴逻。 TODO參靠官網(wǎng)的”多APK支持“
android {
defaultConfig {
applicationId "com.example.myapp"
}
productFlavors {
free {
applicationIdSuffix ".free"
}
pro {
applicationIdSuffix ".pro"
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
}
}
}
測試對于ID的影響
- 默認情況下 測試APK的后悔名字是追加”.test“。 比如這里的測試名字就是
com.example.myapp.free.test
音诫。 - 也可以在
defaultConfig
或者productFlavors
中使用testApplicationId
來更改應用id惨奕。