Android Studio 0.4 在 APK META-INF/LICENSE.txt 中复制的重复文件

标签 android gradle android-gradle-plugin

将我的 Studio 从 0.3.7 更新到 0.4.0 后,我无法编译我的项目。我在stackoverflow上找到了一个解决方案:Duplicate files copied (Android Studio 0.4.0)

我将我的项目更新为 gradle 0.7.+,但我不知道我必须将下一个字符串放在哪里:

android {

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

我的日志猫:日志

Execution failed for task ':Prog:packageDebug'.
> Duplicate files copied in APK META-INF/LICENSE.txt
    File 1: /home/scijoker/AndroidStudioProjects/ProgProject/Prog/libs/httpclient-4.1.1.jar
    File 2: /home/scijoker/AndroidStudioProjects/ProgProject/Prog/libs/httpclient-4.1.1.jar

附:在ubuntu 13.04开发

最佳答案

将依赖项放在顶部,将 packageOptions 放在最后对我有用。

apply plugin: 'android'. 

这是我在 app 文件夹中的完整 build.gradle。

dependencies {
    compile 'com.android.support:support-v4:+'
    compile files('libs/apache-mime4j-0.6.jar')
    compile files('libs/httpmime-4.0.jar')
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 10
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-    rules.txt'
    }


    packagingOptions {
        exclude 'META-INF/DEPENDENCIES.txt'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/dependencies.txt'
        exclude 'META-INF/LGPL2.1'
    }
}

编辑:几乎所有操作系统许可证都包含在您的项目中“包含许可证副本”的义务。因此,这意味着您必须在项目中包含您使用的所有操作系统许可证的副本。通过在 gradle 中“排除”它们,您违反了许可证。

将它们排除在项目之外可能不是最佳选择。 谢谢R.S。获取信息。

关于Android Studio 0.4 在 APK META-INF/LICENSE.txt 中复制的重复文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20827885/

相关文章:

android - Windows 10 的 SDK 是否可以在 Ubuntu 中运行?

android - 使用Android Studio启动新的Android项目

android - Gradle resValue 导致重复的字符串资源

java - Gradle 测试 : show standard streams only with specific tests

android - 如何调试或解决 Android 仪器测试运行配置的 "Error: The current project can not be run"?

更新后Android资源编译失败

java - 在 Android 中使用 Gmail API 和 OAuth2 检查来自 Gmail 的新电子邮件

android - Firebase 可扩展通知在应用程序处于后台时显示图像

Android - 显示 mysql 数据库中的前十个条目

java - 将 google 服务从 9.0.0 更新到 10.0.1 Android studio 2.2