a.b*_*k13 113 android gradle android-gradle-plugin
在我将Studio从0.3.7更新到0.4.0之后,我无法编译我的项目.我在stackoverflow上找到了一个解决方案:复制了重复文件(Android Studio 0.4.0)
我将我的项目更新为graged 0.7.+,但我不知道我必须把下一个字符串放在哪里:
android {
packagingOptions {
exclude 'META-INF/LICENSE.txt'
}
}
Run Code Online (Sandbox Code Playgroud)
我的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
Run Code Online (Sandbox Code Playgroud)
PS开发在ubuntu 13.04
bin*_*iam 154
将dependecies放在顶部,最后的packageOptions为我工作.
apply plugin: 'android'.
Run Code Online (Sandbox Code Playgroud)
这是我在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'
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:几乎所有操作系统许可证都包含"在您的项目中包含许可证副本"的义务.这意味着,您必须包含您在项目中使用的所有操作系统许可证的副本.通过在gradle中"排除"它们,您违反了许可证.
将它们从项目中排除可能不是最佳选择.谢谢RS的信息.
R.S*_*R.S 46
注意!!可能的OpenSource许可证违规.
如上所述排除license.txt文件,您可能违反了一些开源许可证,因为它是开源许可证中的一个共同点,同意将其添加到您的源代码中.更好地检查您的开源许可证.
更新: 在有更好的解决方案之前,请使用
packagingOptions {
pickFirst 'META-INF/license.txt'
}
Run Code Online (Sandbox Code Playgroud)
像这样,你至少履行了许可义务的一部分
小智 23
加上
android {
packagingOptions {
exclude 'META-INF/LICENSE.txt'
}
}
Run Code Online (Sandbox Code Playgroud)
在build.gradle中
小智 16
您可以通过添加以下代码来修复它project/app/build.gradle:
android {
// Fixed build error : Duplicate files copied in APK META-INF/xxx
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/LICENSE.txt'
}
}
Run Code Online (Sandbox Code Playgroud)
Dhi*_*dya 11
我遇到了与新版本gradle相同的问题,下面的build.gradle文本格式适用于我:
我的libs文件夹中有两个jackson jar.
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.omtlab.myapplication"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'libs/jackson-core-asl-1.9.13.jar'
exclude 'libs/jackson-mapper-asl-1.9.13.jar'
exclude 'META-INF/ASL2.0'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
}
dependencies {
//compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:21.0.3'
compile files('libs/jackson-core-asl-1.9.13.jar')
compile files('libs/jackson-mapper-asl-1.9.13.jar')
}
Run Code Online (Sandbox Code Playgroud)
添加:
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
}
Run Code Online (Sandbox Code Playgroud)
为我工作,biniam_Ethiopia的解决方案可能是最安全的
插入此代码时
android{
packagingOptions{
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
}
}
Run Code Online (Sandbox Code Playgroud)
如果错误显示,请确认
>在APK META-INF/LICENSE.txt中复制的重复文件
然后加
android{
packagingOptions{
exclude 'META-INF/LICENSE.txt'
}
}
Run Code Online (Sandbox Code Playgroud)
如果错误显示
>在APK META-INF/LICENSE中复制的重复文件
然后加
android{
packagingOptions{
exclude 'META-INF/LICENSE'
}
}
Run Code Online (Sandbox Code Playgroud)
如果错误显示
>在APK META-INF/license.txt中复制的重复文件
然后加
android{
packagingOptions{
exclude 'META-INF/license.txt'
}
}
Run Code Online (Sandbox Code Playgroud)
简而言之,CASE和文档FORMAT(.txt)非常重要.
(此错误也存在于Android Studio 1.1.0中)
小智 6
这将有助于您解决问题
packagingOptions {
exclude 'META-INF/ASL2.0'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/DEPENDENCIES'
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
91240 次 |
| 最近记录: |