Phonegap应用程序的Android远程调试不起作用

Jav*_*der 16 android google-chrome remote-debugging google-chrome-devtools cordova

嗨,我正在尝试通过Chrome在我的设备上调试我的phonegap应用程序我已按照所有步骤操作,我的手机被adb devices命令识别,

然后我去chrome:// inspect /#devices我可以看到我的手机,但是这条消息出现在浏览器上:

离线

0019C9AD7EF31F

待认证:请接受设备上的调试会话.

事情是我的手机里没有这样的信息,我有一个带有kitkat的Sansumg Galaxy S2.我将版本从4.1更新到4.4,因为我认为这是问题,但在升级到4.4同样的问题之后.

以前有人遇到过这个问题吗?

aha*_*s88 17

问题是远程调试过去只适用于Android上的Chrome浏览器,但不适用于像phonegap一样的应用内的网页浏览.但是对于Android 4.4(Kitkat)和Phonegap 3.3,现在支持此功能.

我在这里写了一篇关于它的博客文章:

http://adamwadeharris.com/remote-debugging-in-phonegap-with-chrome-devtools/

基本上,您需要在应用程序的主Java文件中启用webview调试,并确保您的应用程序针对API版本19(Kitkat).如果您没有使用Kitkat的设备,则可以使用模拟器.

以下是启用webview调试的方法:

在platforms/android/src/com/yourAppName/YourAppName.java中,在其他import语句下添加以下行

import android.os.Build;
import android.webkit.WebView;
Run Code Online (Sandbox Code Playgroud)

并在onCreate方法中添加以下内容:

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
  WebView.setWebContentsDebuggingEnabled(true);
}
Run Code Online (Sandbox Code Playgroud)

  • 这不再是真的,使用Cordova/Phonegap 3.3+,您只需在AndroidManifest.xml中添加Debuggable标志即可.请参阅https://github.com/phonegap/phonegap/wiki/Debugging-in-PhoneGap#chrome-remote-debugging (4认同)
  • 如果您在IntelliJ或Eclipse中构建工具,并且正在为您添加它并在生成签名SDK时将其删除,则实际上不再需要添加Debuggable标志(请参阅http://stackoverflow.com/questions/9868241/avoid-硬编码最调试模式预警功能于Android的清单) (2认同)