【问题标题】:Package not found: com.android.chrome找不到包:com.android.chrome
【发布时间】:2017-12-22 16:29:46
【问题描述】:

我在应用程序中看到了很多崩溃,这里的消息用作标题。几乎所有的崩溃都发生在 OnePlus 设备上,其中大部分发生在从 Android Oreo 分叉的 Oxygen OS 版本上。有没有其他人看过这个?以下是堆栈跟踪:

 java.lang.RuntimeException: Package not found: com.android.chrome
    at android.webkit.WebViewDelegate.getPackageId(WebViewDelegate.java:164)
    at com.android.webview.chromium.ig.L(WebViewDelegateFactory.java:16)
    at com.android.webview.chromium.WebViewChromiumFactoryProvider.h(WebViewChromiumFactoryProvider.java:177)
    at com.android.webview.chromium.se.run(WebViewChromiumFactoryProvider.java:5)
    at android.os.Handler.handleCallback(Handler.java:789)
    at android.os.Handler.dispatchMessage(Handler.java:98)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6809)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

编辑:2018 年 2 月 18 日:

几周前我们收到了团队的一加 5T(OnePlus A5010),在运行我们的应用程序时没有发现任何问题。该设备预装了 Android 7.0 的 OxygenOS 分支。但是,今天设备收到了 Android 8.0.0(OxygenOS 5.0.3) 更新通知,成功安装更新后,我们的应用程序崩溃并显示相同的堆栈跟踪。这次崩溃严重影响了我们的用户群。任何帮助将不胜感激。

【问题讨论】:

  • chrome 安装了吗?还是有其他浏览器?
  • 仍在等待订购的 OnePlus 设备到货,因此无法回答与设备相关的问题。但在大约 480 名使用 OnePlus 设备的用户中,崩溃发生了大约 2500 次。
  • 也许 chrome 需要您不允许的特殊权限,尝试接受 chrome 应用管理器的所有权限
  • 没有更多的调查了吗?

标签: android android-webview chromium


【解决方案1】:

WebView 现在由 Nougat 的 Chrome 控制。 Reference

对我有用的解决方案是在 AndroidManifest.xml 中注释这些行

<meta-data android:name="preloaded_fonts" 
           android:resource="@array/preloaded_fonts" />   

如建议here

【讨论】:

  • 我们的清单文件中没有这一行。此外,当应用打开 web 视图时,我们看不到任何问题。
  • 你能告诉我崩溃发生的确切时间吗?
  • 没有明显的方法可以重现此崩溃。有时,它发生在应用程序启动期间,有时它在与应用程序交互时随机发生。但是在使用 webView 时不会发生。
【解决方案2】:

您的设备上是否有多个配置文件?

在与 WebView 相关的 Google (Android Enterprise) 支持论坛上有一个 known issue。看来该解决方案很可能适用于您的问题。

总结:

在 Android Nougat 中添加了一项功能,将 Chrome WebView 设置为默认 WebView,并默认禁用 Android System WebView 应用

在以下情况下会出现问题:

  • 设备需要运行 Android Oreo (Android 8.0)
  • 设备上有多个用户(例如,有工作资料和个人资料)
  • 没有为设备上的至少一位用户启用 Chrome。注意:Chrome 默认在工作配置文件中处于禁用状态。
  • Chrome 已在设备上更新,并且设备已[not?]在 Chrome 更新后重新启动。
  • Android System WebView 应用尚未通过 Google Play 更新。

你需要做什么:

为设备上的每个用户启用 Chrome或等待 Android System WebView 应用更新到其最新版本(如果设备有 WiFi 连接,更新会在 24 小时内自动发生)

【讨论】:

  • 那么一加有没有隐藏的配置文件?至少对于您自己的个人资料,可能值得检查 chrome webview 或标准 android 是否被禁用(我建议通过 packagemanager 进行而不是依赖于 UI 显示的内容)
  • 不,没有隐藏配置文件,也没有禁用 chrome 和标准 webview。
【解决方案3】:

您是否碰巧在您的应用中使用了 Facebook Audience Network SDK? 遇到同样的崩溃,似乎崩溃与 FAN SDK 直接相关(使用 4.27.1)。当应用尝试显示来自 FAN 的广告时,它有时会崩溃(目前仅在 OnePlus 设备上)。

这尚未 100% 确认,但可能会有所帮助。

编辑:它可能与任何其他广告网络 SDK 有关,其中许多使用 WebView 来显示广告。在这种情况下,FAN SDK 仅在 AdMob 出现问题时作为备用调用。很容易发生它也会使 AdMob 崩溃,但 SDK 会处理它而 FAN 不会。

【讨论】:

  • 该应用不使用风扇。该应用也不使用任何类型的广告网络。
猜你喜欢
  • 1970-01-01
  • 2021-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-11
  • 2020-12-17
  • 2013-07-25
  • 2014-02-27
相关资源
最近更新 更多