2018-11-12 android 9.0 兼容问题

主要解决9.0的网络问题

客观来看,9.0兼容好像问题不是很大吧,有些新APP一点问题都没有,但是有些比较旧的APP就问题比较多了,下面简单写一下解决方法,本文纯属笔记,方便以后查看:

问题一

应对9.0 版本的网络明暗流量问题

设置一下 application (清单文件里面)

         <application
              android:usesCleartextTraffic="true" 
                    >

问题二

还有 类似这两个报错的时候

            java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/commons/logging/LogFactory;

            Caused by: java.lang.ClassNotFoundException: Didn't find class                
            "org.apache.commons.logging.LogFactory" on path: DexPathList[[zip file 
              "/data/app/com.inno.nestlesuper-
             oPFXtK6GZQsOCWb8lvmj2g==/base.apk"],nativeLibraryDirectories=
               [/data/app/com.inno.nestlesuper-oPFXtK6GZQsOCWb8lvmj2g==/lib/arm, 
             /data/app/com.inno.nestlesuper-oPFXtK6GZQsOCWb8lvmj2g==/base.apk!/lib/armeabi, 
              /system/lib, /vendor/lib]]

这两句

主要问题是 9.0版本 谷歌大佬不支持这两个网络包了 要自己导进去支持来规避兼容问题,当然你没用到这两个网络包可以直接无视这里了。

我这里用的是 这两个 // 9.0版本好像不能再使用这两个了

           compile files('libs/httpclient-4.2.5.jar')
           compile files('libs/httpclient-cache-4.2.5.jar')

然后 解决方法如下:
导入一个commons-logging-api-1.0.4.jar

               compile files('libs/commons-logging-api-1.0.4.jar')

// 还有这个配置

                 android{
                   useLibrary 'org.apache.http.legacy'
                  }

还有一些第三方接入的问题,个人建议都用网络包吧,用实体jar久了会出现各种奇奇怪怪的问题,一般官方会给你更新的,记得用最新的就可以了

并不是所有APP 都会出现这些问题的,就看APP 是否用到这个网络包吧

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 144,130评论 18 619
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 9,160评论 2 49
  • 菲茨杰拉尔 Francis Scott Fitzgerald, 1896-1940. 海明威的同时代人。身前小有名...
    海明薇阅读 325评论 0 0
  • 宝贝,谢谢你做我的女儿! 宝贝两岁了,真的是光阴似箭啊!今天翻看以前的照片,那些欢声笑语,仿佛就在昨天!点点滴...
    墨颜123阅读 38评论 0 0
  • 积极是建立在独立、自信、自尊的基础上的,一个人只有先积极了才能自强不息。依赖心理是破坏积极的最大杀手,一个依靠他人...
    好习惯2011阅读 90评论 0 0