【问题标题】:Google Fit Android plug-in for Unity3D适用于 Unity3D 的 Google Fit Android 插件
【发布时间】:2018-05-03 18:24:55
【问题描述】:

我对 Android 开发和 Unity 比较陌生,我正在尝试为 Unity3D 创建一个 Android 插件,该插件使用 Google fit Sensors API 检测步数和距离。我已经将我的插件导出为 jar 文件,与我的 AndroidManifest.xml 一起导入到 Assets/Plugin/Android 中,当我尝试在手机上构建和运行时,出现此错误:

java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.fitness.request.OnDataPointListener" on path: DexPathList[[zip file "/data/app/com.example.me.androidstepcounterplugin-2/base.apk"],nativeLibraryDirectories=[/data/app/com.example.me.androidstepcounterplugin-2/lib/arm, /system/fake-libs, /data/app/com.example.me.androidstepcounterplugin-2/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib, /system/vendor/lib]]

我猜 Unity 找不到 Google Fit 库,我将其添加为我的 Android Gradle 文件的依赖项。有没有办法在 Unity 中添加它,或者尝试制作 aar 文件而不是 jar 是否更有意义?

【问题讨论】:

    标签: android unity3d jar aar google-fit


    【解决方案1】:

    我可以想到两种可能的情况:

    1. 您在您的库上运行 proguard 并启用“最小化”,这会削减该类(因为您没有在活动中的任何地方引用它)。在这种情况下,通过在您的 proguard.properties 文件中添加以下行来告诉 proguard keep the class

      -保持类“com.google.android.gms.fitness.request.OnDataPointListener”

    2. 您正在为您使用 implementation 设置适合依赖项,因此不将其包含在输出中。尝试将相同的依赖项添加到您的 Unity 项目中。

    【讨论】:

    • 两者都没有,仍然无法弄清楚我做错了什么
    • @slwjc 我忘记了示例中的“-keep”命令。试试看。我没有任何其他想法...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多