1.配置打包签名:
可以通过android studio 选择 project structrue 选择 app 的 Signing标签进行配置,生成好的格式大致是这个样子
signingConfigs {
release {
keyAlias 'XXX'
keyPassword 'XXX'
storeFile file('key/release.keystore')
storePassword 'XXX'
}
}
但是为了更加安全,我们可以在project下创建一个keystore.properties的文件并写入
storeFile = D:\XXX\XXX\app\key\release.keystore
store_pwd = XXX
alias = XXX
alias_pwd = XXX
然后回到之前的build.gradle 文件下
在android{}之前添加新的代码
def keyStore = rootProject.file("keystore.properties")
def keyProps = new Properties()
keyProps.load(new FileInputStream(keyStore))
然后将最开始的配置替换为
signingConfigs {
release {
keyAlias keyProps['(相应的变量)']
keyPassword keyProps['(相应的变量)']
storeFile keyProps['(相应的变量)']
storePassword keyProps['(相应的变量)']
}
}
在
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
中添加一行
signingConfig signingConfigs.release
最后如果你要做开源的话,别忘了在.gitignore 里添加忽略 /keystore.properites避免上传
2.关于多渠道打包
我们可以通过配置 app 下 build.gradle 中
productFlavors{ //添加你需要的渠道 google {} tencent {} qihu360 {} }
然后我们还可以定制生成apk文件名
applicationVariants.all{ variant ->
variant.outputs.each{ outputs ->
def oldFile = output.outputFile
if (variant.buildType.name == 'release'){
def releaseApkName = 'XXX' + variant.productFlavors[0].name+defaultConfig.versionName + '_release.apk'
output.outputFile = new File(oldFile.parent, releaseApkName)
}
}
}
当然现在还有友盟统计的,稍后再添加相关内容