jianjia
安卓下调试javascript脚本时,首先需要一个环境,一般的做法是移植一个js引擎到安卓手机里面,然后进行断点调试。这样能保证安卓下运行脚本的真实性,但手机编写代码非常不方便,编程还是在PC上方便写。
PC上编写javascript脚本,一般用vscode等第三方,但是也非常不方便,最好的解决办法是用在线IDE,实现智能提示、断点调试等功能,通过网络和安卓手机进行实时通讯解决联调的问题。
这个连接不是硬件连接,不需要usb连线,而是通过网络直接连接的,所以可以实现真正的远程调试。
用在线IDE的好处是浏览器直接打开,可以跨平台,无论windows,苹果,linux都支持。
实现目标:浏览器网页上编写javascript代码,连接安卓手机,在安卓中执行javascript代码,并可以将javascript代码直接生成安卓程序(APK)。
如果实现调试功能,需要解决以下几个问题:
1.在线IDE代码和安卓手机实时同步
2.在线IDE断点和安卓手机实时同步
3.在线IDE调试信息的实时回传 实现这个的方法是建立一个网络机制,网页IDE端和手机进行实时数据同步,在此基础上代码同步就佷容易了,实时传代码到安卓手机即可。断点数组记录下来,也同时传给安卓手机。
断点调试分几种,分别:
debug/contionue开始调试/继续执行 (F5)stopdebugging停止调试(shift+F5)
stepover单步(F10)
setpinto单步进入(F11)
stepout单步跳出(shift+F11)
javascript调试相当比较简单,不像C语言需要转换成汇编指令需要查看寄存器,直接解析执行就可以完成。
[JavaScript]
//--------------------------------------------------------------------------------------------------
//Ctrl.js 开发环境:http://ikaiwei.com:8889/ctrljs/
//Ctrl.js 视频教程:https://www.bilibili.com/video/BV1y54y1D7rr?from=search&seid=6533699600441036938
//Ctrl.js 帮助文档:http://www.ikaiwei.com/download/ctrljs/ctrl.js.pdf
//Ctrl.js 开发文档:http://ikaiwei.com:8889/ctrljsapi/index.html
//Ctrl.js 手机app(开维控制精灵)华为下载:https:///app/C100728387
//Ctrl.js 后台保活:禁止屏幕休眠;开启悬浮框;关闭电池优化
//--------------------------------------------------------------------------------------------------
// 脚本功能:javascript在线调试安卓示例
// 运行环境:华为手机,安卓9.0以上版本
// 注意事项:1.确保网页端和安卓手机,同一个手机号登录
// 递归运算5的阶层
function abc(n)
{
if (n == 1)
return 1;
return n*abc(n-1);
}
var i = 0;
var k = abc(5);
toast("5的阶层结果为:" + k.toString());
for (i = 0; i < 2; i++)
{
toast("hello world");
}