Android emulator 在需要最新Google Play服务的应用程序中排除Android 4.3 webview故障

Android emulator 在需要最新Google Play服务的应用程序中排除Android 4.3 webview故障,android-emulator,android-webview,google-chrome-devtools,google-play-services,genymotion,Android Emulator,Android Webview,Google Chrome Devtools,Google Play Services,Genymotion,我需要解决在我的应用程序中运行的webview中出现的问题。此问题仅在低于或等于4.3的Android版本上出现。我的应用程序需要最新版本的Google Play服务 为了解决我的webview问题,我通常可以在Android Emulator下运行我的应用程序(使用最新版本的Android),然后通过Chrome(使用chrome://inspect)-web视图显示在Chrome中,我可以浏览DOM并进行调试 为了在4.3下运行该应用程序,我根据现有设备定义创建了一个新设备(在AVD下),

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

为了解决我的webview问题,我通常可以在Android Emulator下运行我的应用程序(使用最新版本的Android),然后通过Chrome(使用chrome://inspect)-web视图显示在Chrome中,我可以浏览DOM并进行调试

为了在4.3下运行该应用程序,我根据现有设备定义创建了一个新设备(在AVD下), 然后选择目标谷歌API(谷歌公司)-API级别18。然后,我安装了我的应用程序,但在尝试运行它时,我收到错误消息“除非更新Google Play服务,否则此应用程序不会运行。”。上一个对话框上有一个“更新”按钮,但单击它时不会发生任何事情

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

现在的诀窍是能够从我的本地Chrome浏览器连接到web视图。我已经启用了如上所述的远程调试。现在我的设备显示在Chrome中,但web视图没有显示在inspector中。类似地,如果我在本机浏览器下打开一个新选项卡,它将不会显示在远程检查器中。如果我在Android Chrome下打开一个新标签,我可以看到它显示在我的远程Chrome检查器下

我可以看到两种方法向前发展,并成功访问我的webview的DOM:

  • 修复运行4.3的Android Emulator下的“更新”问题

  • 在Genymotion下运行应用程序时,从Chrome inspector连接到我的web视图

你知道如何解决这两个问题中的一个吗?

远程调试web视图只适用于android 4.4及以上版本的设备。 看看这个:

我有时会使用它。它是调试android 4.3及更低版本的webview的一个非常好的工具。它提供了与chrome调试器几乎相同的接口

您需要做的是:

安装weinre

sudo npm -g install weinre
weinre --boundHost -all- --httpPort 8081
客户端:

将以下代码插入网页的
部分

注意:最好将它放在
部分的末尾,否则会出现一些奇怪的错误,调试器将不会显示

<script src="http://<your server ip here>:8081/target/target-script-min.js"></script>
调试器

从桌面浏览器从weinre打开调试器工具:

http://localhost:8081/client/
最后,


选择目标部分中的任何目标,然后开始调试。

这是我链接的文档中的目标。无法相信android在4.4之前不支持这一点,老实说,通过阅读,我认为web视图需要配置为可以被inspector访问,而在4.4之前,它总是可以访问的。没关系,我必须找到一种不同的方法来解决我的问题,因为chrome inspector在这里似乎毫无价值。这在本地调试(即在同一台机器上)上运行良好,有没有方法调试连接到服务器的真实设备?目前我没有看到列出远程设备