【发布时间】:2018-05-30 16:30:37
【问题描述】:
我正在创建一个安卓应用程序来控制 DJI 无人机。 我刚刚更新到 DJI SDK 4.5.1,当我将构建变体设置为“调试”时,应用程序正在按预期工作。 当我将“minifyEnabled”更改为“true”和proguard文件的“Release”版本时,应用程序在设置权限后立即崩溃。 如果我将“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 文件参考)
我正在使用 DJI 在他们的教程项目中使用的 proguard 文件,我在其中添加了一些额外的行 (https://github.com/DJI-Mobile-SDK-Tutorials/Android-GEODemo/blob/master/GEODemo/app/proguard-rules.pro)
一切都指向proguard文件,但我已经没有想法了,这就是我来这里寻求帮助的原因=)
最好的问候 凯文
【问题讨论】:
标签: java android mobile android-proguard dji-sdk