Почему мое приложение для Android падает, как только я открываю его на устройстве 4.4.3, но не на устройстве 5.0 или выше

Я использовал facebook sdk для входа в систему с помощью facebook, а также карту google для текущей позиции пользователя. Он хорошо работает в Android 5.0 или выше, но вылетает в Android 4.4.3. Я использовал следующую конфигурацию.

 android {
             compileSdkVersion 24
             buildToolsVersion "24.0.0"

             defaultConfig {
                 applicationId "com.example.nuevo.getsocial"
                 minSdkVersion 15
                 targetSdkVersion 24
                 versionCode 1
                 versionName "1.0"
                 multiDexEnabled true
             }
             buildTypes {
                 release {
                     minifyEnabled false
                     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                 }
             }
             dexOptions{
                 javaMaxHeapSize "4g"
             }
         }
         repositories {
             mavenCentral()
         }

         dependencies {
             compile fileTree(dir: 'libs', include: ['*.jar'])
             testCompile 'junit:junit:4.12'
             compile project(path: ':volley')
             compile 'com.android.support:appcompat-v7:24.2.0'
             compile 'com.facebook.android:facebook-android-sdk:4.7.0'
             compile 'com.squareup.picasso:picasso:`enter code here`2.4.0'
             compile 'com.google.android.gms:play-services:9.4.0'
             compile 'com.android.support:design:24.2.0'
             compile 'com.google.android.gms:play-services-ads:9.4.0'
             compile 'com.google.android.gms:play-services-auth:9.4.0'
             compile 'com.google.android.gms:play-services-gcm:9.4.0'
         }

Logcat выглядит следующим образом

446/com.example.nuevo.getsocial E/dalvikvm: не удалось найти класс com.google.firebase.FirebaseOptions, на который ссылается метод com.google.firebase.FirebaseApp. 08–29 02:41:35.041 1446–1446/com.example.nuevo.getsocial E/dalvikvm: не удалось найти класс «com.google.firebase.FirebaseApp$zzb», на который ссылается метод com.google.firebase.FirebaseApp. zzcm 08-29 02:41:35.045 1446-1446/com.example.nuevo.getsocial E/dalvikvm: не удалось найти класс 'com.google.firebase.FirebaseApiNotAvailableException', на который ссылается метод com.google.firebase.FirebaseApp.getToken 08–29 02:41:35.049 1446–1446/com.example.nuevo.getsocial E/dalvikvm: не удалось найти класс «com.google.firebase.FirebaseApp$zza», на который ссылается метод com.google.firebase.FirebaseApp. zza 08-29 02:41:35.081 1446-1446/com.example.nuevo.getsocial E/AndroidRuntime: НЕИСПРАВНОЕ ИСКЛЮЧЕНИЕ: основной процесс: com.example.nuevo.getsocial, PID: 1446 java.lang.NoClassDefFoundError: com.google .firebase.FirebaseOptions на com.google.firebase.FirebaseApp.zzek (неизвестный источник) на com.google.firebase.provider.FirebaseInitProvider.onCreate (неизвестный источник) на android.content.ContentProvider .attachInfo(ContentProvider.java:1591) в android.content.ContentProvider.attachInfo(ContentProvider.java:1562) в com.google.firebase.provider.FirebaseInitProvider.attachInfo(неизвестный источник) в android.app.ActivityThread.installProvider(ActivityThread .java:4774) в android.app.ActivityThread.installContentProviders(ActivityThread.java:4369) в android.app.ActivityThread.handleBindApplication(ActivityThread.java:4309) в android.app.ActivityThread.access$1500(ActivityThread.java:135) ) в android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) в android.os.Handler.dispatchMessage(Handler.java:102) в android.os.Looper.loop(Looper.java:136) в android .app.ActivityThread.main(ActivityThread.java:5001) в java.lang.reflect.Method.invokeNative(собственный метод) в java.lang.reflect.Method.invoke(Method.java:515) в com.android.internal .os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) в com.android.internal.os.ZygoteInit.main(ZygoteI nit.java:601) в dalvik.system.NativeStart.main (собственный метод)


person Abhishek Joshi    schedule 29.08.2016    source источник
comment
Также добавьте журналы сбоя.   -  person Abbas    schedule 29.08.2016
comment
Пожалуйста, добавьте журнал сбоев   -  person J.D.    schedule 29.08.2016
comment
на устройстве 4.4.3 вы используете apk или adb для установки приложения?   -  person Nilabja    schedule 29.08.2016
comment
Пожалуйста, добавьте журнал сбоев   -  person shridutt kothari    schedule 29.08.2016
comment
Вы должны добавить журнал сбоев. Кроме того, я думаю, что это связано с параметром multiDexEnabled, который вы устанавливаете. Я думаю, вам также следует добавить библиотеку com.android.support:multidex:1.0.0.   -  person josemgu91    schedule 29.08.2016
comment
Проверьте, вероятно, та же проблема.   -  person sunil sunny    schedule 29.08.2016
comment
Я столкнулся с аналогичной проблемой. В моем случае я использовал устаревшие функции, такие как getDrawable() и getColor() и т. д. Пожалуйста, посмотрите, используете ли вы такие методы или нет. И, пожалуйста, добавьте журнал сбоев.   -  person Shunan    schedule 29.08.2016
comment
Почему ваша зависимость Пикассо имеет enter code here?. Вы должны были заменить эти слова на 2.4.0.   -  person Amad Yus    schedule 29.08.2016


Ответы (2)


замените свои библиотеки приложений и дизайна на зависимости gradle следующими

compile 'com.android.support:appcompat-v7:24.0.0-alpha1'
    compile 'com.android.support:design:24.0.0-alpha1'
person Dinesh Saini    schedule 29.08.2016

Согласно Руководству пользователя Android Studio:поддержка Multidex до Android 5.0

Версии платформы до Android 5.0 (уровень API 21) используют среду выполнения Dalvik для выполнения кода приложения. По умолчанию Dalvik ограничивает приложения одним файлом байт-кода class.dex для каждого APK. Чтобы обойти это ограничение, вы можете использовать библиотеку поддержки multidex., который становится частью основного файла DEX вашего приложения, а затем управляет доступом к дополнительным файлам DEX и содержащемуся в них коду.

В вашем случае, если вы поддерживаете старую версию Android, вам нужно включить com.android.support:multidex:1.0.0 в свою зависимость gradle.

person Amad Yus    schedule 29.08.2016
comment
Отредактировано. Спасибо за ответ. - person Amad Yus; 29.08.2016
comment
Вы можете закрыть этот вопрос, пометив его как рабочее решение. - person Amad Yus; 30.08.2016