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 应该放到最前面才生效,放到最后面经试验不行。

相关文章
|
1月前
|
Java 开发工具 Windows
Windows环境下面启动jar包,输出的日志出现乱码的解决办法
Windows环境下面启动jar包,输出的日志出现乱码的解决办法
|
4月前
|
Java Maven Spring
Spring编译源代码解决spring-core缺少cglib和objenesis的jar包的办法
Spring编译源代码解决spring-core缺少cglib和objenesis的jar包的办法
30 0
|
Java 数据库连接 应用服务中间件
SpringCloud项目使用Maven打包编译Jar包缺失问题解决
SpringCloud项目使用Maven打包编译Jar包缺失问题解决
369 0
|
JSON Java Android开发
Android.bp 文件中引入aar、jar、so库正确编译方法(值得收藏)
Android.bp 文件中引入aar、jar、so库正确编译方法(值得收藏)
1898 0
|
Java Android开发
AndroidStudio开发Java工程(解决java控制台中文打印乱码+导入jar包运行工程)
AndroidStudio开发Java工程(解决java控制台中文打印乱码+导入jar包运行工程)
65 0
|
Java 开发工具 Android开发
android 源码下编译可供第三方应用使用的JAR包
android 源码下编译可供第三方应用使用的JAR包
346 0
|
Java Linux Maven
LINUX下载编译sqlite-jdbc的jar包
LINUX下载编译sqlite-jdbc的jar包
184 0
|
Linux
LINUX下载编译:segment.jar/net.loomchild.segment.srx.Srx2SaxParser
LINUX下载编译:segment.jar/net.loomchild.segment.srx.Srx2SaxParser
49 0
|
Linux
全网首发:LINUX编译JNA:编译产生jna.jar
全网首发:LINUX编译JNA:编译产生jna.jar
90 0
|
Java Linux 数据库管理
LINUX下载编译sqlite-jdbc(支持mips64el/loongarch64的jar包下载)
LINUX下载编译sqlite-jdbc(支持mips64el/loongarch64的jar包下载)
212 0