xunyu 发表于 2021-3-13 17:03

Javascript在线调试安卓工具的实现

Javascript在线调试安卓工具的实现

场景:在网页上编写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语言需要转换成汇编指令需要查看寄存器,直接解析执行就可以完成。 以下是实时的例子和效果:


//--------------------------------------------------------------------------------------------------
//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://appstore.huawei.com/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");
}



ccccy 发表于 2021-3-13 17:18

谢谢分享!

狼心不轨 发表于 2021-3-13 17:41


感谢分享,谢谢提供分享

IIIIMgoodman 发表于 2021-3-13 18:41

多谢楼主分享

holley 发表于 2021-3-13 19:43

6666666666

shuai2051 发表于 2021-3-13 21:29


感谢楼主的分享

小树垂柳 发表于 2021-3-14 08:43

谢谢@Thanks!
页: [1]
查看完整版本: Javascript在线调试安卓工具的实现