代码之家  ›  专栏  ›  技术社区  ›  Gabriel

缺少Chrome包导致WebView活动崩溃

  •  0
  • Gabriel  · 技术社区  · 5 年前

    我的应用程序在Play Store上已经运行了好几年了。 主活动的布局XML包含 WebView . 最近,该应用程序在发布时就开始崩溃(但并非总是如此,也并非在所有设备上都如此)。

    Logcat显示 RuntimeException WebViewFactory 关于 找不到包:com.android.chrome浏览器 .

    我没有显式地使用这个系统类。无论 网络视图 是XML布局的一部分,或以编程方式实例化。不 try / catch 会有帮助的。

    06-26 18:22:52.560  1363  1409 I ActivityManager: Displayed com.my.app/.MyActivity: +46ms
    06-26 18:22:52.829  1363  6524 D ActivityManager: # addPackageDependency # packageName=com.android.chrome -> proc: ProcessRecord{e72ceb3 9789:com.my.app/u0a214}
    06-26 18:22:52.839  9789  9789 I WebViewFactory: Loading com.android.chrome version 75.0.3770.101 (code 377010137)
    --------- beginning of crash
    06-26 18:22:52.903  9789 10122 E AndroidRuntime: FATAL EXCEPTION: Thread-2
    06-26 18:22:52.903  9789 10122 E AndroidRuntime: Process: com.my.app, PID: 9789
    06-26 18:22:52.903  9789 10122 E AndroidRuntime: java.lang.RuntimeException: Package not found: com.android.chrome
    06-26 18:22:52.903  9789 10122 E AndroidRuntime:        at android.webkit.WebViewDelegate.getPackageId(WebViewDelegate.java:164)
    06-26 18:22:52.903  9789 10122 E AndroidRuntime:        at xZ.a(PG:16)
    06-26 18:22:52.903  9789 10122 E AndroidRuntime:        at xq.run(PG:14)
    06-26 18:22:52.903  9789 10122 E AndroidRuntime:        at java.lang.Thread.run(Thread.java:764)
    06-26 18:22:52.908  9789  9789 I cr_LibraryLoader: Time to load native libraries: 3 ms (timestamps 7584-7587)
    06-26 18:22:52.909  9789 10123 D OSTracker: OS Event: crash
    06-26 18:22:52.844  1363  6524 D ActivityManager: # addPackageDependency # packageName=com.android.chrome -> proc: ProcessRecord{e72ceb3 9789:com.my.app/u0a214}
    06-26 18:22:52.911  1363  3290 W ActivityManager:   Force finishing activity com.my.app/.MyActivity
    

    (我用 com.my.app 在上面的日志中,为了清楚起见。)

    这些行都不是我自己的日志字符串。全是系统的。

    崩溃设备确实安装了chromeapk,WebView实现被定义为Chrome。

    在我看来,在应用程序发布时 com.android.chrome浏览器 依赖关系尚未就绪,系统无法加载它并将其绑定到我的进程。

    有没有办法强制预加载依赖项?

    谢谢。

    0 回复  |  直到 5 年前