Android 系统要求只有签名后的APK文件才可以进行安装 ,一次我们需要对生成的APK文件进行签名. 调试时使用的是默认的签名文件来进行签名的.
1. 使用Android Studio 生成
第一步 : Build-->Gernerate Signed APK
弹出如下窗口(有些可能需要输入系统密码).
生成签名APK.png
第二步 : 如果没有keystore 则点击 create new...
按钮. 如实填写相关信息,然后点击OK返回上一个界面
创建keystore文件.png
第三步 : 选择完keystone,填写完密码后点击下一步.
Paste_Image.png第四步 : 点击 Finish即可,右上角弹出生成结果.点击 show in Explorer
APK生成结果.png
生成的 app-release.apk
就是签名后的文件.
2. 使用Gradle生成
第一步 : 在app/build.gradle
洗添加如下代码
// 和defaultConfig 节点平级
signingConfigs {
config {
storeFile file('keystore 路径')
storePassword '密码'
keyAlias 'Alias名字'
keyPassword 'Alias 密码'
}
}
buildTypes {
release {
...
// 添加的代码.
signingConfig signingConfigs.config
}
}
Paste_Image.png
第二步 : 打开项目右侧的 Gradle面板
, 点击项目-->:app --> build
如下图所示
Paste_Image.png
第三步 : 点击 assembleDebug
或 assembleRelease
生成APK.
Paste_Image.png
生成的APK路径 : /app/build/ouputs/apk
3. 生成多渠道APK文件
第一步 :在2. 的基础上,在app/build.gradle
中添加productFlavors
节点.
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 {
// 配置该渠道下的属性 ,复写 defaultConfig 中的所有属性.
// 这里只修改ApplicationId属性
applicationId "com.coolweather.android.qihoo"
}
baidu {
applicationId "com.coolweather.android.baidu"
}
}
}
Paste_Image.png
第二步 : 在app/src
下创建 baidu/java
和 baidu/res
文件夹.
Paste_Image.png
第三步 : 设置指定的APP名称 , 创建baidu/res/values/strings.xml
文件,添加如下内容
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">百度版</string>
</resources>
第四步 : Gradle --> 项目名 --> :app ---> build
,点击对应的生成APK.
Paste_Image.png
使用Android Studio也行
Paste_Image.png参考 : 第一行代码(第二版) , 感谢郭神
网友评论