For AI agents: the complete documentation index is available at /next/zh/llms.txt, the full documentation bundle is available at /next/zh/llms-full.txt, and this page is available as Markdown at /next/zh/guide/start/integrate-lynx-devtool.md.
Lynx
  • 简体中文
  • 接入 Lynx DevTool

    当你开发 Lynx 页面遇到问题时,可以使用 DevTool 进行调试。 但你需要先按照以下步骤接入 DevTool。

    Info

    推荐在非生产环境下接入 DevTool,让生产环境的应用更轻量。

    • 包体积:DevTool 会增加包体积。
    • 运行时:相关模块在开启后懒加载,会增加内存开销,部分功能可能影响加载性能。

    下文中的所有代码,你都可以在 integrating-lynx-demo-projects 项目 中找到

    引入依赖

    你需要新增以下组件:LynxServiceDevtool 子组件、 LynxDevToolDebugRouter

    Podfile
    target 'YourTarget' do
      pod 'LynxService', '4.0.0', :subspecs => [
          'Devtool',
      ]
      pod 'LynxDevtool', '4.0.0'
    
      pod 'DebugRouter', '5.0.15'
      pod 'DebugRouter/MessageTransceiverEnable', '5.0.15'
    end

    打开 DevTool

    DevTool 提供了一些调试功能开关, 其中有几个比较重要的开关:

    • Lynx DevTool 控制 DevTool 的基础调试功能:元件审查和 JavaScript 调试。
    • Lynx LogBox 控制 LogBox 功能。
    这些开关均默认关闭,需要主动打开
    • DevTool 处于 ENABLED 状态后,Lynx DevToolLynx LogBox 开关才能够生效
    • 使用 DevTool 桌面应用调试 Lynx 页面时,需要打开 Lynx DevTool 开关
    • LogBox 可以帮助你快速发现问题

    你可以在初始化 LynxEnv 时打开设置这三个开关:

    Objective-C
    Swift
    AppDelegate.m
    #import <Lynx/LynxEnv.h>
    #import <Lynx/LynxService.h>
    #import <Lynx/LynxServiceDevToolProtocol.h>
    
    @implementation AppDelegate
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
      // ...
      LynxEnv *lynxEnv = [LynxEnv sharedInstance];
      // 允许 DevTool 调试所有 Lynx 页面(连接 Lynx DevTool 桌面应用必需)
      [LynxService(LynxServiceDevToolProtocol) enableAllSessions];
      // 设置 DevTool 启动配置的默认值
      [[DevToolSettings sharedInstance].bootstrap applyDevelopmentDefaultsIfUnset];
      // 打开 Lynx DevTool 开关
      lynxEnv.devtoolEnabled = YES;
      // 打开 Lynx LogBox 开关
      lynxEnv.logBoxEnabled = YES;
      return YES;
    }
    Info

    除了前面介绍的三个开关外,还有更多开关可以帮助你控制 DevTool 的行为,请参考 Lynx DevTool 开关页面

    引入依赖

    你需要接入这两个组件:lynx-service-devtoollynx-devtool

    build.gradle
    build.gradle.kts
    // Lynx DevTool 接入时请保证和 Lynx 相同版本
    dependencies {
      implementation "org.lynxsdk.lynx:lynx-devtool:4.0.0"
      implementation "org.lynxsdk.lynx:lynx-service-devtool:4.0.0"
    }
    Info

    推荐接入时使用最新 Lynx 版本

    注册 DevTool Service

    DevTool Service 提供了一些启动配置值,以控制默认行为,可以根据实际需求进行配置。

    在下一章节中,将详细介绍这些启动配置值。

    Java
    Kotlin
    YourApplication.java
    private void initLynxService() {
      // ...
      // register DevTool service
      LynxServiceCenter.inst().registerService(LynxDevToolService.getINSTANCE());
    
      // 允许 DevTool 调试所有 Lynx 页面(连接 Lynx DevTool 桌面应用必需)
      LynxDevToolService.getINSTANCE().enableAllSessions();
    
      // 设置 DevTool 启动配置的默认值
      DevToolSettings.inst().bootstrap().applyDevelopmentDefaultsIfUnset();
    }
    

    打开 DevTool

    DevTool 提供了一些调试功能开关, 其中有几个比较重要的开关:

    • Lynx DevTool 控制 DevTool 的基础调试功能:元件审查和 JavaScript 调试。
    • Lynx LogBox 控制 LogBox 功能。
    这些开关均默认关闭,需要主动打开
    • DevTool 处于 ENABLED 状态后,Lynx DevToolLynx LogBox 开关才能够生效
    • 使用 DevTool 桌面应用调试 Lynx 页面时,需要打开 Lynx DevTool 开关
      • 如果需要使用 JavaScript 调试功能,还需要设置 LoadQJSBridgeLoadV8Bridge 启动配置值为 true
        • LoadQJSBridge 控制加载 PrimJS 引擎调试库
        • LoadV8Bridge 控制加载 V8 引擎调试库
    • LogBox 可以帮助你快速发现问题

    你可以在初始化 LynxEnv 时打开设置这三个开关:

    Java
    Kotlin
    YourApplication.java
    private void initLynxEnv() {
      LynxEnv.inst().init(this, null, null, null);
      // 将 DevTool 推进至 ENABLED 状态
      LynxEnv.inst().enableLynxDebug(true);
      // 打开 Lynx DevTool 开关
      LynxEnv.inst().enableDevtool(true);
      // 打开 Lynx LogBox 开关
      LynxEnv.inst().enableLogBox(true);
    }
    
    Info

    除了前面介绍的三个开关外,还有更多可以帮助你控制 DevTool 的行为,请参考 DevTool 开关页面

    引入依赖

    你需要接入这两个组件:@lynx/lynx_devtool@lynx/lynx_devtool_service

    oh-package.json5
    build-profile.json5
    // Lynx DevTool 接入时请保证和 Lynx 相同版本
    "dependencies": {
      "@lynx/lynx_devtool": "@param:dependencies.lynx_version",
      "@lynx/lynx_devtool_service": "@param:dependencies.lynx_version"
    }
    Info

    推荐接入时使用最新 Lynx 版本

    注册 DevTool Service

    ETS
    YourEntryAbility.ets
    // Initialize LynxDevToolService first, as LynxEnv initialization
    // depends on LynxDevToolService from LynxService
    LynxServiceCenter.registerService(
      LynxServiceType.DevTool,
      LynxDevToolService.instance,
    );

    打开 DevTool

    DevTool 提供了一些调试功能开关, 其中有几个比较重要的开关:

    • Lynx DevTool 控制 DevTool 的基础调试功能:元件审查和 JavaScript 调试。
    • Lynx LogBox 控制 LogBox 功能。
    LogBox 默认开启,DevTool 默认关闭。建议开启 DevTool 开关
    • DevTool 处于 ENABLED 状态后,Lynx DevToolLynx LogBox 开关才能够生效
    • 使用 DevTool 桌面应用调试 Lynx 页面时,需要打开 Lynx DevTool 开关
    • LogBox 可以帮助你快速发现问题

    你可以在初始化 LynxEnv 时打开设置这三个开关:

    ETS
    YourEntryAbility.ets
    public initLynxEnv() {
      LynxEnv.initialize(this.context);
    
      // 将 DevTool 推进至 ENABLED 状态
      LynxEnv.enableLynxDebug(true);
      // 打开 Lynx DevTool 开关
      LynxEnv.enableDevtool(true);
      // 打开 Lynx LogBox 开关
      LynxEnv.setLogBoxEnabled(true);
    }
    
    Info

    除了前面介绍的三个开关外,还有更多可以帮助你控制 DevTool 的行为,请参考 DevTool 开关页面

    恭喜你!至此你已经完成了 DevTool 的接入。打开 Lynx DevTool 桌面应用, 使用 USB 线连接 app,即可开始调试。

    Lynx DevTool 接入成功

    兼容性

    LCD tables only load in the browser

    下一步

    除非另有说明,本项目采用知识共享署名 4.0 国际许可协议进行许可,代码示例采用 Apache License 2.0 许可协议进行许可。