Android9.0_P:ClassNotFoundException:Didn’t find class “org.apache.http.ProtocolVersion” on path:

Android9.0_P:ClassNotFoundException:Didn’t find class “org.apache.http.ProtocolVersion” on path:

今天在运行签名好的apk 在android9.0的小米8上面 出现打开闪退。
在 Android 6.0 中,我们取消了对 Apache HTTP 客户端的支持。 从 Android 9 开始,默认情况下该内容库已从 bootclasspath 中移除且不可用于应用。
    要继续使用 Apache HTTP 客户端,以 Android 9 及更高版本为目标的应用可以向其 AndroidManifest.xml的application节点下 添加以下内容:
<uses-library
    android:name="org.apache.http.legacy"
    android:required="false" />

 

在application下面添加 uses-library。即可

<application
            android:name=".MyApp"
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">

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

            <activity
                android:name=".activity.SplashActivity"
                android:exported="true"
                android:screenOrientation="portrait"
                android:theme="@style/Splash">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
            </activity>

        </application>

注:拥有最低 SDK 版本 23 或更低版本的应用需要 android:required=”false” 属性,因为在 API 级别低于 24 的设备上,org.apache.http.legacy 库不可用。 (在这些设备上,Apache HTTP 类在 bootclasspath 中提供。)

作为使用运行时 Apache 库的替代,应用可以在其 APK 中绑定自己的 org.apache.http 库版本。 如果进行此操作,您必须将该库重新打包(使用一个类似 Jar Jar 的实用程序)以避免运行时中提供的类存在类兼容性问题。

报错日志:

Failed resolution of: Lorg/apache/http/ProtocolVersion;
Didn’t find class “org.apache.http.ProtocolVersion” on path: DexPathList[[zip file “/data/app/xxx.xxx.xxx-w3A58rcDxu_HjNKhzjBcmQ==/base.apk”],nativeLibraryDirectories=[/data/app/com.gushenbei.android-w3A58rcDxu_HjNKhzjBcmQ==/lib/arm, /data/app/xxx.xxx.xxx-w3A58rcDxu_HjNKhzjBcmQ==/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]

 

同时如果你还有webView 的问题,我遇到并记录的如下

希望能解决您暂时的疑惑,纸上得来终觉浅,书到用时方恨少。共勉!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115036.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • TCP三次握手 与 四次断开 的详细过程剖析

    TCP三次握手 与 四次断开 的详细过程剖析

    2021年8月27日
    62
  • Apache Rewrite 详解RewriteCond「建议收藏」

    Apache Rewrite 详解RewriteCond「建议收藏」RewriteCond重写规则执行条件语法:RewriteCondTestStringCondPattern生效域:serverconfig,virtualhost,directory,.htaccess特别的上面的TestString,可提供反向引用.引用模式为:%N其中N为(0&lt;=N&lt;=9),引用当前若干Rewrit…

    2022年4月30日
    35
  • SpringMVC 执行流程

    SpringMVC 执行流程springMVC(javaweb开发框架)1、MVC三层架构:模型(service、dao)、视图(JSP等)、控制器(Controller)什么是mvc?*MVC是模型、视图、控制器的简写,是一种软件设计规范*是将业务逻辑、数据、显示分离的方法来组织代码*MVC主要的作用就是降低了控制器(Controller)和视图(View)之间的双向耦合度*MVC不是一种设计模式、MVC是一种架构模式。当然不同的MVC存在着差异Model(数据模型):提供要展示的数据。因此包含数据和

    2022年6月28日
    25
  • view.performClick()触发点击事件

    view.performClick()触发点击事件view.performClick(),主动触发点击

    2022年6月16日
    73
  • 如何制作404页面

    如何制作404页面第一步:选取你喜欢的404页面,右键查看源代码,全选复制。第二步:粘贴刚才复制的代码到编辑器,更改对应的跳转链接,文字,以及页面的标题,404图片路径。查看修改编码方式,如不修改可能出现乱码,命名为404.html。第三步:制作404图片,将图片保存到桌面。第四步:打开404.html,没有问题后上传到网站根目录,图片上传到对应的图片路径第五步:在主机管理后台-基础环境设置…

    2022年7月27日
    7
  • H2 数据库简介_polardb 数据库

    H2 数据库简介_polardb 数据库H2数据库H2是使用Java开发的内嵌式数据库,开源。支持内存、文件等多种模式。常用于开发和测试环境。特性读操作快,写操作不如SQLite支持全文检索(提供了内置全文检索和ApacheLuncene的全文检索)可以通过浏览器操作数据库运行模式EmbeddedMode内嵌模式ServerModel服务器模式混合模式下载目前最新版本是1.4.200,于2019/10/14发布。Windows安装版本:https://h2database.co

    2022年10月12日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号