2016-04-04 3 views
1

Я использую Android Studio Чтобы разработать одно приложение, и мне нужно вызвать rest api. Я сделал все шаги, чтобы добавить необходимые jar's в build.gradle. Когда я перестраиваю проект, это кажется прекрасным. Но когда я попытался запустить его в эмуляторе, он показывает ниже ошибку. Я попробовал почти все доступные решения с исключением и все, но не решил мою проблему.Duplicate file Скопировано

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

Я получил решение. Мы должны сохранить только один из jersey-server или jersey-media-multipart – 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

Джерси-гуава и Джерси-общий включены в зависимости Джерси-клиент. Вам не нужно добавлять каждый отдельный. Кроме того, зависимость сервера не требуется для приложения Android, если приложение является клиентом.

Попробуйте очистить свой проект, но похоже, что вы используете репозиторий jersey-server.

Удалить текущую зависимость джерси, запустить «чистую» 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

I allready that in my build.gradle – Abhishek

+0

Попробуйте удалить компиляцию ... jersey-common –

Смежные вопросы