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

同时集成DJI Mobile SDK与UX SDK后Android应用注册失败求助

解决DJI SDK注册失败(Register sdk fails)问题

我之前在把DJI UX SDK集成到现有Mobile SDK项目时,也碰到过一模一样的问题。核心原因是你同时引入了Mobile SDK和UX SDK的依赖——实际上UX SDK是基于Mobile SDK封装的上层库,它内部已经包含了Mobile SDK的全部核心功能,重复引入会导致SDK初始化时的冲突,最终触发注册失败的错误。

解决方案:调整依赖配置

你只需要保留UX SDK的依赖即可,移除独立的Mobile SDK依赖。修改你的build.gradle中的dependencies块如下:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:animated-vector-drawable:28.0.0'
    implementation 'com.android.support:support-media-compat:28.0.0'
    implementation 'com.android.support:support-v4:28.0.0'
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.amap.api:map2d:5.2.0'
    implementation 'com.amap.api:3dmap:5.5.0'
    implementation 'com.amap.api:search:5.5.0'
    implementation 'com.amap.api:location:3.6.1'
    // 只保留UX SDK和provided依赖,移除独立的dji-sdk
    implementation ('com.dji:dji-uxsdk:4.9')
    compileOnly ('com.dji:dji-sdk-provided:4.9')
}

是否需要同时使用两个SDK?

完全不需要,二者的关系是:

  • UX SDK:包含Mobile SDK的所有基础功能,同时提供了封装好的UI组件(比如飞行控制界面、相机参数调节面板等),如果你需要快速实现这些现成的UI,只用UX SDK就足够。
  • Mobile SDK:如果你不需要任何UX组件,只需要底层的无人机控制、数据交互能力,单独使用Mobile SDK即可。

既然你要集成UX SDK,只保留它的依赖就可以覆盖原来Mobile SDK的所有功能,还能避免依赖冲突。

额外检查点

虽然你提到包名和App ID没问题,但还是建议再确认一下:

  • AndroidManifest.xml中配置的DJI App Key的meta-data是否正确,格式如下:
    <meta-data
        android:name="com.dji.sdk.API_KEY"
        android:value="你的App Key"/>
    
  • 确保生成App Key时使用的包名和build.gradle中的applicationId完全一致(你的debug配置加了.debug,如果是debug环境测试,需要给debug包名也生成对应的App Key,或者暂时去掉debug的applicationIdSuffix测试)。

内容的提问来源于stack exchange,提问作者ids.med.alc

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:16:23