2015-11-19 2 views
0

после я применил это:андроид зависимостей дублирующие и исключить не работают

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.google.android.gms:play-services:8.1.0' 
    compile 'com.android.support:appcompat-v7:23.0.1' 
    compile 'com.google.api-client:google-api-client:1.20.0' 
    compile files('libs/google-http-client/libs/google-http-client-android-1.20.0.jar') 
    { 
     exclude group: 'org.apache.httpcomponents', module: 'httpclient' //by both name 
    } 
} 

Здесь приходит сообщение об ошибке:

Error:(30, 0) Gradle DSL method not found: 'exclude()'

Possible causes:

  • The project 'Seeingeye' may be using a version of Gradle that does not contain the method. Open Gradle wrapper file

  • The build file may be missing a Gradle plugin. Apply Gradle plugin

Update:

Она решается путем перехода к :

compile ('com.google.api-client:google-api-client-android:1.20.0') { 
     exclude group: 'org.apache.httpcomponents', module: 'httpclient' 
    } 

но бросает другую ошибку при сборке:

  • Предупреждения: зависимостей org.apache.httpcomponents: HTTPClient: 4.0.1 игнорировали для отладки, поскольку это может конфликтовать с внутренней версией предоставленной Android. В случае возникновения проблем, пожалуйста, упакуйте его с jarjar изменить пакеты класса

  • Предупреждение: Зависимость от org.apache.httpcomponents: HttpClient: 4.0.1
    игнорируется для освобождения, поскольку это может конфликтовать с внутренним
    версия от Android. В случае возникновения проблем переупаковать его с помощью jarjar для изменения пакетов классов.

    Ошибка: выполнение выполнено для задачи ': app: dexDebug'.

    com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2

, который, кажется, предыдущая проблема не была решена должным образом. Любые мысли?

Update решаемых

дважды проверили build.gradle для приложения модуля, нужно добавить

"multiDexEnabled правды" к блоку defaultConfig:

defaultConfig { 
     applicationId "com.example.huayiguo.seeingeye" 
     minSdkVersion 22 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 

     multiDexEnabled true 
    } 

Спасибо!

+0

Хотя я рад, что вам удалось решить эту проблему, ваше решение чувствует ко мне больше как обходной путь, который может вызвать проблемы в будущем. Я предполагаю, что у вас все еще остались проблемы с HttpClient, потому что вы покинули google-http-client-android.jar под libs/google-http-client/libs /. Посмотрите, удаляет ли это решение, не разрешая многократное удаление. – d4vidi

ответ

1

Как об этом:

compile ('com.google.api-client:google-api-client-android:1.20.0') { 
     exclude group: 'org.apache.httpcomponents', module: 'httpclient' 
    } 
+0

Спасибо, он решает предыдущую проблему, но бросает другую: Предупреждение. Зависимость org.apache.httpcomponents: httpclient: 4.0.1 игнорируется для отладки, поскольку это может противоречить внутренней версии, предоставляемой Android. В случае возникновения проблемы переупаковывайте его с помощью jarjar для изменения пакетов классов. Предупреждение. Зависимость org.apache.httpcomponents: httpclient: 4.0.1 игнорируется для выпуска, так как может противоречить внутренней версии, предоставляемой Android. В случае возникновения проблемы переупаковать его с помощью jarjar для изменения пакетов классов –

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