是否可以在不重新编译的情况下使科尔多瓦应用程序可调试?

Posted

技术标签:

【中文标题】是否可以在不重新编译的情况下使科尔多瓦应用程序可调试?【英文标题】:Is it possible to make a cordova app debuggable without recompiling? 【发布时间】:2021-11-11 20:38:16 【问题描述】:

我有一个旧版本应用程序的 .apk 文件,但无法使用 cordova 从源代码重建应用程序。我正在尝试调试错误并希望启用远程调试。是否可以在不重新构建应用的情况下启用 webview 的远程调试?

我尝试使用 apktool 解压应用程序,将 android:debuggable="true" 添加到 AndroidManifest.xml,然后重新打包并退出 .apk。

当我运行应用程序时,我可以在 chrome://inspect#devices 的设备列表中看到该设备,但 web 视图没有出现。我错过了什么吗?

【问题讨论】:

请注意,在代码中WebView.setWebContentsDebuggingEnabled(true); 已设置,developer.chrome.com/docs/devtools/remote-debugging/webviews 感谢@MorrisonChang!这似乎是问题所在。如果您想将此添加为答案,我会接受它 【参考方案1】:

在 Android 上,为了调试应用内的 WebView,必须在应用的代码中设置以下内容:

WebView.setWebContentsDebuggingEnabled(true);

发件人:https://developer.chrome.com/docs/devtools/remote-debugging/webviews/

鉴于您正在对 APK 进行逆向工程,您可能需要查看代码是否存在并需要特殊标志或尝试自己添加 Smali code。

【讨论】:

以上是关于是否可以在不重新编译的情况下使科尔多瓦应用程序可调试?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在不关闭 .txt 的情况下使 StreamWriter 覆盖行?

是否可以在不安装 Excel 的情况下使其自动化?

是否可以在不隐藏键盘的情况下使 UITextView 处于非活动状态(可编辑 = 否)?

dequeueBuffer: 不能在不设置缓冲区计数的情况下使多个缓冲区出队

如何在不先启动 IE 的情况下使我的 WinCE 应用程序中的网络工作?

如何在不打开应用程序的情况下使 ContentObserver 工作?