com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE
File1: F:\project\03_mytest\MakePictures\oauthTest\libs\commons-logging.jar
File2: F:\project\03_mytest\MakePictures\oauthTest\libs\log4j.jar
LICENSE文件重复异常:原因是File1下的jar包和File2下的jar包这个文件重复,打包的时候文件重复所以报出异常。
解决办法:
在build.gradle配置文件添加一段代码即可解决:
packagingOptions {
exclude 'META-INF/LICENSE'
}
之前的build.gradle文件如下:
apply plugin: 'com.android.application'
android {
compileSdkVersion 17
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.oauthTest"
minSdkVersion 8
targetSdkVersion 8
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.android.support:support-v4:18.+'
compile 'com.google.code.gson:gson:2.2.4'
compile files('libs/commons-io.jar')
compile files('libs/commons-lang-2.3.jar')
compile files('libs/commons-logging.jar')
compile files('libs/log4j.jar')
}
修改之后的配置:
apply plugin: 'com.android.application'
android {
compileSdkVersion 17
buildToolsVersion "23.0.2"
packagingOptions {
exclude 'META-INF/LICENSE'
}
defaultConfig {
applicationId "com.oauthTest"
minSdkVersion 8
targetSdkVersion 8
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.android.support:support-v4:18.+'
compile 'com.google.code.gson:gson:2.2.4'
compile files('libs/commons-io.jar')
compile files('libs/commons-lang-2.3.jar')
compile files('libs/commons-logging.jar')
compile files('libs/log4j.jar')
}