Я создаю Android-приложение для управления дронами DJI.Я только что обновился до DJI SDK 4.5.1, приложение работает так, как задумано, когда у меня установлен вариант сборки «Отладка».Когда я меняю версию «Release» с «minifyEnabled» на «true» и файл proguard, приложение вылетает сразу после установки разрешений.Если я изменю «minifyEnabled» на «false», то приложение будет работать без ошибок.
Приложение работало нормально до обновления SDK 4.5.1 (с «minifyEnabled» на «true»)
Я проверил, есть ли у туториалов DJI Mobile SDK (https://github.com/DJI-Mobile-SDK-Tutorials/Android-GEODemo) такая же проблема, и такая же ошибка возникает, когда я изменяю minifyEnabled на 'true' в проекте учебника.
Ошибка, которой я являюсьполучение выглядит следующим образом:
java.lang.NoClassDefFoundError: Ошибка разрешения: Lokio / Buffer;
в dji.thirdparty.okhttp3.ResponseBody.create (Неизвестный источник)
в dji.thirdparty.okhttp3.internal.Util. (Неизвестный источник)
в dji.thirdparty.okhttp3.internal.Util.immutableList (Неизвестный источник) в dji.thirdparty.okhttp3.OkHttpClient. (Неизвестный источник)
в dji.thirdparty.okhttp3.OkHttpClient $ Builder. (Неизвестный источник) Причина: java.lang.ClassNotFoundException: Не удалось найти класс «okio.Buffer» на пути: DexPathList [[zip-файл »/system/framework/com.android.future.usb.accessory.jar ",]] (с дополнительными ссылками на zip-файлы)
Я использую файл proguard, который DJI использует с их учебными проектами, где я добавил несколько дополнительных строк (https://github.com/DJI-Mobile-SDK-Tutorials/Android-GEODemo/blob/master/GEODemo/app/proguard-rules.pro)
Все указывает на файл proguard, но у меня закончились идеи, поэтому я пришел сюда за помощью =)
С наилучшими пожеланиями KevinG