“复制到APK-META-INF/license.txt中的重复lib文件" Android Studio中的错误 [英] "Duplicate lib file copied in APK-META-INF/license.txt " error in Android Studio

查看:137
本文介绍了“复制到APK-META-INF/license.txt中的重复lib文件" Android Studio中的错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在项目中使用2 lib以下 1. spring-core-3.1.0.RELEASE.jar 2. spring-web-3.1.0.RELEASE.jar

I am using below 2 lib's in project 1. spring-core-3.1.0.RELEASE.jar 2. spring-web-3.1.0.RELEASE.jar

但是android studio正在考虑对上述lib进行重复输入,并在打包时给出错误.

But android studio is considering duplicate entry for above lib's and giving error while packaging.

Error:duplicate files during packaging of APK E:\Code\iDoc\app\build\outputs\apk\app-debug-unaligned.apk
    Path in archive: META-INF/license.txt
    Origin 1: E:\Code\iDoc\app\libs\spring-core-3.1.0.RELEASE.jar
    Origin 2: E:\Code\iDoc\app\libs\spring-web-3.1.0.RELEASE.jar
You can ignore those files in your build.gradle:
    android {
      packagingOptions {
        exclude 'META-INF/license.txt'
      }
    }
------------------------------------------------------------

有人遇到类似的问题吗?

Anybody faced similar problem ?

请针对此错误提出一些解决方法.

Please suggest some-work around for this error.

推荐答案

转到您的build.gradle文件并添加以下行:

Go to your build.gradle file and add the following line:

 packagingOptions {
    exclude 'META-INF/license.txt'
  }

在我的情况下,我必须这样添加:

In my case I had to add like this one:

apply plugin: 'com.android.library'    
android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }
}
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:+'
    compile 'com.google.android.gms:play-services:6.5.87'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.mcxiaoke.volley:library:1.0.15'
    compile 'com.google.code.gson:gson:2.2.4'
    compile "org.apache.httpcomponents:httpcore:4.4.1"
    compile "org.apache.httpcomponents:httpmime:4.3.6"


}

注意:

  1. 元文件不会影响应用程序的任何编程功能.元文件基本上包含文本信息,例如开源库的法律声明,许可证等.排除它不会影响任何事情.

当我们使用多个第三方开放源代码库时,有时两个或更多项目具有相同的命名文本文件(例如:License.txt或Notice.txt或dependencies.txt).这会导致在构建期间发生冲突.在那一刻,我们强大的android studio建议我们排除那些冲突的元文件.

这篇关于“复制到APK-META-INF/license.txt中的重复lib文件" Android Studio中的错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆