Gradle學(xué)習(xí)之設(shè)置applicationId

ID的作用

  • 可以用ID在設(shè)備上和Google Play中對(duì)應(yīng)用進(jìn)行唯一標(biāo)識(shí)。如果上傳新的版本,id必須一樣,否則 Google play會(huì)將APK視為完全不同的應(yīng)用。

具體設(shè)置

  • 在build.gradle中設(shè)置applicationId屬性
android {
    defaultConfig {
        applicationId "com.example.myapp"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
    }
    ...
}

命名規(guī)則

  • 必須只好包含兩端(一個(gè)或者多個(gè)圓點(diǎn))
  • 每段必須以字母開頭
  • 所以有字符必須為數(shù)字或者下滑線【a-z A-Z 0-9】

ID 與軟件包名稱的關(guān)系

  • 當(dāng)在Android studio中新建項(xiàng)目的時(shí)候,applicationId會(huì)和Java軟件包名稱相同,除此之外,兩者之間并沒(méi)有什么關(guān)系。
  • 可以更改代碼的軟件包名稱,不會(huì)影響Id。 但是會(huì)有其他影響 TODO 看官網(wǎng) 修改修改軟件包的影響。
  • 注意:在某些方法中會(huì)使用“軟件包名稱”的術(shù)語(yǔ)。比如Context.getPackageName()但是其實(shí)返回的是應(yīng)用ID。
  • 在更改軟件包名稱的時(shí)候,應(yīng)該始終匹配AndroidManifest.xml文件中的package屬性 這是因?yàn)?/li>
  • 構(gòu)建工具以此為名稱用作應(yīng)用給的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" >

構(gòu)建不同編譯環(huán)境的應(yīng)用ID

-代碼如下所示。通過(guò)appliIdSuffix追加后綴的名字。
-當(dāng)編譯環(huán)境為 freeDebug的時(shí)候 應(yīng)用的Id就是 “com.example.myapp.free.debug”.其他類似

  • 一個(gè)應(yīng)用可以有不同的應(yīng)用ID。 TODO參靠官網(wǎng)的”多APK支持“
android {
    defaultConfig {
        applicationId "com.example.myapp"
    }
    productFlavors {
        free {
            applicationIdSuffix ".free"
        }
        pro {
            applicationIdSuffix ".pro"
        }
    }
buildTypes {
        debug {
            applicationIdSuffix ".debug"
        }
    }
}

測(cè)試對(duì)于ID的影響

  • 默認(rèn)情況下 測(cè)試APK的后悔名字是追加”.test“。 比如這里的測(cè)試名字就是com.example.myapp.free.test。
  • 也可以在defaultConfig 或者productFlavors中使用 testApplicationId來(lái)更改應(yīng)用id。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容