1. 生成正式簽名的APK文件
- Android系統(tǒng)要求只有簽名后的APK文件才可以安裝到手機(jī)上柱衔。之所以DEBUG模式下可以直接通過(guò)AS把應(yīng)用安裝到了手機(jī)上,是因?yàn)锳S使用了一個(gè)默認(rèn)的keystore文件幫我們自動(dòng)進(jìn)行了簽名潦牛。
- 默認(rèn)的keystore文件位置:
C:\Users\Administrator\.android\debug.keystore
2. AndroidStudio生成APK
- 步驟如下:
-
進(jìn)入Build-Gnenerate Signed APK吃衅,點(diǎn)擊create new...
-
創(chuàng)建New Key Store
-
輸入Key store password和Key password,然后點(diǎn)擊Next
-
選擇apk解壓目標(biāo)和Signature Versions,最后點(diǎn)擊Finish
-
3. Gradle生成APK
- Gradle時(shí)一個(gè)非常先進(jìn)的項(xiàng)目構(gòu)建工具夺饲,在AndroidStudio中開(kāi)發(fā)的所有項(xiàng)目都是使用它來(lái)構(gòu)建的。
- Gradle有很多便利之處县钥,比如當(dāng)需要添加依賴庫(kù)的時(shí)候不需要自己再去手動(dòng)下載了秀姐,而時(shí)直接在dependencies閉包中添加一句引用聲明就可以了。
- 當(dāng)你需要生成APK的時(shí)候若贮,不用重復(fù)配置打包信息省有,只需一鍵即可去生成APK,包括多渠道打包谴麦。
- 步驟如下:
- 編輯 app/build.gradle文件蠢沿,在android閉包中添加如下內(nèi)容:
signingConfigs {
config {
storeFile file('C:/Users/FuKaiqiang/Desktop/Gradle/testSqlite.jks') //文件位置
storePassword '123456' //指定密碼
keyAlias 'FukqSqlite' //指定別名
keyPassword '123456' //指定別名密碼
}
}
- 繼續(xù)編輯app/build.gradle文件,在buildTypes的release閉包中添加如下內(nèi)容:
signingConfig signingConfigs.config
- 點(diǎn)擊右側(cè)工具欄的Gradle--項(xiàng)目名--:app--Tasks--build:
a. assembleDebug用于生成測(cè)試版的APK文件匾效,assembleRelease用于生成正式版的APK文件舷蟀,assemble用于生成測(cè)試版和正式版的APK文件。
b. 生成APK之前面哼,先clean這個(gè)Task野宜,然后雙擊assembleRelease。
c. APK文件會(huì)自動(dòng)生成在app/build/outputs/apk目錄下魔策。
- 注意事項(xiàng):目前keystore文件的所有信息都是以明文的形式直接配置在build.gradle中的匈子,太不安全。推薦將這類敏感數(shù)據(jù)配置在一個(gè)獨(dú)立的文件里面闯袒,然后再在build.gradle中去讀取這些數(shù)據(jù)虎敦。
- AndroidStudio項(xiàng)目的根目錄下有一個(gè)gradle.properties文件游岳,專門(mén)用來(lái)配置全局鍵值對(duì)數(shù)據(jù),所以在gradle.properties文件中添加如下內(nèi)容:
KEY_PATH = C:/Users/FuKaiqiang/Desktop/Gradle/testSqlite.jks
KEY_PASS =123456
ALIAS_NAME=FukqSqlite
ALIAS_PASS=123456
- 在build.gradle中去讀取這些數(shù)據(jù)其徙,編輯app/build.gradle文件:
signingConfigs {
config {
storeFile file(KEY_PATH)
storePassword KEY_PASS
keyAlias ALIAS_NAME
keyPassword ALIAS_PASS
}
}
- 為了避免gradle.properties文件數(shù)據(jù)泄漏胚迫,建議gradle.properties文件從git/svn中排除!