很多人都知道AS中的generate signed APK,但是估计觉得麻烦的也不少,今天恰好看到如何在gradle中配置jks密码等等,便将错误等记录下来,以备以后查看
准备篇
在app.gradle中配置两个地方即可,signingConfigs是添加的部分
signingConfigs{ //签名打包 release { storeFile file("lckiss.jks") storePassword"password" keyAlias "lckiss" keyPassword "password" } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' //配置签名密匙 signingConfig signingConfigs.release } }
这里有一点需要注意,signingConfigs必须写在buildTypes前面 否则报错:
Error:(23, 0) Could not get unknown property 'release' for SigningConfig container of type org.gradle.api.internal.FactoryNamedDomainObjectContainer.
如何编译release版本?AS自带控制台(一般情况下已经自动切换好路径)执行下面语句即可:
./gradlew assembleRelease
如果你有多个Module,那么你可能会遇到另外一个错误:
Execution failed for task ':kotlin:validateSigningRelease'. > Keystore file /Volumes/Materials/Code/Android/HotFix/AndFix/kotlin/lckiss.jks not found for signing config 'release'.
这个是路径问题,jks文件需要与app的gradle文件处于同级目录,比如我的是在AndFix项目中的kotlin Module中,所以需要放在kotlin目录下。
此外,根据是否配置release,assembleRelease会对所有的Module生成release APK,并且路径均一致,区别在于是否真正签名。
当然你也可以在signingConfigs中配置debugConfig,并且可以参考此文章:https://www.jianshu.com/p/76fadcbe211f
本站由以下主机服务商提供服务支持:
0条评论