Android 系統(tǒng)要求只有簽名后的APK文件才可以進行安裝 ,一次我們需要對生成的APK文件進行簽名. 調(diào)試時使用的是默認的簽名文件來進行簽名的.
1. 使用Android Studio 生成
第一步 : Build-->Gernerate Signed APK 彈出如下窗口(有些可能需要輸入系統(tǒng)密碼).

生成簽名APK.png
第二步 : 如果沒有keystore 則點擊 create new... 按鈕. 如實填寫相關(guān)信息,然后點擊OK返回上一個界面

創(chuàng)建keystore文件.png
第三步 : 選擇完keystone,填寫完密碼后點擊下一步.

Paste_Image.png
第四步 : 點擊 Finish即可,右上角彈出生成結(jié)果.點擊 show in Explorer

APK生成結(jié)果.png
生成的 app-release.apk 就是簽名后的文件.

Paste_Image.png
2. 使用Gradle生成
第一步 : 在app/build.gradle 洗添加如下代碼
// 和defaultConfig 節(jié)點平級
signingConfigs {
config {
storeFile file('keystore 路徑')
storePassword '密碼'
keyAlias 'Alias名字'
keyPassword 'Alias 密碼'
}
}
buildTypes {
release {
...
// 添加的代碼.
signingConfig signingConfigs.config
}
}

Paste_Image.png
第二步 : 打開項目右側(cè)的 Gradle面板, 點擊項目-->:app --> build 如下圖所示

Paste_Image.png
第三步 : 點擊 assembleDebug 或 assembleRelease生成APK.

Paste_Image.png
生成的APK路徑 : /app/build/ouputs/apk

簽名APK路徑.png
3. 生成多渠道APK文件
第一步 :在2. 的基礎(chǔ)上,在app/build.gradle 中添加productFlavors節(jié)點.
android {
...
defaultConfig {
...
}
// Gradle 簽名APK
signingConfigs {
config {
storeFile file(KEY_PATH)
storePassword KEY_PASS
keyAlias ALIAS_NAME
keyPassword ALIAS_PASS
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
}
// 多渠道打包APK
productFlavors {
qihoo {
// 配置該渠道下的屬性 ,復(fù)寫 defaultConfig 中的所有屬性.
// 這里只修改ApplicationId屬性
applicationId "com.coolweather.android.qihoo"
}
baidu {
applicationId "com.coolweather.android.baidu"
}
}
}

Paste_Image.png
第二步 : 在app/src 下創(chuàng)建 baidu/java 和 baidu/res文件夾.

Paste_Image.png
第三步 : 設(shè)置指定的APP名稱 , 創(chuàng)建baidu/res/values/strings.xml 文件,添加如下內(nèi)容
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">百度版</string>
</resources>
第四步 : Gradle --> 項目名 --> :app ---> build,點擊對應(yīng)的生成APK.

Paste_Image.png
使用Android Studio也行

Paste_Image.png
參考 : 第一行代碼(第二版) , 感謝郭神