Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>HOOKUI SyncNew to Visual Studio Code? Get it now.
HOOKUI Sync

HOOKUI Sync

lozn

|
42 installs
| (0) | Free
Sync JS files to HOOKUI Android Xposed module
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

HOOKUI Sync

English | 中文

English

Overview

HOOKUI Sync is a VS Code extension that helps you sync JavaScript files to the HOOKUI Android Xposed module.

Features

  • Quick sync JS files to Android devices
  • Support for multiple devices
  • Automatic device detection
  • Real-time sync status display
  • Auto restart target application

Usage

  1. Right-click on a JS file in VS Code
  2. Select "Sync to HOOKUI" from the context menu
  3. Choose your target device (if multiple devices are connected)
  4. The file will be synced automatically

Auto Restart Application

To enable auto restart feature:

  1. Add //package:com.example.app at the first line of your JS file
  2. Right-click and select "Sync JS to HOOKUI And Reboot hOOKed Application"
  3. The app will be force stopped and restarted automatically

Requirements

  • Android device with HOOKUI installed
  • ADB enabled on the device
  • ADB tools installed on your computer

Example HOOKUI JS Code

//package:com.example.app
// First line specifies the package name for VSCode extension to auto restart!
// HOOKUI dynamic JS requires version after 2024-12-29 19:25:40
function handleLoadPackage(loadPackageParam) {

    log.toast("COMMON_AAAJS:" + loadPackageParam.packageName);
    log.v("COMMON_JS-AAFF->" + loadPackageParam.packageName);  

    // Hook View touch events
    XposedBridge.hookMethod("android.view.View", "onTouchEvent", function(param, phase) {
        if (phase === "before") {
            var Arrays = Packages.java.util.Arrays;
            let args = param.getArguments();
            
            // Record touch event details
            if(args && args[0]) {
                let motionEvent = args[0];
                let x = motionEvent.getX();
                let y = motionEvent.getY();
                let action = motionEvent.getAction();
                
                log.v("Touch event: x=" + x + ", y=" + y + ", action=" + action);
            }
            
            log.v("Touch params: " + Arrays.toString(args));
            param.setArguments(args);
        } else if (phase === "after") {
            log.v("Stack trace: " + log.getStackTraceString());
        }
    });

    // Hook Activity creation
    XposedBridge.hookMethod("android.app.Activity", "onCreate", function(param, phase) {
        if (phase === "before") {
            log.v("New Activity detected");
            try {
                log.v("Current time: " + new Date().toLocaleString());
            } catch(e) {
                log.v("Activity Hook triggered");
            }
        }
    });

    return true;
}

中文

概述

HOOKUI Sync 是一个 VS Code 扩展,用于将 JavaScript 文件同步到 HOOKUI Android Xposed 模块。

功能特点

  • 快速同步 JS 文件到安卓设备
  • 支持多设备选择
  • 自动检测设备
  • 实时同步状态显示
  • 自动重启目标应用

使用方法

  1. 在 VS Code 中右键点击 JS 文件
  2. 从右键菜单中选择"同步到 HOOKUI"
  3. 选择目标设备(如果连接了多个设备)
  4. 文件将自动同步

自动重启应用

启用自动重启功能:

  1. 在 JS 文件第一行添加 //package:com.example.app 注释(替换为目标应用包名)
  2. 右键选择"同步到 HOOKUI 并重启目标应用"
  3. 插件会自动结束并重启目标应用

使用要求

  • 安装了 HOOKUI 的安卓设备
  • 设备已启用 ADB
  • 电脑已安装 ADB 工具

HOOKUI JS 代码示例

//package:com.example.app
// 第一行指定被hook的包名,方便VSCode插件识别包名进行真正的重启!
// HOOKUI 动态js 仅限使用2024-12-29 19:25:40 之后版本使用
function handleLoadPackage(loadPackageParam) {

    log.toast("COMMON_AAAJS:" + loadPackageParam.packageName);
    log.v("COMMON_JS-AAFF->" + loadPackageParam.packageName);  

    // Hook View 的触摸事件
    XposedBridge.hookMethod("android.view.View", "onTouchEvent", function(param, phase) {
        if (phase === "before") {
            var Arrays = Packages.java.util.Arrays;
            let args = param.getArguments();
            
            // 记录触摸事件的详细信息
            if(args && args[0]) {
                let motionEvent = args[0];
                let x = motionEvent.getX();
                let y = motionEvent.getY();
                let action = motionEvent.getAction();
                
                log.v("触摸事件: x=" + x + ", y=" + y + ", action=" + action);
            }
            
            log.v("触摸参数: " + Arrays.toString(args));
            param.setArguments(args);
        } else if (phase === "after") {
            log.v("调用堆栈: " + log.getStackTraceString());
        }
    });

    // Hook Activity 创建
    XposedBridge.hookMethod("android.app.Activity", "onCreate", function(param, phase) {
        if (phase === "before") {
            log.v("检测到新Activity创建");
            try {
                log.v("当前时间: " + new Date().toLocaleString());
            } catch(e) {
                log.v("Activity Hook 触发");
            }
        }
    });

    return true;
}

注意事项

  1. 重启功能需要在文件首行正确配置目标应用包名
  2. 包名格式必须是://package:com.example.app
  3. 确保包名正确,否则可能无法重启应用
  4. 代码示例中展示了基本的 Hook 用法
  5. 支持 View 触摸事件和 Activity 生命周期的 Hook
  6. 提供了日志输出功能,方便调试
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft