繁体   English   中英

DJI SDK 4.5.1发行版崩溃

[英]DJI SDK 4.5.1 release version crash

我创建了一个Android应用程序来控制DJI Drones。 我刚刚更新到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.OkHttpClient上的dji.thirdparty.okhttp3.internal.Util.immutableList(未知源)
在dji.thirdparty.okhttp3.OkHttpClient $ Builder上。(未知源)原因:java.lang.ClassNotFoundException:在路径:DexPathList [[zip文件“ /system/framework/com.net]中找不到类” okio.Buffer“。 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文件,但我的想法已用尽,这就是为什么我来这里寻求帮助=)

最好的问候KevinG

我已经与DJI联络,他们为我提供了有效的更新。

他们使用以下内容更新了他们的proguard文件:

-keep class okio.** { *; }
-keep class org.bouncycastle.** { *; }

他们将org.boundcycastle从

-keep,allowshrinking class org.bouncycastle.** { *; }

到我之前写的。 (但是让两者都对我有用)

/凯文

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM