前言
今天在打包aab的时候遇到一些神奇的问题,话不多说,看问题
jarsigner.exefailed with exit code 1
开发环境
- Android Studio:4.2.0
- Gradle插件版本:3.2.1
- Gradle所需版本:4.8.1
直接跑debug包没问题,打APK包也正常,问题来了打aab包就报错:
Cause: jarsigner.exefailed with exit code 1 : ����: �Ҳ��������������� sun.security.tools.jarsigner.Main
「Build output乱码问题后面讲到」,咱一个个解决,先看打包问题
解决方案
- 升级Gradle插件版本:4.2.0
- 升级Gradle所需版本:6.7.1
aab打包正常,问题解决。
查阅官方文档仅要求:「Android Studio 3.2 或更高版本」。还没搞懂,「有知道的大佬辛苦帮忙解答一下。」
Execution failed for task ':app:transformClassesWithDexBuilderForRelease'.
这个问题很直观,可能是gradle问题,咱们尝试解决一下。
开发环境
- Android Studio:4.2.0
- Gradle插件版本:3.2.1
- Gradle所需版本:4.8.1
这次跑debug包都不行
解决方案
- 1、对照Gradle插件版本和Gradle所需版本是否一致
- 2、升级Gradle插件版本和Gradle所需版本
因为这个问题解决所以借鉴解决方案2,解决了Cause: jarsigner.exefailed with exit code 1 的问题
Cause: failed to decrypt safe contents entry: java.io.IOException: getSecretKey failed: Password is not ASCII
jks密码错误,打包时重新输入一下即可。
本文用于记录「aab打包错误」。持续更新中~
This project uses AndroidX dependencies, but the 'android.useAndroidX' property is not enabled. Set this property to true in the gradle.properties file and retry.
在gradle.properties新增:
android.useAndroidX=true android.enableJetifier=true
Build output乱码
运行环境:Android Studio版本4.2.0
方法一
- 1.点击help,选择Edit Custom VM Options,点击Create
- 2.打开后输入 「-Dfile.encoding=UTF-8」(前面不要有空格,否则AS打不开),重启Android Studio(FIle选择 Invalidate cache/restart)即可。
方法二
在方案一 -Dfile.encoding=UTF-8 的基础上增加 -Dconsole.encoding=UTF-8
方法三
找到Android Studio安装目录的bin文件夹下的studio64.exe.vmoptions
添加 -Dfile.encoding=UTF-8 (前面不要有空格,否则AS打不开)
方法四
在app/build.gradle中的android节点下添加如下代码:
android { android { //解决build output输出乱码的问题 compileOptions.encoding = "UTF-8" } }
方法五
上面的方案解决了大部分人的问题,但是我的就是不行,任性,有厉害的大佬麻烦指点一下。谢啦。