同时使用Android UX SDK和Mobile SDK

时间:2019-01-30 13:59:01

标签: android dji-sdk

我一直在使用Mobile SDK教程

DJI Mobile SDK Tutorial

我明白了。

此后,我开始尝试将UX SDK集成到该项目中(这是我上面构建的原始应用程序)。我正在关注:

DJI UX SDK Tutorial

做到这一点。

我已经在gradle脚本中包含了两个sdk:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.dji.ImportSDKDemo"
        minSdkVersion 19
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true  // allows debug version to be bigger than allowed
    }

    buildTypes {
        release {
            shrinkResources true
            minifyEnabled true  // release version will go through shrinking process
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            applicationIdSuffix ".debug"
            debuggable true
        }
    }

    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'
        exclude 'META-INF/rxjava.properties'
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:multidex:1.0.3'  // allows debug version to be bigger than allowed

    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'

    /*
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    */
    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'
    //implementation files('libs/HERE-sdk-3.8.0.aar')  // HERE maps

    implementation ('com.dji:dji-sdk:4.9')
    implementation ('com.dji:dji-uxsdk:4.9')
    compileOnly ('com.dji:dji-sdk-provided:4.9')
}

我还没有开始使用UX SDK中的任何调用,只是想看看它是否可以构建和安装。它确实可以在Android devce上构建和安装,但不再注册。我在应用程序上得到以下内容

  

“注册SDK失败”

程序包名称和applicationId均未更改(build.gradle和AndroidManifest.xml中的名称相同)。

这是因为我试图同时加载两个SDK?如果是这样,我是否需要两个SDK?如果所有功能都是其中一项,那么我只会使用其中一种。

然后我重新生成了一个APP ID以用于该特定应用,但这没有帮助。

谢谢...

2 个答案:

答案 0 :(得分:0)

如果您尝试在项目中使用UXSDK,则无需在build.gradle文件中导入“实现('com.dji:dji-sdk:4.9')”。

对于注册问题,请仔细检查您是否在 AndroidManifest.xml 文件(位于文件顶部)的package值和{{1 }} build.gradle 文件的值。还要检查您的移动设备的网络连接。

正如我看到的您发布的代码一样,您在build.gradle文件中使用了“ com.dji.ImportSDKDemo”。然后再次检查是否使用此软件包名称在DJI开发者网站上注册了应用密钥。

如果您想学习如何将UXSDK集成到您的项目中,请查看此教程:https://developer.dji.com/mobile-sdk/documentation/ios-tutorials/UXSDKDemo.html

答案 1 :(得分:0)

请参阅UX示例,它已经包含SDK。 build.gradle具有以下内容:

implementation('com.dji:dji-uxsdk:4.9', {
    // Uncomment the following line if your app does not need Anti Distortion for
    // Mavic 2 Pro and Mavic 2 Zoom. It will greatly reducing the size of the APK:
    // exclude module: 'library-anti-distortion'
})

compileOnly('com.dji:dji-sdk-provided:4.9')

不要忘记对清单进行更改;同样,您可以复制样本中的信息。