DJI Android SDK сбой при запуске (только если построен с MacOS) - PullRequest
0 голосов
/ 14 июня 2019

Я получил исключение при запуске приложения, если оно было построено на macOS:

 java.lang.UnsatisfiedLinkError: No implementation found for byte[] dji.midware.natives.SDKRelativeJNI.native_getXXXX(java.lang.String) (tried Java_dji_midware_natives_SDKRelativeJNI_native_1getXXXX and Java_dji_midware_natives_SDKRelativeJNI_native_1getXXXX__Ljava_lang_String_2)
    at dji.midware.natives.SDKRelativeJNI.native_getXXXX(Native Method)
    at com.dji.g.a.a.b.a(Unknown Source:24)
    at com.dji.g.a.a.b.a(Unknown Source:5)
    at dji.sdk.sdkmanager.DJISDKManager.<clinit>(Unknown Source:2)
    at dji.sdk.sdkmanager.DJISDKManager.getInstance(Unknown Source:0)

До этого исключения я получал следующее:

java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.gg.wp-D5RSHkictI89woc7FOnlUQ==/lib/arm64/libSDKRelativeJNI.so" .dynamic section has invalid offset: 0x1c350, expected to match PT_DYNAMIC offset: 0x0
    at java.lang.Runtime.loadLibrary0(Runtime.java:1016)
    at java.lang.System.loadLibrary(System.java:1669)
    at dji.midware.natives.SDKRelativeJNI.<clinit>(Unknown Source:2)
    at dji.midware.natives.SDKRelativeJNI.native_getXXXX(Native Method)
    at com.dji.g.a.a.b.a(Unknown Source:24)
    at com.dji.g.a.a.b.a(Unknown Source:5)
    at dji.sdk.sdkmanager.DJISDKManager.<clinit>(Unknown Source:2)
    at dji.sdk.sdkmanager.DJISDKManager.getInstance(Unknown Source:0)

Но если я построил тот же проект наWindows работает правильно.Я запускаю приложение на реальных устройствах (Samsung Galaxy S10), так что это не проблема x86 ffmpeg.

Как я могу это исправить ??

1 Ответ

0 голосов
/ 14 июня 2019

Добавление этих строк в проблему исправления gradle.build:

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