主要解决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 是否用到这个网络包吧