zoukankan      html  css  js  c++  java
  • Android 6.0 SDK 找不到HttpClient的解决方法

    一、情况描述

        在eclipse或Android Studio开发时(笔者目前只用过Android Studio),设置Android SDK的编译版本为23时,且使用了httpClient相关类的库项目时:如Android-async-http时,会出现有一些类找不到的错误,或者找不到HttpClient类。

    二、原因

        android 6.0 (api 23)SDK,不再提供org.apache.http.*(只保留几个类)。

    三、解决方法

    1.eclipse

    libs中加入 org.apache.http.legacy.jar

    上面的jar包在:**android-sdk-windowsplatformsandroid-23optional下(需要下载android 6.0的SDK)

    2.android studio:

    在相应的,module下的build.gradle中加入:

    android{

          useLibrary 'org.apache.http.legacy'

    }

    如图:

    四、HttpClient会在谷歌的安卓中消失的原因

        一开始,谷歌安卓新出,库中自带HttpClient 4.0 测试预览版。为与安卓保持API同步,HTTPClient不敢打动干戈。后来,HTTPCient 4.0逐渐成熟,Apache欲使Android跟进更新对应的库,Android拒绝了。然而旧库bug丛生,瑕疵遍地。故,今Apache新出一个HTTPClient for android。

        那既然Android自带的不好,为啥不直接导入Apache的呢?因为包名是一样的,库冲突。不是不能解决,也能,据说比较麻烦(笔者没试过)。从Apache下载最新的httpclient源码,把每个源文件包名改了,改成Android不冲突的。然后打包成jar文件,然后导入到Android工程的lib里。

        现在,Android 6.0 已经移除了httpClient,于是我们可以从Apache下载HttpClient,然后导入到lib中,不用改名了。

    更具体的解释说明请点击:点击打开链接

  • 相关阅读:
    PHP7革新与性能优化
    git团队开发
    PHP获取机器mac代码
    js复制文字
    jquery datatable客户端分页保持
    自已编写C# DLL 绑定到unity进程进行单步调试
    ‘xxfile' Missing the class attribute 'ExtensionOfNativeClass'
    关于热更的杂记
    关于unityengine.dll, unityengine.coremodule.dll
    学到了关于服务器磁盘阵列
  • 原文地址:https://www.cnblogs.com/jxldjsn/p/6001577.html
Copyright © 2011-2022 走看看