以下都在app module的build.gradle中操作
1. 设置打包的apk名字
android { defaultConfig { ... versionCode 2 versionName "1.1" // 设置打包的apk名字 setProperty("archivesBaseName", "companyName-appName-$versionName") ... } }
2. 设置打包的签名文件
1) 创建签名文件,存放于app module的目录下 (比如命名为keystore.jks)
2) 在项目根目录创建keystore.properties文件,用于填写keystore的相关验证信息
storePassword=123456
keyPassword=abcdef
keyAlias=aliasName
storeFile=keystore.jks
3) 在app build.gradle中添加签名配置
def keystorePropertiesFile = rootProject.file("keystore.properties");
def keystoreProperties = new Properties()
android {
...
signingConfigs {
config {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
/*
v1和v2的签名使用
只勾选v1签名并不会影响什么,但是在7.0上不会使用更安全的验证方式
只勾选V2签名7.0以下会直接安装完显示未安装,7.0以上则使用了V2的方式验证
同时勾选V1和V2则所有机型都没问题
*/
v1SigningEnabled true
v2SigningEnabled true
}
}
...
}
4) 在app build.gradle中设置打包时候使用的签名配置
android {
...
buildTypes {
release {
...
signingConfig signingConfigs.config
}
}
...
}
3. 在项目根目录或者app目录执行打包命令
gradle assembleRelease
生成的apk在 app/build/outputs/apk 目录下,名称类似 companyName-appName-1.1-release.apk