Почему мое приложение не работает с Admob и Firebase?

Я опубликовал приложение в Google Play. Затем я подключил его к Admob, и приложение работает, показывая мне баннер admob. Иногда при запуске вылетает, иногда нет. Я просмотрел Android Studio Logcat, и это ошибка. Кто-нибудь может мне помочь?

Process: it.bluebait.mycurrency, PID: 13200
    java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion;
        at lt.b(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:2)
        at ls.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:1)
        at lu.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:18)
        at com.google.android.gms.ads.internal.util.ar.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:10)
        at kx.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:7)
        at kx.run(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:2)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.http.ProtocolVersion" on path: DexPathList[[zip file "/data/user_de/0/com.google.android.gms/app_chimera/m/0000001f/dl-AdsFdrDynamite.integ_30000000.apk"],nativeLibraryDirectories=[/data/user_de/0/com.google.android.gms/app_chimera/m/0000001f/n/arm64-v8a, /system/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:169)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at ac.loadClass(:com.google.android.gms.dynamite_dynamiteloader@[email protected] (100400-239467275):4)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at lt.b(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:2) 
        at ls.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:1) 
        at lu.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:18) 
        at com.google.android.gms.ads.internal.util.ar.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:10) 
        at kx.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:7) 
        at kx.run(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:2) 
2019-04-09 19:43:27.941 15295-15544/? E/AndroidRuntime: FATAL EXCEPTION: Thread-10
    Process: it.bluebait.mycurrency, PID: 15295
    java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/ProtocolVersion;
        at lt.b(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:2)
        at ls.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:1)
        at lu.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:18)
        at com.google.android.gms.ads.internal.util.ar.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:10)
        at kx.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:7)
        at kx.run(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:2)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.http.ProtocolVersion" on path: DexPathList[[zip file "/data/user_de/0/com.google.android.gms/app_chimera/m/0000001f/dl-AdsFdrDynamite.integ_30000000.apk"],nativeLibraryDirectories=[/data/user_de/0/com.google.android.gms/app_chimera/m/0000001f/n/arm64-v8a, /system/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:169)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at ac.loadClass(:com.google.android.gms.dynamite_dynamiteloader@[email protected] (100400-239467275):4)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at lt.b(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:2) 
        at ls.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:1) 
        at lu.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:18) 
        at com.google.android.gms.ads.internal.util.ar.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:10) 
        at kx.a(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:7) 
        at kx.run(:com.google.android.gms.policy_ads_fdr_dynamite@[email protected]:2) 
2019-04-09 19:43:27.953 563-563/? E/SELinux: avc:  denied  { find } for service=opdiagnose pid=15295 uid=10236 scontext=u:r:untrusted_app:s0:c236,c256,c512,c768 tcontext=u:object_r:opdiagnose_service:s0 tclass=service_manager permissive=0
2019-04-09 19:43:27.956 563-563/? E/SELinux: avc:  denied  { find } for service=opdiagnose pid=15295 uid=10236 scontext=u:r:untrusted_app:s0:c236,c256,c512,c768 tcontext=u:object_r:opdiagnose_service:s0 tclass=service_manager permissive=0
5
0
2 356
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Android 9.0 окончательно удалил по умолчанию все следы старой HTTP-библиотеки Apache. Однако кажется, что некоторым библиотекам это нужно. Вам нужно добавить это в свой манифест внутри элемента <application>:

<uses-library
    android:name = "org.apache.http.legacy"
    android:required = "false"/>

Источник: https://developer.android.com/about/versions/pie/android-9.0-changes-28#apache-p

наконец-то да, они какое-то время любят играть с открытым исходным кодом.

alex 12.05.2019 15:03

Официальная ветка поддержки - они также рекомендуют этот обходной путь: groups.google.com/d/msg/google-admob-ads-sdk/K1HKru7RutY/…

Mike Hardy 06.06.2019 17:08

я предлагаю обновить вам обновить зависимости до последних версий. путь к классам 'com.google.gms:google-services:4.0.1'

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