Я разрабатываю приложение для Android, которое содержит карту Google. Он хорошо работает, когда я обновляю сервисы Google Play и compileSdkVersion больше 25, но по некоторым причинам я не хочу его обновлять.
У моего градиента уровня приложения есть реализация com.google.android.gms: play-services-maps: 11.8.0, а у моего уровня проекта gradle есть путь к классам com.google.gms: google-services: 3.1.1.
При запуске карты я столкнулся с этим исключением.
ava.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/dynamic/DeferredLifecycleHelper;
at java.lang.Class.newInstance(Native Method)
at android.support.v4.app.Fragment.instantiate(Fragment.java:434)
at android.support.v4.app.Fragment.instantiate(Fragment.java:409)
at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:3508)
at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:47)
at com.tsengvn.typekit.TypekitLayoutInflater$WrapperFactory2.onCreateView(TypekitLayoutInflater.java:223)
at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:186)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:772)
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 com.tsengvn.typekit.TypekitLayoutInflater.inflate(TypekitLayoutInflater.java:75)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at com.tsengvn.typekit.TypekitLayoutInflater.inflate(TypekitLayoutInflater.java:69)
at com.a1paradise.wifon.view.fragments.main.MapFragment.onCreateView(MapFragment.java:35)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:2248)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1340)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1569)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1636)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:758)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2415)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2201)
at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2155)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2064)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:718)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.dynamic.DeferredLifecycleHelper" on path: DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/com.a1paradise.wifon-OQzxZ4QXyddZsMW-3OtizA==/base.apk"],nativeLibraryDirectories=[/data/app/com.a1paradise.wifon-OQzxZ4QXyddZsMW-3OtizA==/lib/x86, /data/app/com.a1paradise.wifon-OQzxZ4QXyddZsMW-3OtizA==/base.apk!/lib/x86, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at java.lang.Class.newInstance(Native Method)
at android.support.v4.app.Fragment.instantiate(Fragment.java:434)
at android.support.v4.app.Fragment.instantiate(Fragment.java:409)
at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:3508)
at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:47)
at com.tsengvn.typekit.TypekitLayoutInflater$WrapperFactory2.onCreateView(TypekitLayoutInflater.java:223)
at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:186)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:772)
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 com.tsengvn.typekit.TypekitLayoutInflater.inflate(TypekitLayoutInflater.java:75)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at com.tsengvn.typekit.TypekitLayoutInflater.inflate(TypekitLayoutInflater.java:69)
at com.a1paradise.wifon.view.fragments.main.MapFragment.onCreateView(MapFragment.java:35)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:2248)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1340)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1569)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1636)
at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:758)
at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2415)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2201)
at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2155)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2064)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:718)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Я также использовал useLibrary 'org.apache.http.legacy' в градиенте уровня проекта, но это не сработало.
Моя версия компиляции и sdk:
compileSdkVersion 25
buildToolsVersion '27.0.3'
Hi include this dependency
implementation 'com.google.android.gms:play-services-maps:15.0.1'
implementation 'com.google.android.gms:play-services-plus:15.0.1'
implementation 'com.google.android.gms:play-services-location:15.0.1'
implementation 'com.google.maps.android:android-maps-utils:0.5'
and add in main project gradle:
classpath 'com.google.gms:google-services:4.0.1'