2

Я пытаюсь добавить firebase-messaging в мой проект, где я уже использую карты Google. поэтому, когда я добавляю функцию сжигания дымаgoogle gms: конфликт игрового сервиса с firebase

compile 'com.google.firebase:firebase-messaging:10.0.1' 

У меня была следующая ошибка.

Error:The number of method references in a .dex file cannot exceed 64K. Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html Error:Execution failed for task ':app:transformClassesWithDexForDebug'. com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException

, как я могу решить эту проблему здесь мой build.gradle

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 25 
buildToolsVersion "23.0.1" 

defaultConfig { 
    applicationId "com.edesign.astutesol.sallaticustomerapp" 
    minSdkVersion 19 
    targetSdkVersion 25 
    versionCode 1 
    versionName "1.0" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
testCompile 'junit:junit:4.12' 
compile 'com.android.support:design:25.1.1' 
compile 'com.mcxiaoke.volley:library:1.0.15' 
compile 'com.github.lecho:hellocharts-library:[email protected]' 
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' 

compile 'com.google.android.gms:play-services:10.0.1' 
compile 'com.google.android.gms:play-services-auth:10.0.1' 
apply plugin: 'com.google.gms.google-services' 
compile 'com.google.firebase:firebase-messaging:10.0.1' 

compile 'com.android.support:cardview-v7:25.+' 
compile 'org.lucasr.twowayview:twowayview:0.1.4' 

} 

это Google зависимостей

compile 'com.google.android.gms:play-services:10.0.1' 
compile 'com.google.android.gms:play-services-auth:10.0.1' 
apply plugin: 'com.google.gms.google-services' 
compile 'com.google.firebase:firebase-messaging:10.0.1' 
+0

Hi. Вы видели сообщения, обсуждающие ошибку, подобную этой [1] (http://stackoverflow.com/q/36785014/4625829)? –

+0

@AL. да, я попробовал multiDexEnabled, но также не помогал. –

+1

Удалите эту зависимость, если не требуется 'compile 'com.google.android.gms: play-services: 10.0.1''. Потому что он имеет счет 79958. –

ответ

2

позволяют multidex в вашей конфигурации по умолчанию.

defaultConfig { 
    applicationId "com.edesign.astutesol.sallaticustomerapp" 
    minSdkVersion 19 
    targetSdkVersion 25 
    versionCode 1 
    versionName "1.0" 
    multiDexEnabled true 
} 
+0

Я попробовал multiDexEnabled, но это не решает проблему –

2

Если поддержка multidex не сработала для вас, это может произойти из-за того, что вы можете определить собственный класс приложения для своего приложения. Каково имя приложения в файле манифеста? Если вы определили пользовательский класс приложения, расширив приложение (например, чтобы интегрировать ACRA или Google Analytics), вам придется переопределить метод attachBaseContext.

@Override 
    protected void attachBaseContext(Context context) { 
     super.attachBaseContext(context); 
     MultiDex.install(this); 
    } 
1

короткий ответ: удалить compile 'com.google.android.gms:play-services:10.0.1'


Вы не должны иметь следующую строку в build.gradle

compile 'com.google.android.gms:play-services:10.0.1' 

, что линия будет включать в себя все библиотеки Google в ваших приложениях, которые превысят предел метода (ошибка, которую вы репо rted) и сделает ваше приложение большим без преимуществ.

Вы должны включить только необходимую вспомогательную библиотеку.

Пример:

compile 'com.google.android.gms:play-services-auth:10.0.1 

нормально, потому что вы в том числе только -auth Parth библиотеки.

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