2016-04-04 192 views
1

我正在使用Android Studio要開發一個應用程序,我需要調用其餘的api。我完成了在build.gradle中添加所需jar的所有步驟。當我重建項目時似乎很好。但是當我嘗試在模擬器中運行它時,它顯示下面的錯誤。我嘗試了幾乎所有可用的解決方案,但都沒有解決我的問題。複製文件複製

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/services/org.glassfish.jersey.internal.spi.ForcedAutoDiscoverable File1: C:\Users\everstek 1.gradle\caches\modules-2\files-2.1\org.glassfish.jersey.core\jersey-server\2.22.1\20eee7b976e7005a40f05c0965dd76a308689e98\jersey-server-2.22.1.jar File2: C:\Users\everstek 1.gradle\caches\modules-2\files-2.1\org.glassfish.jersey.media\jersey-media-jaxb\2.22.1\1bc910febfe9e07f741920ff5ac24bb8a59f649f\jersey-media-jaxb-2.22.1.jar

任何人都可以提供幫助。提前致謝。

This are the entries in my build.gradle //compile files('src/main/libs/guava-18.0.jar') compile 'com.google.guava:guava:18.0'

//compile files('src/main/libs/hk2-api-2.4.0-b31.jar') 
compile 'org.glassfish.hk2:hk2-api:2.4.0-b31' 

//compile files('src/main/libs/hk2-locator-2.4.0-b31.jar') 
compile 'org.glassfish.hk2:hk2-locator:2.4.0-b31' 

//compile files('src/main/libs/hk2-utils-2.4.0-b31.jar') 
compile 'org.glassfish.hk2:hk2-utils:2.4.0-b31' 

//compile files('src/main/libs/javax.annotation-api-1.2.jar') 
compile 'javax.annotation:javax.annotation-api:1.2' 

//compile files('src/main/libs/javax.inject-1.jar') 
compile 'javax.inject:javax.inject:1' 

//compile files('src/main/libs/javax.ws.rs-api-2.0.1.jar') 
compile 'javax.ws.rs:javax.ws.rs-api:2.0.1' 

//compile files('src/main/libs/jersey-apache-connector-2.22.1.jar') 
compile 'org.glassfish.jersey.connectors:jersey-apache-connector:2.22.1' 

//compile files('src/main/libs/jersey-client-2.22.1.jar') 
compile 'org.glassfish.jersey.core:jersey-client:2.22.1' 

//compile files('src/main/libs/jersey-common-2.22.1.jar') 
compile 'org.glassfish.jersey.core:jersey-common:2.22.1' 

//compile files('src/main/libs/jersey-guava-2.22.1.jar') 
compile 'org.glassfish.jersey.bundles.repackaged:jersey-guava:2.22.1' 

//compile files('src/main/libs/jersey-media-multipart-2.22.1.jar'); 
compile 'org.glassfish.jersey.media:jersey-media-multipart:2.22.1' 

//compile files('src/main/libs/jersey-server-2.22.1.jar') 
compile 'org.glassfish.jersey.core:jersey-server:2.22.1' 

//compile files('src/main/libs/logback-classic-1.1.3.jar') 
compile 'ch.qos.logback:logback-classic:1.1.3' 

//compile files('src/main/libs/logback-core-1.1.3.jar') 
compile 'ch.qos.logback:logback-classic:1.1.3' 

//compile files('src/main/libs/mimepull-1.9.6.jar'); 
compile 'org.jvnet.mimepull:mimepull:1.9.6' 

//compile files('src/main/libs/slf4j-api-1.7.12.jar') 
compile 'org.slf4j:slf4j-android:1.7.12' 
+0

可能大家看到你的build.gradle? –

+0

我得到了解決方案。我們必須只保留球衣服務器或運動衫媒體多部分 – Abhishek

回答

0

這種解決方案我得到了一些顯示警告,但工作得很好

We have to add dependency in group manner that will help us to understood better. For My Above Question I Have To Add This In Dependency 


compile group: 'com.google.guava', name: 'guava', version: '19.0' 
//compile files('libs/guava-18.0.jar') 
compile group: 'org.glassfish.hk2', name: 'hk2-api', version: '2.5.0-b06' 
//compile files('libs/hk2-api-2.4.0-b31.jar') 
compile group: 'org.glassfish.hk2', name: 'hk2-locator', version: '2.5.0-b06' 
//compile files('libs/hk2-locator-2.4.0-b31.jar') 
compile group: 'org.glassfish.hk2', name: 'hk2-utils', version: '2.5.0-b06' 
//compile files('libs/hk2-utils-2.4.0-b31.jar') 
compile group: 'javax.annotation', name: 'javax.annotation-api', version: '1.2' 
//compile files('libs/javax.annotation-api-1.2.jar') 
compile group: 'javax.inject', name: 'javax.inject', version: '1' 
//compile files('libs/javax.inject-1.jar') 
compile group: 'javax.ws.rs', name: 'javax.ws.rs-api', version: '2.0.1' 
//compile files('libs/javax.ws.rs-api-2.0.1.jar') 
compile group: 'org.glassfish.jersey.connectors', name: 'jersey-apache-connector', version: '2.23.1' 
//compile files('libs/jersey-apache-connector-2.22.1.jar') 
compile group: 'org.glassfish.jersey.core', name: 'jersey-client', version: '2.23.1' 
//compile files('libs/jersey-client-2.22.1.jar') 
compile group: 'org.glassfish.jersey.core', name: 'jersey-common', version: '2.23.1' 
//compile files('libs/jersey-common-2.22.1.jar') 
compile group: 'org.glassfish.jersey.bundles.repackaged', name: 'jersey-guava', version: '2.23.1' 
//compile files('libs/jersey-guava-2.22.1.jar') 
compile group: 'org.glassfish.jersey.media', name: 'jersey-media-multipart', version: '2.23.1' 
//compile files('libs/jersey-media-multipart-2.22.1.jar') 
//compile group: 'org.glassfish.jersey.core', name: 'jersey-server', version: '2.23.1' 
//compile files('libs/jersey-server-2.22.1.jar') 
compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.1.7' 
//compile files('libs/logback-classic-1.1.3.jar') 
compile group: 'ch.qos.logback', name: 'logback-core', version: '1.1.7' 
//compile files('libs/logback-core-1.1.3.jar') 
compile group: 'org.jvnet.mimepull', name: 'mimepull', version: '1.9.6' 
//compile files('libs/mimepull-1.9.6.jar') 
compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.21' 
0

Jersey的番石榴和球衣-共同包括在球衣客戶端依賴性。你不需要添加每個人。另外,如果應用程序是客戶端,則Android應用程序不需要服務器依賴關係。

嘗試清理你的項目,但它看起來像你使用球衣服務器回購。

刪除當前球衣的依賴,運行「乾淨」 gradle這個任務,並添加這種依賴性:

dependencies { 
    //other dependencies 
    compile 'org.glassfish.jersey.core:jersey-client:2.22.2' 
} 

如果您願意使用的球衣2.22.1只是改變依賴的版本號。

+0

https://blogs.oracle.com/japod/entry/jersey_2_x_client_on1 您可能也必須使用此解決方法,以確保您只使用軟件包android支持 –

+0

我已經在我的build.gradle – Abhishek

+0

嘗試刪除編譯... jersey-common –