2016-12-31 1 views
2

이 문제의 많은 버전은 META-INF 파일 이름을 제외하는 것이지만이 파일들은 이미 제외되어 있으며이 경우 중복 파일은 파일이 아닙니다. META-INF와 연관됩니다. 내가 ./gradlew --stacktrace를 실행하면 잘 컴파일되지만 장치에서 응용 프로그램을 실행하면 응용 프로그램이 중복 파일 경고와 충돌합니다.Android Gradle 중복 파일 복사 예외

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 25 
buildToolsVersion "24.0.3" 
defaultConfig { 
    applicationId "rocks.morrisontech.historicsf" 
    minSdkVersion 19 
    targetSdkVersion 25 
    versionCode 1 
    versionName "1.0" 
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
} 
buildTypes { 
    release { 
     minifyEnabled true 
     shrinkResources true 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
packagingOptions { 
    exclude 'META-INF/LICENSE' 
    exclude 'META-INF/license.txt' 
    exclude 'META-INF/license' 
} 

dependencies { 

androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
    exclude group: 'com.android.support', module: 'support-annotations' 
}) 
compile 'com.android.support:appcompat-v7:25.1.0' 
compile 'com.google.code.gson:gson:2.8.0' 
compile 'com.socrata:soda-api-java:0.9.12' 
compile 'com.google.code.findbugs:jsr305:2.0.1' 
testCompile 'junit:junit:4.12' 
// play-services imports 
compile 'com.google.android.gms:play-services-maps:10.0.1' 

} 

실패 : 예외와 함께 실패 구축 할 수 있습니다. 잘못된 무엇

  • : 실행은 작업 실패 ': 응용 프로그램 : transformResourcesWithMergeJavaResForDebug를'.

    com.android.build.api.transform.TransformException : com.android.builder.packaging.DuplicateFileException가 : APK의 COM/일/저지/IMPL/api.properties 을 File1에서 복사 한 파일 중복 :/사용자/Quinn/.gradle/caches/modules-2/files-2.1/com.sun.jersey/jersey-core/1.9.1/cf6c0f8b945081fca5f5eb7417d10d58cefd7035/jersey-core-1.9.1.jar File2 : /Users/Quinn/.gradle

  • /caches/modules-2/files-2.1/com.sun.jersey/jersey-bundle/1.9.1/67d37c4e80633a0196b733886441855201742a65/jersey-bundle-1.9.1.jar 시도 :와 실행 - stacktrace 옵션을 사용하여 압정 추적. 더 많은 로그 출력을 얻으려면 --info 또는 --debug 옵션을 사용하여 실행하십시오. 소다-API - 자바 :

내가 눈치 챘을 저지 com.socrata의 종속성입니다 0.9.12, 나는 그 의존성을 삭제할 때 나는 아무 문제가 없습니다. 나는 또한 소다 - 안드로이드 - API를 사용하려고했지만, 비슷한 문제가 발생했습니다.

+1

는 'META-INF/DEPENDENCIES' 는 'META-INF /주의 사항' 제외 제외 'META-INF/LICENSE' 대신에 당신의 –

+0

나는 여전히 같은 경고를 얻고 제외'추가 ... – imcraigery

답변

0

Android Studio에서 soda-java 라이브러리를 사용하여 프로젝트를 빌드하는 동안 동일한 문제가 발생했습니다.

여러 파일 사본이 APK에 포함되는 것처럼 보입니다. 이로 인해 문제가 발생하고 APK를 만들 수 없습니다. 우리는 이러한 파일을 안드로이드 섹션 아래에있는 앱의 build.gradle 파일에서 제외해야합니다.

packagingOptions { 
    exclude 'META-INF/LICENSE' 
    exclude 'com/sun/jersey/impl/api.properties' 
    exclude 'com/sun/jersey/impl/spi.properties' 
    exclude 'com/sun/jersey/impl/impl.properties' 
    exclude 'META-INF/jersey-module-version' 
} 

기본적으로 이러한 오류 중 하나를 거쳐 오류에보고 된 아래 굵게 표시된 파일을 추가해야합니다.

com.android.builder.packaging.DuplicateFileException이 적절한 장기적인 해결책 인 경우 COM/일/저지/IMPL/api.properties

APK에 복사 된 파일을 중복 현재 내가 확실입니다. 하지만 그것은 내 app을 작성하는 것으로 시작하게하고있다. 나가기 전에 더 긴 기간 및 가능한 적절한 해결책을 제시해야합니다.

관련 문제