美文网首页
Android项目中Bug总结,持续更新...

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

作者: 就是这么简简单单 | 来源:发表于2017-07-23 00:28 被阅读0次

    一.在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

    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节点

    image.png

    六.Unable to create call adapter for io.reactivex.Observable<java.lang.Boolean>

    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

    可以尝试下面这种方法:

    image.png

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

    相关文章

      网友评论

          本文标题:Android项目中Bug总结,持续更新...

          本文链接:https://www.haomeiwen.com/subject/owjpkxtx.html