1.打包时出错
Error:Execution failed for task ':main:transformClassesAndResourcesWithProguardForRelease'.
> Job failed, see logs for details
Error:Execution failed for task ':main:transformClassesWithJarMergingForDebug'.
解决办法:
该bug是由于资源重复造成的,在AS中双击shift键先查找gson.class的类在几个依赖包中存在,然后直接删除其中的一个低版本的依赖包
在项目中找到External Libraries里面的对应的低版本依赖包pom.xml 找到gson的groupId后,我们就要把它去掉就可以了,现在就来把它去掉,
步骤如下:
打开项目的build.gradle,把原来的compile ‘com.squareup.retrofit2:converter-gson:2.1.0’ 改成这样:
compile ('com.squareup.retrofit2:converter-gson:2.1.0'){
exclude group : 'com.google.code.gson'
}
参照百度的官方demo在libs添加了arm64-v8a 包后就正常了
// AS打包出现app:transformClassesAndResourcesWithProguardForRelease错误
buildTypes {
release {
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
//主要是添加了这个兼容ndk程序才不会崩
ndk {
abiFilters "x86","armeabi"
}
}
}
lintOptions {
checkReleaseBuilds false
abortOnError false
Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
原因:
activity继承了context重载了startActivity方法,如果使用acitvity中的startActivity,不会有任何限制。
而如果直接使用context的startActivity则会报上面的错误,根据错误提示信息,可以得知,如果要使用这种方式需要打开新的TASK。
故, 解决方法:
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
添加了一张.9图片后就一直报错,删除了就没事了。说明是点九图片的问题
5.NoClassDefFoundError: Class not found using the boot class loader; no stack available
Error:Execution failed for task ':main:transformClassesAndResourcesWithProguardForRelease'.
> Job failed, see logs for details
Error:Execution failed for task ':main:transformClassesWithJarMergingForDebug'.
> com.android.---.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/gson/Gson$5.class
该bug是由于资源重复造成的,在AS中双击shift键先查找gson.class的类在几个依赖包中存在,然后直接删除其中的一个低版本的依赖包
在项目中找到External Libraries里面的对应的低版本依赖包pom.xml 找到gson的groupId后,我们就要把它去掉就可以了,现在就来把它去掉,
步骤如下:
打开项目的build.gradle,把原来的compile ‘com.squareup.retrofit2:converter-gson:2.1.0’ 改成这样:
compile ('com.squareup.retrofit2:converter-gson:2.1.0'){
exclude group : 'com.google.code.gson'
}
其中com.google.code.gson就是gson的groupId。
2.签名包打完后出现点击进入百度地图就崩溃的问题
解决办法:
libBaiduMapSDK_base_v4_1_1.so" is 32-bit instead of 64-bit参照百度的官方demo在libs添加了arm64-v8a 包后就正常了
// AS打包出现app:transformClassesAndResourcesWithProguardForRelease错误
buildTypes {
release {
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
//主要是添加了这个兼容ndk程序才不会崩
ndk {
abiFilters "x86","armeabi"
}
}
}
lintOptions {
checkReleaseBuilds false
abortOnError false
}
Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
原因:
activity继承了context重载了startActivity方法,如果使用acitvity中的startActivity,不会有任何限制。
而如果直接使用context的startActivity则会报上面的错误,根据错误提示信息,可以得知,如果要使用这种方式需要打开新的TASK。
故, 解决方法:
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
改错误通常在holder出现。
4.点九图带来的错误
Error:Execution failed for task ':main:mergeDebugResources'.
> Error: Some file crunching failed, see logs for details添加了一张.9图片后就一直报错,删除了就没事了。说明是点九图片的问题
5.NoClassDefFoundError: Class not found using the boot class loader; no stack available
解决:布局文件有同名的,结果系统默认引用错了。预防:不要在不同包下建立相同名字的xml文件
更换保存的layout名称
java.lang.NoSuchFieldError: No static field textViewProvince of type I in class
具体参考博文:https://www.cnblogs.com/zhujiabin/p/7195960.html
6.provider相关的报错,原因是不同包下都使用了provider,结果导致崩溃。只要把其中一个provider名字改下就好了。
报错信息:AndroidManifest merge error using FileProvider
具体解决办法参照
点击打开链接