AndroidStudio导入httpmime jar编译不通过的解决办法

简介: AndroidStudio导入httpmime jar编译不通过的解决办法

本人项目的build.gradle

apply plugin: ‘com.android.application’

apply plugin: ‘android-apt’

def AAVersion = ‘3.3.2’

android {

packagingOptions {
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/LICENSE.txt'
    exclude 'META-INF/NOTICE.txt'
}
useLibrary 'org.apache.http.legacy'
compileSdkVersion 23
buildToolsVersion "22.0.1"
defaultConfig {
    applicationId "com.turing.base"
    minSdkVersion 10
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

}

dependencies {

compile fileTree(dir: ‘libs’, include: [‘*.jar’])

apt "org.androidannotations:androidannotations:$AAVersion"
compile "org.androidannotations:androidannotations-api:$AAVersion"
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.apkfuns.logutils:library:1.0.6'
compile 'com.android.support:design:23.0.1'
// 使用HttpClient传递文件需要添加的依赖
compile 'org.apache.httpcomponents:httpcore:4.3.3'
compile 'org.apache.httpcomponents:httpmime:4.3.6'

}

apt {

arguments {
    androidManifestFile variant.outputs[0].processResources.manifestFile
    resourcePackageName 'com.turing.base' // 工程包名
}


}


=======================================

起因:

build.gradle的dependencies加入了


compile ‘org.apache.httpcomponents:httpcore:4.3.3’

compile ‘org.apache.httpcomponents:httpmime:4.3.6’


Err现象:

在构建时出现以下错误log

[html] view plaincopy

Information:Gradle tasks [:imagecloud:assembleDebug]

Warning:Dependency org.apache.httpcomponents:httpclient:4.3.6 is ignored for debug as it may be conflicting with the internal version provided by Android.

In case of problem, please repackage it with jarjar to change the class packages

Warning:Dependency org.apache.httpcomponents:httpclient:4.3.6 is ignored for release as it may be conflicting with the internal version provided by Android.

In case of problem, please repackage it with jarjar to change the class packages

:imagecloud:preBuild

:imagecloud:compileDebugNdk UP-TO-DATE

:imagecloud:preDebugBuild

:imagecloud:checkDebugManifest

:imagecloud:preReleaseBuild

:imagecloud:prepareComAndroidSupportAppcompatV72103Library UP-TO-DATE

:imagecloud:prepareComAndroidSupportSupportV42103Library UP-TO-DATE

:imagecloud:prepareDebugDependencies

:imagecloud:compileDebugAidl UP-TO-DATE

:imagecloud:compileDebugRenderscript UP-TO-DATE

:imagecloud:generateDebugBuildConfig UP-TO-DATE

:imagecloud:generateDebugAssets UP-TO-DATE

:imagecloud:mergeDebugAssets UP-TO-DATE

:imagecloud:generateDebugResValues UP-TO-DATE

:imagecloud:generateDebugResources UP-TO-DATE

:imagecloud:mergeDebugResources UP-TO-DATE

:imagecloud:processDebugManifest UP-TO-DATE

:imagecloud:processDebugResources UP-TO-DATE

:imagecloud:generateDebugSources UP-TO-DATE

:imagecloud:compileDebugJava UP-TO-DATE

:imagecloud:preDexDebug UP-TO-DATE

:imagecloud:dexDebug UP-TO-DATE

:imagecloud:processDebugJavaRes UP-TO-DATE

:imagecloud:validateDebugSigning

:imagecloud:packageDebug

Error:duplicate files during packaging of APK E:\workspace\project\android\AndroidStudio\imagecloud\build\outputs\apk\imagecloud-debug-unaligned.apk

Path in archive: META-INF/DEPENDENCIES

Origin 1: C:\Users\Administrator.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpmime\4.3.6\cf8bacbf0d476c7f2221f861269365b66447f7ec\httpmime-4.3.6.jar

Origin 2: C:\Users\Administrator.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpcore\4.3.3\f91b7a4aadc5cf486df6e4634748d7dd7a73f06d\httpcore-4.3.3.jar

You can ignore those files in your build.gradle:

android {

packagingOptions {

exclude ‘META-INF/DEPENDENCIES’

}

}

Error:Execution failed for task ‘:imagecloud:packageDebug’.


Duplicate files copied in APK META-INF/DEPENDENCIES

File 1: C:\Users\Administrator.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpmime\4.3.6\cf8bacbf0d476c7f2221f861269365b66447f7ec\httpmime-4.3.6.jar

File 2: C:\Users\Administrator.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpmime\4.3.6\cf8bacbf0d476c7f2221f861269365b66447f7ec\httpmime-4.3.6.jar

Information:BUILD FAILED

Information:Total time: 4.954 secs

Information:2 errors

Information:2 warnings

Information:See complete output in console


解决方法:

在build.gradle的android{…}里面加上

[html] view plaincopy

packagingOptions {

exclude ‘META-INF/DEPENDENCIES’

exclude ‘META-INF/NOTICE’

exclude ‘META-INF/LICENSE’

exclude ‘META-INF/LICENSE.txt’

exclude ‘META-INF/NOTICE.txt’

}


packagingOptions 应该放到最前面才生效,放到最后面经试验不行。

相关文章
|
6月前
|
Java 开发工具 Windows
Windows环境下面启动jar包,输出的日志出现乱码的解决办法
Windows环境下面启动jar包,输出的日志出现乱码的解决办法
|
3月前
|
API 开发工具 Android开发
Android Studio:解决AOSP自编译framework.jar引用不到的问题
在Android Studio中解决AOSP自编译framework.jar引用问题的几种方法,包括使用相对路径、绝对路径和通过`${project.rootDir}`动态获取路径的方法,以避免硬编码路径带来的配置问题。
174 0
Android Studio:解决AOSP自编译framework.jar引用不到的问题
|
3月前
|
Java
java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter 增样将jar包导入
文章记录了解决Java项目中遇到的`java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter`异常的方法,即通过在项目的`WEB-INF`文件夹下创建与`classes`平级的`lib`文件夹并添加所需的jar包来解决。
java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter 增样将jar包导入
|
4月前
|
Java
关于idea报错:Cannot determine path to 'tools.jar' library for 17 (E:\java-jdk\jdk17)的解决办法
关于idea报错:Cannot determine path to 'tools.jar' library for 17 (E:\java-jdk\jdk17)的解决办法
|
3月前
|
Java Windows
【Azure 应用服务】App Service 部署txt静态文件和Jar包在不同目录中的解决办法
【Azure 应用服务】App Service 部署txt静态文件和Jar包在不同目录中的解决办法
|
6月前
|
Java Android开发
Android编译的jar里面是dex
Android编译的jar里面是dex
70 0
|
Java
SpringBoot导入第三方jar方法打包报错Failed to load ApplicationContext Failed to determine a suitable driver cla
这是第一篇博客,很早想写了,只不过每次解决问题后都觉得人家写的蛮好的,自己无须再写了,不过昨天打包时遇到的这个问题,自己找半天解决了,看很多博客也是许久才解决,不说了我的方法如下:
159 0
|
6月前
|
Java Maven Spring
Spring编译源代码解决spring-core缺少cglib和objenesis的jar包的办法
Spring编译源代码解决spring-core缺少cglib和objenesis的jar包的办法
63 0
|
Java Maven
将独立的jar包导入本地maven仓库
将独立的jar包导入本地maven仓库
127 0
|
Java 数据库连接 应用服务中间件
SpringCloud项目使用Maven打包编译Jar包缺失问题解决
SpringCloud项目使用Maven打包编译Jar包缺失问题解决
484 0