2017-11-20 3 views
0

Ich bin relativ neu in Android-Entwicklung und Unity und ich versuche, ein Android-Plug-in für Unity3D zu erstellen, die Schritte und Entfernungen mit der Google fit Sensors API erkennt. Ich habe exportiert bereits mein Plugin als JAR-Datei, auf Assets/Plugin/Android importiert zusammen mit meinem AndroidManifest.xml und wenn ich versuche, auf mein Handy zu bauen und laufen bekomme ich diesen Fehler:Google Fit Android Plug-in für Unity3D

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]] 

Ich bin Ich vermute, dass Unity die Google Fit-Bibliothek nicht finden kann, die ich als eine Abhängigkeit von meiner Android-Gradle-Datei hinzugefügt habe. Gibt es eine Möglichkeit, dies in Unity hinzuzufügen, oder wäre es sinnvoller, anstelle von jar eine aar-Datei zu erstellen?

Antwort

0

Ich denke an zwei mögliche Szenarien könnte:

  1. Sie proguard auf Ihrer Bibliothek laufen mit „minify aktiviert“, was diese Klasse schneidet (weil Sie es nicht in Ihrer Tätigkeit verweisen überall). In diesem Fall sagt proguard zu keep the class indem zu Ihrem proguard.properties die folgende Zeile Datei:

    -keep class "com.google.android.gms.fitness.request.OnDataPointListener"

  2. Sie verwenden implementation Einstellung für Sie Fit Abhängigkeit daher nicht in der Ausgabe einschließlich. Fügen Sie Ihrem Unity-Projekt die gleiche Abhängigkeit hinzu.

+0

Keiner der beiden, kann immer noch nicht herausfinden, was bin ich – slwjc

+0

falsch machen @slwjc ich die „-keep“ Befehl in dem Beispiel vergessen. Probieren Sie es aus. Ich habe keine anderen Ideen ... – stan0

Verwandte Themen