2016-11-07 150 views
0

我正在爲客戶端開發一個項目。該項目似乎在舊版Android Studio中運行良好,但自從我將Studio更新至2.2.2後,嘗試運行該應用程序時出現同步錯誤,錯誤消息如下所示。Android Studio 2.2.2中的Gradle同步錯誤

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. 
    > com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE 
     File1: /home/empressum/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient-android/4.3.5.1/eecbb0b998e77629862a13d957d552b3be58fc4e/httpclient-android-4.3.5.1.jar 
     File2: /home/empressum/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpmime/4.3/5b0002c5fb66867ca919be0fbd86de1cfaf76da7/httpmime-4.3.jar 
+0

http://stackoverflow.com/questions/33923461/how-do-i-resolve-duplicate-files-copied-in-apk-meta-inf –

回答

0

添加以下到各自的build.gradle文件

android { 
packagingOptions { 
    exclude 'META-INF/ASL2.0' 
    exclude 'META-INF/LICENSE' 
    exclude 'META-INF/NOTICE' 
    exclude 'META-INF/NOTICE.txt' 
    exclude 'META-INF/LICENSE.txt' 
    exclude 'META-INF/MANIFEST.MF' 
} 
} 
+0

我在哪裏放這些行,在應用程序gradle文件或項目gradle文件? –

+0

把它放在build.gradle的android標籤裏面。(Eda gradle inte akath ulla android標籤il id。 –

+1

有兩個build.gradle文件,一個在項目文件夾中,另一個在app文件夾中,我應該放哪個? (Onne maryadekke paranje thaadey) –

0

您可能還需要檢查,如果你有相同的庫的2所引用或.jar包括並刪除重複的參考。

0

猜你正在使用與androids提供的jar相沖突的依賴。添加

編譯( 'org.apache.httpcomponents:httpmime:4.3.6'){

exclude module: 'httpclient' 
    exclude group: 'org.apache.httpcomponents', module: 'httpclient' 

}

在gradle這個。

0

您正在使用兩個很多庫文件進行http調用,而不是在libs上使用jar文件,或者在gradle中添加一些依賴項。

0

當我再次下載項目zip文件並運行它時,錯誤消失了。但是這次Android Studio要求我更新gradle文件時,我否認了這一點。我不知道這是否解釋了錯誤,但現在項目在我連接的任何設備上運行良好。