【问题标题】:The system cannot find the file(httpclient-4.0.1.jar) specified in android studio?系统找不到android studio中指定的文件(httpclient-4.0.1.jar)?
【发布时间】:2016-12-26 17:19:36
【问题描述】:

系统找不到android studio中指定的文件(httpclient-4.0.1.jar)?

我正在尝试在 Android Studio 中创建一个新应用,当我尝试运行或调试时,它会显示如下编译时错误:

Error:Execution failed for task ':SampleApp:compileDebugJavaWithJavac'.
> java.io.FileNotFoundException: C:\Users\VM\Desktop\SampleApp\libs\httpclient-4.0.1.jar (The system cannot find the file specified)

build.gradle(Module:SampleApp) 文件

应用插件:'com.android.application' android {

    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
        applicationId "com.app.SampleApp"
        minSdkVersion 14
        targetSdkVersion 23
      manifestPlaceholders = [manifestApplicationId : "${applicationId}",
           onesignal_app_id  : " ",
           onesignal_google_project_number: ""]
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    } } dependencies {
    compile project(':library_pull_to_refresh')
    compile project(':view_pager_indicator')
    compile 'com.google.code.gson:gson:2.4'
    compile 'com.google.android.gms:play-services-ads:7+'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
    compile files('libs/httpclient-4.0.1.jar')
    compile files('libs/universal-image-loader-1.8.6.jar')
    compile 'com.onesignal:OneSignal:2.+@aar'
    compile 'com.google.android.gms:play-services-gcm:7+'
    compile 'com.google.android.gms:play-services-analytics:7+' }

即使在那之后我也找不到任何解决方案。

请任何人指导我。

【问题讨论】:

标签: android


【解决方案1】:

自 API 级别 23 起已删除 Apache HTTP 客户端:

此预览版移除了对 Apache HTTP 客户端的支持。如果你的应用 正在使用此客户端并针对 Android 2.3(API 级别 9)或更高版本, 改用 HttpURLConnection 类。这个API更高效 因为它通过透明压缩减少了网络使用,并且 响应缓存,并最大限度地降低功耗。继续使用 Apache HTTP API,您必须首先声明以下内容 build.gradle 文件中的编译时依赖项:

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

Android 正在从 OpenSSL 迁移到 BoringSSL 库。如果 您在应用中使用 Android NDK,请勿链接 不属于 NDK API 的加密库,例如 libcrypto.so 和 libssl.so。这些库不是公共 API,并且 可能会在不同版本和设备之间更改或中断,恕不另行通知。在 此外,您可能会将自己暴露在安全漏洞中。 相反,修改您的本机代码以调用 Java 加密 API 通过 JNI 或静态链接到您的密码库 选择。

参考:
https://developer.android.com/preview/behavior-changes.html#behavior-apache-http-client

【讨论】:

    【解决方案2】:

    如果您使用 HttpClient 进行 http 请求和响应,则可以通过在应用程序 gradle 中添加此行而不是添加 jar 文件来使用 HTTP 库:-

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

    【讨论】:

      【解决方案3】:

      从哪里下载 .jar 文件?我刚刚从“https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient/4.0.1”下载了它,它可以工作。 更新:您也可以尝试添加“编译组:'org.apache.httpcomponents',名称:'httpclient',版本:'4.0.1'”而不是“编译文件('libs/httpclient-4.0.1.jar ')"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-21
        • 1970-01-01
        • 1970-01-01
        • 2019-11-21
        • 2017-06-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多