gpt4 book ai didi

android-emulator - 对需要最新 Google Play 服务的应用程序中的 Android 4.3 webview 进行故障排除

转载 作者:行者123 更新时间:2023-12-05 00:24:40 24 4
gpt4 key购买 nike

我需要解决在我的应用程序中运行的 web View 中发生的问题。此问题仅在低于或等于 4.3 的 Android 版本上出现。我的应用需要最新版本的 Google Play 服务。

为了对我的 webview 进行故障排除,我通常可以在 Android Emulator 下运行我的应用程序(使用最新版本的 Android),然后通过 Chrome 连接到 web View (使用 chrome://inspect) - web View 出现在 Chrome 和我能够浏览 DOM 并进行调试。

为了在 4.3 下运行应用程序,我从现有设备定义中创建(在 AVD 下)一个新设备,
然后选择目标 Google API (Google Inc.) - API 级别 18。然后我安装了我的应用程序,但是在尝试运行它时,我收到错误消息“除非您更新 Google Play 服务,否则此应用程序将无法运行。 ”。上一个对话框中有一个“更新”按钮,但单击它时没有任何 react 。

然后我尝试使用 Genymotion 调试我的问题。我在4.3下创建了一个设备,后面跟着these instructions使用最新的 Google Play 服务刷新我的设备并安装我的应用程序。我现在可以运行该应用程序并在此模拟环境中重现该问题。

现在的诀窍是能够从我的本地 Chrome 浏览器连接到 Web View 。我已经按照 here 的描述启用了远程调试。 .现在我的设备出现在 Chrome 中,但 WebView 没有出现在检查器中。同样,如果我在 native 浏览器下打开一个新选项卡,它不会显示在远程检查器中。如果我在 Android Chrome 下打开一个新标签,我可以看到它显示在我的远程 Chrome 检查器下。

我可以看到两种方式向前推进并成功访问我的 webview 的 DOM:

  • 修复运行 4.3 的 Android 模拟器下的“更新”问题

  • 或者
  • 在 Genymotion
  • 下运行应用程序时,从我的 Chrome 检查器连接到我的 Web View

    关于如何解决这两个问题之一的任何想法?

    最佳答案

    我一直在使用weinre有时。这是一个很好的工具来调试 android 4.3 及更低版本的 webview。它提供与 chrome 调试器几乎相同的界面。
    您需要做的就是:
    安装微热

    sudo npm -g install weinre
    客户端:
    将以下代码插入您的网页 <head>部分。
    注意:最好放在 <head>的末尾部分,否则会出现一些奇怪的错误并且调试器不会出现。
    <script src="http://<your server ip here>:8081/target/target-script-min.js"></script>
    服务器端
    weinre --boundHost -all- --httpPort 8081
    调试器
    从桌面浏览器打开 weinre 的调试器工具:
    http://localhost:8081/client/
    最后,
    在 Targets 部分中选择任何目标,然后开始调试。

    关于android-emulator - 对需要最新 Google Play 服务的应用程序中的 Android 4.3 webview 进行故障排除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25795699/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com