签名打包不成功无法生成apk
错误日志
AAPT2 error: check logs for details
java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details
解决方法
- gradle.properties文件夹下注明
android.enableAapt2=false
在Android studio3.0之前的环境下似乎是可以解决的,但在Android studio3.0以后不允许这样做了。
- 查看drawable文件夹下图片文件
注意一些损坏的png图片或者jpg图片或.9的图片,删掉重新打包一般就能成功。
安卓手机cpu架构不同导致运行apk失败
具体表现是同一个apk包运行到不同的设备上,一些设备可以成功运行,功能也正常,另一些设备运行成功但功能异常,错误日志如下
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar"
猜测意思无法加载到so里面的方法,或找不到对应的so库等等。
解决方法
网上有解决是在build.gradle文件夹下添加动态链库的过滤说明
buildTypes{
ndk{
abiFilters "armeabi-v7a"
}
}
意思是只保留一个armeabi-v7a文件夹下的so库,但我调试运行了一下,发现无效,我猜想这个方法只对正式签名版才生效,后来保证armeabi-v7a下有我需要的所有功能的库情况下,我删掉了其他文件夹下的动态链库,最后成功运行调试。对于不同cpu架构对应的文件夹不是很了解,不多介绍。
网友评论