You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安卓设备通过桥接APP使用DJI Mobile SDK无法获取产品的问题求助

解决DJI桥接模式下startConnectionToProduct()无法获取产品的问题

我之前调试DJI桥接模式时也踩过类似的坑,结合官方文档和实际排查经验,给你几个可行的解决方向:

  • 先确认网络连通性
    模拟器和运行桥接APP的RC设备必须处于同一局域网,你用的IP是192.168.10.102,建议先在模拟器的终端里执行ping 192.168.10.102,检查是否能正常连通。
    另外,Android Studio模拟器默认的NAT模式可能会和物理设备网络隔离,建议把模拟器改成桥接模式:可以在模拟器的设置面板里找到网络选项,选择Bridge模式,或者用命令行启动模拟器时添加参数-net bridge。同时要检查RC设备的防火墙或网络安全策略,有没有拦截模拟器的连接请求。

  • 检查桥接APP的运行状态
    确保桥接APP处于前台运行状态,不少安卓设备会在后台限制APP的网络权限,导致桥接服务中断。同时要确认桥接APP本身已经成功连接到DJI产品(比如无人机、云台),如果桥接APP都没拿到产品控制权,模拟器里的SDK自然无法通过桥接获取产品。

  • 调整SDK调用的顺序和时机
    调用startConnectionToProduct()必须等enableBridgeModeWithBridgeAppIP()完全成功回调后再执行,不能同步调用。建议在BridgeCallback的onBridgeModeEnabled()回调里触发连接,示例代码如下:

    DJISDKManager.getInstance().enableBridgeModeWithBridgeAppIP("192.168.10.102", new DJISDKManager.BridgeCallback() {
        @Override
        public void onBridgeModeEnabled() {
            // 桥接模式启用成功后再启动产品连接
            DJISDKManager.getInstance().startConnectionToProduct();
        }
    
        @Override
        public void onBridgeModeDisabled() {
            // 处理桥接模式禁用的情况
        }
    });
    
  • 验证SDK初始化和权限配置
    确认模拟器里的APP已经正确初始化DJI SDK,并且在AndroidManifest.xml中申请了必要的权限:ACCESS_WIFI_STATE、CHANGE_WIFI_STATE、INTERNET,桥接模式下网络权限是核心。另外要确保你的App Key已经在DJI开发者平台注册,并且绑定了当前APP的包名。

  • 通过日志定位问题
    开启DJI SDK的DEBUG日志,查看调用startConnectionToProduct()时的错误信息。初始化SDK时可以设置日志级别:

    DJISDKManager.getInstance().setLogLevel(DJILogLevel.DEBUG);
    

    重点关注是否有连接超时、权限拒绝、桥接通信异常这类日志,它们会直接指出问题根源。

  • 排查模拟器的特殊限制
    部分Android Studio模拟器版本对UDP通信支持不佳,而DJI桥接模式可能依赖UDP传输。可以尝试用真实安卓设备代替模拟器测试,看是否能正常连接。如果必须用模拟器,且目标Android版本是13+,需要在AndroidManifest.xml的<application>标签里添加android:usesCleartextTraffic="true",因为桥接通信可能使用明文传输。

内容的提问来源于stack exchange,提问作者Aleksej

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:19:53