解决安卓Android7.0兼容问题 - Go语言中文社区

解决安卓Android7.0兼容问题


解决安卓Android7.0兼容问题(兼容Android6.0到Android9.0)

当你处于Android7.0环境下开发项目快收尾完了的时候进入测试环境Android9.0发生错误
是不是特别郁闷怎么突然错误了我们先来看看错误(这里使用HUAWEI Mate 20 Pro为例,ps:华为的系统是基于安卓之上再次开发封装的系统):
在这里插入图片描述
错误:

 Process: com.dynamic_img1.braindevelopment, PID: 5221
    java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object com.alibaba.fastjson.JSONObject.get(java.lang.Object)' on a null object reference
        at com.jzy.braindevelopment.MainActivity$1.handleMessage(MainActivity.java:60)

没错,在Android7.0环境下运行好好的程序到了Android9.0环境下发生错误
不难看出空指针问题,接下来我们看看Android7.0与Android9.0的不同:
经过百度的了解发现有那么几个改动
1.Android9.0访问网络有改变了 像之前的okhttp都不能跑了
2.Black list:三方应用不允许调用
3.API 等级低于24的设备上,org.apache.http.legacy 库不可用(在这些设备上,Apache HTTP 类在 bootclasspath 上可用)
总而言之就是在网络请求方面发生了改动
接下来就是解决这些问题
找到项目的父build.gradle
改成:

		targetSdkVersion 26

找到AndroidManifest.xml 文件中添加:

<uses-libraryandroid:name="org.apache.http.legacy"android:required="false"/>

项目成功在Android9.0环境下运行

想着兼容了Android9.0不如连Android6.0一起兼容当我准备好环境跑时,Android Studio提示:
在这里插入图片描述
好吧,又发生错误了继续修改还是找到项目的父build.gradle

		targetSdkVersion 26
        minSdkVersion 23
        maxSdkVersion 29

再次运行成功完美解决了Android6.0–Android9.0差异

环境参数:

  defaultConfig {
        applicationId "com.dynamic_img1.braindevelopment"
        useLibrary 'org.apache.http.legacy'
        versionCode currentVersionCode
        versionName currVersionName
        testInstrumentationRunner "android.support.Test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
        signingConfig signingConfigs.debug
        targetSdkVersion 26
        minSdkVersion 23
        maxSdkVersion 29
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileSdkVersion = 29
}

因为公司没前端而接触安卓前端开发确实有点头疼,有兴趣学习安卓的小伙伴可以看下《第一行代码——Android》非常详情
如有错误联系更正谢谢

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Cz_Lichao/article/details/102138528
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢