首页 > 解决方案 > 将 DJI UXSDK 集成到我的 Android Studio3.5 失败

问题描述

我正在尝试将 DJI UXSDK 集成到我在 Android Studio3.5 上的 Android 项目中,并且我正在关注其官方文档,幸运的是,“与 Gradle 文件同步”成功,但是,当我尝试构建和安装我的项目时,它失败了,我尝试在DJIUXSDKDemo中使用 Gradle File ,再次失败,我仍然无法构建我的项目,有人可以帮助我吗?多谢。

标签: androiddji-sdk

解决方案


我已经通过更改我的 gradle 文件解决了这个问题,官方文档中的指南如下:

apply plugin: 'com.android.application'

android {

    ...
    defaultConfig {
        ...
    }

    ...

    packagingOptions{
        doNotStrip "*/*/libdjivideo.so"
        doNotStrip "*/*/libSDKRelativeJNI.so"
        doNotStrip "*/*/libFlyForbid.so"
        doNotStrip "*/*/libduml_vision_bokeh.so"
        doNotStrip "*/*/libyuv2.so"
        doNotStrip "*/*/libGroudStation.so"
        doNotStrip "*/*/libFRCorkscrew.so"
        doNotStrip "*/*/libUpgradeVerify.so"
        doNotStrip "*/*/libFR.so"
        doNotStrip "*/*/libDJIFlySafeCore.so"
        doNotStrip "*/*/libdjifs_jni.so"
        doNotStrip "*/*/libsfjni.so"
        exclude 'META-INF/rxjava.properties'
    }
}

dependencies {
   ...
    compile ('com.dji:dji-sdk:4.11.2')
    provided ('com.dji:dji-sdk-provided:4.11.2')
}

不幸的是,它并不完整,所以我们应该改为:

packagingOptions{
        doNotStrip "*/*/libdjivideo.so"
        doNotStrip "*/*/libSDKRelativeJNI.so"
        doNotStrip "*/*/libFlyForbid.so"
        doNotStrip "*/*/libduml_vision_bokeh.so"
        doNotStrip "*/*/libyuv2.so"
        doNotStrip "*/*/libGroudStation.so"
        doNotStrip "*/*/libFRCorkscrew.so"
        doNotStrip "*/*/libUpgradeVerify.so"
        doNotStrip "*/*/libFR.so"

        pickFirst 'lib/*/libstlport_shared.so'
        pickFirst 'lib/*/libRoadLineRebuildAPI.so'
        pickFirst 'lib/*/libGNaviUtils.so'
        pickFirst 'lib/*/libGNaviMapex.so'
        pickFirst 'lib/*/libGNaviData.so'
        pickFirst 'lib/*/libGNaviMap.so'
        pickFirst 'lib/*/libGNaviSearch.so'
        pickFirst 'assets/location_map_gps_locked.png'
        pickFirst 'assets/location_map_gps_3d.png'

        exclude '/lib/armeabi-v7a/libChineseFontPkg.so'
        exclude 'META-INF/rxjava.properties'
    }

    compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
    }

并将以下内容添加到您的依赖项中:

 implementation 'com.dji:dji-uxsdk:4.12'
    compileOnly 'com.dji:dji-sdk-provided:4.12'

推荐阅读