我最近将应用程序更新为使用AndroidX和DJI SDK 4.11,其中包括更新这些版本:
DJI SDK from 4.10 to 4.11
compileSdkVersion from 27 to 28
ext.kotlin_version from 1.2.61 to 1.3.41
com.android.tools.build:gradle from 3.2.1 to 3.4.1
gradle from 4.6 to 5.1.1
已添加
android.useAndroidX=true
android.enableJetifier=true
我还包含在gradle文件和清单文件中
gradle:
android {
useLibrary 'org.apache.http.legacy'
}
manifest:
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
使用旧版http调用修复DJI SDK的异常
但是,当我对DJISDKManager进行诸如getInstance()之类的任何调用时,它崩溃而没有任何错误或异常。这是在调试中,因此proguard在这一点上不应该删除任何重要的内容。我搜寻了互联网,试图找到不同的答案或可能性,并进行了上述更改以解决不同的问题,但是我很困惑。任何人都有相似的经验并想出解决方法?
编辑:我启用了Java异常断点和异常断点,并收到以下异常:android.system.ErrnoException:打开失败:ENOENT(没有此类文件或目录)
答案 0 :(得分:0)
此配置有效,我可以验证...
build.gradle:3.5.1。 (如果使用3.5,则会崩溃 2)
科特琳:1.3.50
buildTools版本29.0.2
compileSdkVersion 29
还要检查packageOptions,它们是否已更改,并根据示例进行验证
您可能还需要添加RECORD_AUDIO的权限,对此有一些说明,但现在找不到。