【问题标题】:DJI SDK 4.5.1 release version crashDJI SDK 4.5.1 发布版本崩溃
【发布时间】: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


    【解决方案1】:

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

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

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

    他们将 org.boundcycastle 从

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

    我之前写的。 (但保持两者都对我有用)

    /凯文

    【讨论】:

      猜你喜欢
      • 2017-01-08
      • 2021-10-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多