Карты Google Не удалось найти класс "com.google.android.gms.dynamic.zza"

Я следил за этим руководством по реализация Google Maps Android SDK и обнаружил ошибку, упомянутую в заголовке. Подробная информация о сбоях доступна в конце этого вопроса. Я слежу за множеством тем SO, но безрезультатно. Пока еще какой-то гугл ничего не доказывает.

Какие неудачные исправления я пробовал:

  • отключить мультидекс
  • отключить "Мгновенный запуск"
  • изменение / понижение версии для различных комбинаций

У вас есть подсказки?

Вот конфигурация моего приложения Gradle:

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'realm-android'

repositories {
    maven { url 'https://maven.fabric.io/public' }
    google()
}

android {
    compileSdkVersion 28
    buildToolsVersion '28.0.3'
    useLibrary 'org.apache.http.legacy'

    defaultConfig {
        applicationId "com.akukurir.android"
        minSdkVersion 15
        targetSdkVersion 28
        versionCode 33
        versionName "1.7.7~beta6"

        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

//    implementation 'io.nlopez.smartlocation:library:3.3.1'
    implementation('io.nlopez.smartlocation:library:3.3.3') {
        transitive = false
    }


    implementation('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') {
        transitive = true
    }

    implementation 'com.android.support:multidex:1.0.3'

    //implementation 'com.android.support:appcompat-v7:23.1.1'
    //noinspection GradleCompatible
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:animated-vector-drawable:28.0.0'
    implementation 'com.android.support:customtabs:28.0.0'
    implementation 'com.android.support:percent:28.0.0'


    implementation 'com.google.firebase:firebase-core:16.0.4'
    implementation 'com.google.firebase:firebase-messaging:17.3.3'
    implementation 'com.google.firebase:firebase-crash:16.2.1'
    implementation 'com.google.firebase:firebase-database:16.0.3'

    implementation 'com.google.android.gms:play-services-base:16.0.1'
    implementation 'com.google.android.gms:play-services-drive:16.0.0'
    implementation 'com.google.android.gms:play-services-location:16.0.0'
    implementation 'com.google.android.gms:play-services-gcm:16.0.0'

    implementation 'com.github.gcacace:signature-pad:1.0.1'
    implementation 'com.rengwuxian.materialedittext:library:2.0.3'
    implementation 'com.pixplicity.easyprefs:library:1.6'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.akexorcist:googledirectionlibrary:1.0.3'
    implementation 'com.squareup.okhttp3:okhttp:3.2.0'
    implementation 'com.wdullaer:materialdatetimepicker:2.4.0'
    implementation 'com.karumi:dexter:5.0.0'
    testImplementation 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'

Вот конфигурация проекта Gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'io.realm:realm-gradle-plugin:3.3.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.google.gms:google-services:4.1.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

ext {
    appName = "AkuKurir"
}

Вот XML:

<?xml version = "1.0" encoding = "utf-8"?>
<RelativeLayout xmlns:android = "http://schemas.android.com/apk/res/android"
    android:layout_width = "match_parent"
    android:layout_height = "match_parent"
    android:orientation = "vertical">
    <fragment xmlns:android = "http://schemas.android.com/apk/res/android"
        xmlns:tools = "http://schemas.android.com/tools"
        android:layout_width = "match_parent"
        android:layout_height = "match_parent"
        android:id = "@+id/maps"
        tools:context = ".MainActivity"
        android:name = "com.google.android.gms.maps.SupportMapFragment" />

    <LinearLayout
        android:id = "@+id/layoutButtonTop"
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content"
        android:layout_alignParentBottom = "true"
        android:visibility = "gone"
        android:paddingTop = "10dp"
        android:paddingLeft = "10dp"
        android:paddingRight = "10dp"
        android:orientation = "horizontal">

        <Button
            android:id = "@+id/bKerjaan"
            android:layout_width = "0dp"
            android:layout_height = "wrap_content"
            android:layout_weight = "1"
            android:onClick = "bKerjaan_clicked"
            android:text = "Kerjaan (0)"
            android:textSize = "16sp" />

        <Button
            android:id = "@+id/bMinta"
            android:layout_width = "0dp"
            android:layout_height = "wrap_content"
            android:layout_weight = "1"
            android:onClick = "bMinta_clicked"
            android:text = "Minta (0)"
            android:textSize = "16sp" />
    </LinearLayout>

    <LinearLayout
        android:id = "@+id/layoutButtonBelow"
        android:layout_alignParentBottom = "true"
        android:layout_width = "match_parent"
        android:background = "@color/white"
        android:layout_height = "wrap_content">
        <LinearLayout
            android:layout_width = "match_parent"
            android:layout_height = "wrap_content"
            android:paddingLeft = "16dp"
            android:paddingRight = "16dp"
            android:orientation = "vertical">

            <Button
                android:id = "@+id/bBidding"
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                android:layout_weight = "1"
                android:onClick = "bBidding_clicked"
                android:background = "@drawable/roundedbutton"
                android:text = "Bidding (0)"
                android:layout_marginBottom = "4dp"
                android:layout_marginTop = "8dp"
                android:textSize = "16sp" />

            <Button
                android:id = "@+id/bTugas"
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                android:layout_weight = "1"
                android:onClick = "bTugas_clicked"
                android:background = "@drawable/roundedbutton"
                android:text = "Tugas (0)"
                android:layout_marginBottom = "4dp"
                android:layout_marginTop = "4dp"
                android:textSize = "16sp" />

            <Button
                android:id = "@+id/bPendapatan"
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                android:layout_weight = "1"
                android:onClick = "bPendapatan_clicked"
                android:background = "@drawable/roundedbutton"
                android:layout_marginBottom = "8dp"
                android:layout_marginTop = "4dp"
                android:text = "Pendapatan"
                android:textSize = "16sp" />
        </LinearLayout>
    </LinearLayout>
    <ImageButton
        android:id = "@+id/ibRefresh"
        android:layout_width = "wrap_content"
        android:layout_height = "wrap_content"
        android:layout_above = "@id/layoutButtonBelow"
        android:layout_alignParentEnd = "true"
        android:layout_alignParentRight = "true"
        android:layout_marginBottom = "8dp"
        android:layout_marginRight = "8dp"
        android:src = "@drawable/ic_action_refresh" />
</RelativeLayout>

Журналы сбоев:

2018-10-12 14:50:59.186 26804-26804/? E/UncaughtException: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.akukurir.android/com.akukurir.android.MainActivity}: android.view.InflateException: Binary XML file line #6: Binary XML file line #6: Error inflating class fragment
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2792)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2870)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1601)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:172)
        at android.app.ActivityThread.main(ActivityThread.java:6590)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
     Caused by: android.view.InflateException: Binary XML file line #6: Binary XML file line #6: Error inflating class fragment
     Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
     Caused by: android.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment com.google.android.gms.maps.SupportMapFragment: calling Fragment constructor caused an exception
        at android.support.v4.app.Fragment.instantiate(Fragment.java:465)
        at android.support.v4.app.FragmentContainer.instantiate(FragmentContainer.java:50)
        at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:3736)
        at android.support.v4.app.FragmentController.onCreateView(FragmentController.java:120)
        at android.support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:405)
        at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:387)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:780)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
        at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:419)
        at android.app.Activity.setContentView(Activity.java:2683)
        at com.akukurir.android.MainActivity.onCreate(MainActivity.java:80)
        at android.app.Activity.performCreate(Activity.java:7023)
        at android.app.Activity.performCreate(Activity.java:7014)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1215)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2745)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2870)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1601)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:172)
        at android.app.ActivityThread.main(ActivityThread.java:6590)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
     Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Constructor.newInstance0(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
        at android.support.v4.app.Fragment.instantiate(Fragment.java:443)
        at android.support.v4.app.FragmentContainer.instantiate(FragmentContainer.java:50) 
        at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:3736) 
        at android.support.v4.app.FragmentController.onCreateView(FragmentController.java:120) 
        at android.support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:405) 
        at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:387) 
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:780) 
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) 
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:863) 
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
        at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:419) 
        at android.app.Activity.setContentView(Activity.java:2683) 
        at com.akukurir.android.MainActivity.onCreate(MainActivity.java:80) 
        at android.app.Activity.performCreate(Activity.java:7023) 
        at android.app.Activity.performCreate(Activity.java:7014) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1215) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2745) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2870) 
        at android.app.ActivityThread.-wrap11(Unknown Source:0) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1601) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:172) 
        at android.app.ActivityThread.main(ActivityThread.java:6590) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 
     Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/maps/SupportMapFragment$zzb;
        at com.google.android.gms.maps.SupportMapFragment.<init>(Unknown Source:3)
        at java.lang.reflect.Constructor.newInstance0(Native Method) 
        at java.lang.reflect.Constructor.newInstance(Constructor.java:334) 
        at android.support.v4.app.Fragment.instantiate(Fragment.java:443) 
        at android.support.v4.app.FragmentContainer.instantiate(FragmentContainer.java:50) 
        at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:3736) 
        at android.support.v4.app.FragmentController.onCreateView(FragmentController.java:120) 
        at android.support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:405) 
        at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:387) 
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:780) 
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730) 
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:863) 
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
        at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:419) 
        at android.app.Activity.setContentView(Activity.java:2683) 
        at com.akukurir.android.MainActivity.onCreate(MainActivity.java:80) 
        at android.app.Activity.performCreate(Activity.java:7023) 
        at android.app.Activity.performCreate(Activity.java:7014) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1215) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2745) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2870) 
        at android.app.ActivityThread.-wrap11(Unknown Source:0) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1601) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:172) 
        at android.app.ActivityThread.main(ActivityThread.java:6590) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 
     Caused by: java.lang.ClassNotFoundException: com.google.android.gms.maps.SupportMapFragment$zzb
        at java.lang.VMClassLoader.findLoadedClass(Native Method)
2018-10-12 14:50:59.186 26804-26804/? E/UncaughtException:     at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:738)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:363)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
            ... 32 more
     Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/dynamic/zza;
            ... 32 more
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.dynamic.zza" on path: DexPathList[[zip file "/data/app/com.akukurir.android-AeYi8U9gmESv2Td7QUvHGg==/base.apk"],nativeLibraryDirectories=[/data/app/com.akukurir.android-AeYi8U9gmESv2Td7QUvHGg==/lib/arm64, /data/app/com.akukurir.android-AeYi8U9gmESv2Td7QUvHGg==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)

А используемые вами коды для карты и фрагмента, пожалуйста? Error inflating class fragment - Unable to instantiate fragment com.google.android.gms.maps.SupportMapFragment:

ʍѳђઽ૯ท 12.10.2018 10:13

извините, XML добавлен

ariefbayu 12.10.2018 10:19
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
1 556
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Error inflating class fragment - Unable to instantiate fragment com.google.android.gms.maps.SupportMapFragment

Вы должны добавить play-services-maps в свой раздел build.gradle.

implementation "com.google.android.gms:play-services-maps:$googlePlayVersion" //like-->15.0.0

XML

  <fragment
   class = "com.google.android.gms.maps.SupportMapFragment"

Примечание

Ваш раздел onCreate(Bundle savedInstanceState) будет

mapFragment = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.your_id));
        if (mapFragment != null) {
            mapFragment.getMapAsync(new OnMapReadyCallback() {
                @Override
                public void onMapReady(GoogleMap map) {
                    //loadMap(map);
                }
            });
        } else {
            Toast.makeText(this, "Error - Map Fragment was null!!", Toast.LENGTH_SHORT).show();
        }

о, стреляй! пропустил тот! Почему компилятор не жалуется :(. Большое спасибо!

ariefbayu 12.10.2018 10:21

Моя ошибка была в том, что я забыл включить play-services-maps. Он был там ранее и случайно удален после некоторой модификации.

ariefbayu 12.10.2018 10:25

Ваше решение решило проблему. Глупая ошибка :(.

ariefbayu 12.10.2018 10:27

@ariefbayu иногда бывает.

IntelliJ Amiya 12.10.2018 10:29

Верно, хе-хе-хе. Неудачный момент в том, что уже сделал различие в репо и все же пропустил его. В любом случае, большое спасибо!

ariefbayu 12.10.2018 10:30

Другие вопросы по теме