Android项目中Bug总结,持续更新...

一.在4.0左右的手机上运行,Application初始化,比如imageLoader,sharSDK啥的初始化那报错
java.lang.NoClassDefFoundError: com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener
(这是imageloader报的错)
解决方案:
在Application中添加这个方法

@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}

这是Gradle分包:
android{
defaultConfig{
multiDexEnable true
}
}
dependencies{
compile 'com.android.support:multidex:1.0.0'
}

二.
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/android/exoplayer/SampleSource.class

这种是依赖重复(导jar包重复),想想在没出错之前依赖过什么,如果不知道就得一个一个注释掉依赖进行查找.

三.Error:A problem was found with the configuration of task ':app:packageRelease'.
解析包出错
解决方案:
打包选择v1

四. java.lang.NoClassDefFoundError: Failed resolution of: Lokhttp3/internal/http/HttpEngine
集成retrofit,集成okhttp日志拦截报的错,所以还得集成okhttp

注意 版本号得一致

image.png

五.在Retrofit中加入rxjava

Android项目中Bug总结,持续更新..._第1张图片
image.png

同步没有错误,运行报错 Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.

com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/rxjava.properties

{VU9U0~_`2YF{3U2}S%}4I0.png

解决方案:
加上packagingOptions节点

Android项目中Bug总结,持续更新..._第2张图片
image.png

六.Unable to create call adapter for io.reactivex.Observable

Android项目中Bug总结,持续更新..._第3张图片
image.png

得加上 2,导的包是 io.reactivex

七:com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $
解决方案:
POST请求json数据之前还有一些其他非json输出'

Gson gson = new GsonBuilder().setLenient().create();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.client(client)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();

八: clean没问题,运行报错Error:Execution failed for task 'transformClassesWithExtractJarsForXXXXDebug'.

error
解决方案:
Android2.0中加入了instant run,所以在setting-->Build,Execution,Deployment-->instant run--> 取消对勾,不选中

最后:看bug小Tips:
如果在在项目中遇到莫名奇妙的bug,看又看不懂,百度也没有的,比如类似如这种bug

image.png

可以尝试下面这种方法:

Android项目中Bug总结,持续更新..._第4张图片
image.png

会看到非常详细的日志,也许会有一点帮助.

你可能感兴趣的:(Android项目中Bug总结,持续更新...)