很多第三方的sdk jar 包配置,都需要在正式版里才能使用,例如微信的支付和微信的登录,在我们申请这些第三方的sdk时,往往需要在相应的后台配置debug版和release版的签名。这样才能保证手机调试的时候正常使用。
但是,如果这就带来了麻烦,比如我想测试微信登录和微信支付,那么很不巧,debug环境下,可能都换不起微信,那么就需要点击Build选择generate signed apk 对你的应用进行签名,打包,这样才能正常用微信支付微信登录。
But,来回打包,太费事了,太费时间了,再说也没办法调试呀。
这个时候你就需要配置Gradle自动打包了。我也是一直这样使用的,很方便,配置完成后,正常手机运行就好了,应用使用的是正式版签名,既快又省事,还能断点调试。之所以今天写出来,是因为碰到了一个小插曲,本身驾轻就熟的东西,耽搁了点时间,所以想着总结下,或许有人也碰到了呢。
- 配置:在主moudle下的build.gradle下,在android 的闭包里写:
android {
signingConfigs {
release {
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
storeFile file(RELEASE_STORE_FILE)
storePassword RELEASE_STORE_PASSWORD
}
config {
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
storeFile file(RELEASE_STORE_FILE)
storePassword RELEASE_STORE_PASSWORD
}
}
}
release 下是正式版的签名配置,config是debug下的配置,这里为了方便调试,建议二者的数值一样。
- 在主工程下的gradle.properties填写
RELEASE_KEY_PASSWORD=这里写你的程序签名
RELEASE_KEY_ALIAS=这里是你的程序签名别名
RELEASE_STORE_PASSWORD=这里写你的程序签名
RELEASE_STORE_FILE=D\:/Android/AndroidProject/abcdfe/signed.jks
ok,编译完成后就可以正常使用了。
这不是没问题吗,对吧哈哈。
我今天遇到是啥吧,也是这样正常配置,但是控制台一直报错;
啥?
咋还乱码了呢,意思是说,在这个指定的路径下的签名文件里,没有找到和这个别名。
仔细检查下确认是没错的,clean项目也不行的。于是使用as的打包程序,
image.png
是可以正常的,那就奇怪了,怎么在配置里就不行呢?
原来,配置里是不能是被中文的,之所以乱码就是因为没有正常解析,所以找不到,那既然识别不了,我来帮你行不行呢,在线ASCII转换,填上去,可以运行了,但是依旧起不到正式版签名作用。
所以呢,要想避免这样的问题,尽量不要使用中文字符作为别名。
就酱吧。
网友评论