UnsatisfiedLinkError: Не найдена реализация для byte [] dji.midware.natives.SDKRelativeJNI.native_getXXX (...) - PullRequest
0 голосов
/ 07 февраля 2019

Описание: После обновления Android SDK до версии 28 и DJI SDK с версии 4.6 до 4.9 возникла проблема с приложением, работающим на любом эмуляторе.Во время регистрации приложения DJI SDK происходит сбой.

  • DJI SDK: 4,9
  • Android SDK (compileSdkVersion): 28
  • Версия системы Android: каждые
  • Устройство Android: эмулятор

Отслеживание стека при сбое:

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.h.a.a.c.b(Unknown Source)
at dji.midware.e.b(Unknown Source)
at dji.sdk.sdkmanager.DJISDKManager.(Unknown Source)
at dji.sdk.sdkmanager.DJISDKManager.getInstance(Unknown Source)
at PACKAGE_NAME.dji.DJIProvider$registerTask$1.run(DJIProvider.kt:39)
at PACKAGE_NAME.dji.DJIProvider.startSDKRegistration(DJIProvider.kt:127)
at PACKAGE_NAME.MainActivity$registerDJISDK$1.onExecutorReady(MainActivity.kt:595)
at PACKAGE_NAME..helpers.ui.SimpleDelayedExecutor$executeDelayed$1.run(DelayedExecutor.kt:20)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

1 Ответ

0 голосов
/ 13 марта 2019

DJI необходимо получить информацию об этой проблеме:

1) В Android Studio, когда вы создаете новое виртуальное устройство, когда вы выбираете Выбор образа системы, переходите на вкладку Другие изображения.Оттуда выберите любое изображение «рука» и используйте его.Эмулятор будет очень медленным с этой опцией и может вообще не работать, если ваш компьютер старый или медленный.

2) Подключите настоящее устройство Android к вашему компьютеру с включенным режимом отладки и запустите демонстрацию на этом.

3) В вашем файле build.gradle установите для compileSdkVersion и targetSdkVersion значение 22, которое является последней версией, в которую будет загружен предоставленный DJI файл libffmpeg.so.Однако это худший вариант, так как Google больше никому не позволяет публиковать приложения с версиями SDK.Версия должна быть 26 или выше: https://support.google.com/googleplay/android-developer/answer/113469#targetsdk

4) Откат до 4.6: P

...