【问题标题】:Why does my app crashes with Admob and Firebase?为什么我的应用会因 Admob 和 Firebase 崩溃?
【发布时间】:2019-04-10 01:56:37
【问题描述】:

我在 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@30000@30000.238272502.238272502:2)
        at ls.a(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502:1)
        at lu.a(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502:18)
        at com.google.android.gms.ads.internal.util.ar.a(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502:10)
        at kx.a(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502:7)
        at kx.run(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502: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@16089081@16.0.89 (100400-239467275):4)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at lt.b(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502:2) 
        at ls.a(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502:1) 
        at lu.a(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502:18) 
        at com.google.android.gms.ads.internal.util.ar.a(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502:10) 
        at kx.a(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502:7) 
        at kx.run(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502: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@30000@30000.238272502.238272502:2)
        at ls.a(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502:1)
        at lu.a(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502:18)
        at com.google.android.gms.ads.internal.util.ar.a(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502:10)
        at kx.a(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502:7)
        at kx.run(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502: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@16089081@16.0.89 (100400-239467275):4)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at lt.b(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502:2) 
        at ls.a(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502:1) 
        at lu.a(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502:18) 
        at com.google.android.gms.ads.internal.util.ar.a(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502:10) 
        at kx.a(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502:7) 
        at kx.run(:com.google.android.gms.policy_ads_fdr_dynamite@30000@30000.238272502.238272502: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

【问题讨论】:

    标签: android firebase admob


    【解决方案1】:

    Android 9.0 最终默认删除了旧 Apache HTTP 库的所有痕迹。然而,似乎有些图书馆需要它。您需要将其添加到 <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

    【讨论】:

    【解决方案2】:

    我建议更新您将依赖项更新到最新版本。 类路径 'com.google.gms:google-services:4.0.1'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-06
      • 2011-08-08
      • 2020-10-18
      相关资源
      最近更新 更多