Android Studio 0.4在APK META-INF / LICENSE.txt中复制的重复文件
将Studio从0.3.7更新到0.4.0后,无法编译项目。我找到了一个解决方案:复制了重复的文件(Android Studio 0.4.0)
我将项目更新为gradle0.7。+,但是我不知道接下来的字符串应该放在哪里:
android {
packagingOptions {
exclude 'META-INF/LICENSE.txt'
}
}
我的logcat:日志
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
PS开发在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' } }
编辑:几乎所有的OS许可证都包含将“包含许可证副本”添加到您的项目中的义务。因此,这意味着您必须在项目中包括使用的所有OS许可证的副本。通过将它们“排除”在gradle中,就违反了许可证。
从项目中排除它们可能不是最佳选择。谢谢RS的信息。