一.在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
注意 版本号得一致
五.在Retrofit中加入rxjava
同步没有错误,运行报错 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
解决方案:
加上packagingOptions节点
六.Unable to create call adapter for io.reactivex.Observable
得加上 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
可以尝试下面这种方法:
会看到非常详细的日志,也许会有一点帮助.