小编sag*_*gis的帖子

ClassNotFoundException:“androidx.work.impl.WorkManagerInitializer”

Google AdMob Ads 库版本 19.4.0 升级到 19.5.0 后,部分设备上出现了新的异常:

Caused by java.lang.ClassNotFoundException 
Didn't find class "androidx.work.impl.WorkManagerInitializer" on path: ...
dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:196)
androidx.core.app.CoreComponentFactory.instantiateProvider (CoreComponentFactory.java)
android.app.ActivityThread.installProvider (ActivityThread.java:7213)
android.app.ActivityThread.installContentProviders (ActivityThread.java:6769)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:941)
Run Code Online (Sandbox Code Playgroud)

该异常出现在 Android 8 和 10 的设备上。

AdMob 库 19.5.0 添加了对 WorkManager 2.1.0 的依赖项(通过 Play Services Ads Lite 库): https://mvnrepository.com/artifact/com.google.android.gms/play-services-ads-lite/19.5.0

在这个问题上有一个类似的问题,但它似乎是无关的(较旧的Android操作系统版本具有多个dex,而这里是单个dex和较新的操作系统版本)。

目前我降级到 AdMob 19.4.0,其中不包含 WorkManager 依赖项。

更新(2020.12.18)

  • 异常频率为每 1000 台运行 Android 10 的设备 1 次。
  • 强制使用 WorkManager 2.4.0(而不是 2.1.0)也会生成异常。
  • 该问题与 AdMob 无关。使用 AdMob 19.4.0 将 WorkManager 添加到项目中重现了该问题。
  • 我目前的假设是,该问题是由 AudienceNetwork 和 WorkManager …

android admob facebook-audience-network android-workmanager

11
推荐指数
2
解决办法
7549
查看次数

安装 Referrer Library v1.1 添加权限

将 Install Referrer Library 从 v1.0 更新到 v1.1 添加了以下权限:

WRITE_EXTERNAL_STORAGE

READ_EXTERNAL_STORAGE

READ_PHONE_STATE

这些权限不存在于 Install Referrer Library manifest.xml 中:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.installreferrer" >

    <uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE" />

    <application />

</manifest>
Run Code Online (Sandbox Code Playgroud)

来源:https : //mvnrepository.com/artifact/com.android.installreferrer/installreferrer/1.1

为什么将这些权限添加到合并的清单中?

android install-referrer

9
推荐指数
2
解决办法
1267
查看次数

启动前报告异常:IllegalStateException:未连接。调用 connect() 并等待 onConnected() 被调用

在使用 Google Play 游戏服务登录集成更新多个游戏后,预发布报告中出现以下异常:

Exception java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=969353318, result=-1, data=null} to activity {com.google.android.gms/com.google.android.gms.games.ui.signinflow.SignInActivity}: java.lang.IllegalStateException: Not connected. Call connect() and wait for onConnected() to be called.
  at android.app.ActivityThread.deliverResults (ActivityThread.java:5347)
  at android.app.ActivityThread.handleSendResult (ActivityThread.java:5386)
  at android.app.servertransaction.ActivityResultItem.execute (ActivityResultItem.java:67)
  at android.app.servertransaction.ActivityTransactionItem.execute (ActivityTransactionItem.java:45)
  at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2308)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loopOnce (Looper.java:201)
  at android.os.Looper.loop (Looper.java:288)
  at android.app.ActivityThread.main (ActivityThread.java:7898)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:936)
Caused by java.lang.IllegalStateException: Not connected. Call connect() and wait for …
Run Code Online (Sandbox Code Playgroud)

android google-play-games

5
推荐指数
0
解决办法
368
查看次数

缺少类 com.google.android.datatransport.runtime.ForcedSender

将 Crashlytics 从 18.2.13 更新到 18.3.0 版本后,显示以下 R8 警告:

缺少类 com.google.android.datatransport.runtime.ForcedSender (引用自:void com.google.firebase.crashlytics.internal.send.ReportQueue.lambda$flushScheduledReportsIfAble$0(java.util.concurrent.CountDownLatch))

android crashlytics

3
推荐指数
1
解决办法
839
查看次数

1
推荐指数
1
解决办法
1689
查看次数