Несовместимость между некоторыми библиотеками Android и сервисами Google Play.

Я использую следующие библиотеки в build.gradle (приложение), и в папке libs есть некоторые библиотеки, такие как: «Arcgis SDK и ksoap2 и gcm.jar» в проекте android-studio, когда я его создаю, вызывает следующую ошибку:

Ошибка: не удалось выполнить задачу ':app:dexDebug'. com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command' C:\Program Files\Java\jdk1.8.0_66\bin\java.exe'' завершен с не- нулевое выходное значение 1

это build.gradle (приложение):

apply plugin: 'com.android.application'

android {
    compileSdkVersion 'Google Inc.:Google APIs:23'
    buildToolsVersion '23.0.2'

    defaultConfig {
        applicationId "com.eywa.paltrack"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
   }
   buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
   }
   packagingOptions {
        exclude 'META-INF/LGPL2.1'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'

   }

}

dependencies {
     compile fileTree(include: ['*.jar'], dir: 'libs')
     testCompile 'junit:junit:4.12'
     compile 'com.android.support:appcompat-v7:23.1.1'
     compile 'com.android.support:design:23.1.1'
     compile 'com.google.android.gms:play-services:8.3.0'

}

И когда я удаляю (Arcgis SDK) или (com.android.support:design) или (com.google.android.gms:play-services), когда я удаляю один из них, проект успешно строится. а мне все они нужны. вы можете помочь мне с этой проблемой?


person Tawfiq Dawod    schedule 09.12.2015    source источник
comment
Сколько методов есть в arcgis SDK? Сервисы Google Play имеют более 56 000 методов. Это недалеко от предела dex 65K. Кроме того, есть ли у вас более конкретная ошибка?   -  person Christopher    schedule 09.12.2015
comment
как узнать, сколько методов у arcgis SDK?   -  person Tawfiq Dawod    schedule 09.12.2015
comment
У меня нет более конкретной ошибки, эта ошибка возникает во время компиляции. Если вы создаете новый проект Android и используете все эти библиотеки, возникает ошибка, я пробую ее для нового проекта.   -  person Tawfiq Dawod    schedule 09.12.2015
comment
Есть несколько внешних инструментов для подсчета методов. Самый простой: www.methodscount.com/ Но он поддерживает не все библиотеки. Другие инструменты: github.com/KeepSafe/dexcount-gradle-plugin или github.com/mihaip/dex-method-counts   -  person Christopher    schedule 09.12.2015
comment
Зачем вам нужны все эти игровые сервисы? Например. Если вам нужны только карты Google, используйте конкретную зависимость от карты: скомпилируйте 'com.google.android.gms:play-services:8.3.0'   -  person Christopher    schedule 09.12.2015
comment
java.lang.OutOfMemoryError: превышен лимит накладных расходов GC Ошибка: не удалось выполнить задачу ':app:dexDebug'. › com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command' C:\Program Files\Java\jdk1.8.0_66\bin\java.exe'' завершен без -нулевое выходное значение 3   -  person Tawfiq Dawod    schedule 09.12.2015
comment
@TawfiqDawod, какую функцию игрового сервиса вы хотите добавить в свое приложение? на основе этого добавьте его, как для карты compile 'com.google.android.gms:play-services-maps:7.3.0'   -  person user1140237    schedule 09.12.2015
comment
Я хочу добавить его для использования уведомлений gcm   -  person Tawfiq Dawod    schedule 09.12.2015
comment
Для gcm вы можете использовать эту зависимость: com.google.android.gms:play-services-gcm:8.3.0   -  person Christopher    schedule 09.12.2015
comment
да, проблема решена, если я сделаю лучший ответ ниже или заменю: play-services:8.3.0 на play-services-gcm:8.3.0   -  person Tawfiq Dawod    schedule 09.12.2015


Ответы (1)


По поводу описанной ошибки в ваших комментариях:

"java.lang.OutOfMemoryError: GC overhead limit exceeded Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_66\bin\java.exe'' finished with non-zero exit value 3 "

Добавьте этот раздел в раздел android в вашем build.gradle:

android {

   dexOptions {
     javaMaxHeapSize "4g"
   }

Мы столкнулись с проблемой после обновления до gradle-plugin 1.5.0. Это решило нашу проблему.

person Christopher    schedule 09.12.2015