你好!这里记录自己在Android平台集成&开发大疆 DJI Mobile SDK的过程中,遇到的一些问题的汇总,可能原因与解决建议,希望能帮到遇到相同问题的朋友,节省大家的时间 。
2021-11-01记录
个人情况:在参照官方demo以及网上其他文章介绍下,集成好SDK准备测试SDK的激活注册。但是让人头疼的是每次一旦调用到DJISDKManager.getInstance()相关的api接口,实测app就会ANR(无响应),最终一次次对比官方demo 后,发现了问题所在:
在清单文件AndroidManifest.xml中,需要配置 application 标签的 android:extractNativeLibs=“true” 属性值,测试后无恙.
extractNativeLibs 属性值(APK瘦身属性) 介绍
2021-11-01记录
Android 9.0 版本遇到的问题
解决方式:::
- 清单文件AndroidManifest.xml 中,添加 application 属性 android:usesCleartextTraffic=“true”
2.再在application中添加子标签
<uses-library android:name="org.apache.http.legacy" android:required="false" />
即
<application android:usesCleartextTraffic="true">
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
</application>
这里是sdk中使用到的网络请求方式,个人开发中,遇到9.0版本的两种网络请求方式:
官方文档中切换模式,常规使用Camera.setMode()
我的飞机和相机分别是M300、H20T型号,常规 切换失败,错误提示固件不支持
解决方案:
使用setFlatMode()
切换为拍照、摄像模式;
使用enterPlayBack()
或exitPlayBack()
切换或退出 下载&回放模式(可以使用Media download模式功能)
刚解决了上面模式问题,结果刷新文件列表状态后,获取文件列表快照总是返回 空集合!!
可是使用DJI Pilot读取是存在照片和视频的,最后证实是大疆 4.15.1 版本SDK在M300机型或H20系列相机上的BUG。
请查询
官方已知问题
解决方案:
1、降低SDK版本号,本人实测4.15版本没有这个问题;
2、等待官方修复,使用下一个版本的SDK;