2017-11-20 11 views
0

저는 Android 개발 및 Unity에 비교적 익숙하지 않으며 Google 맞춤 센서 API를 사용하여 단계 및 거리를 감지하는 Unity3D 용 Android 플러그인을 만들려고합니다. 난 이미 내 AndroidManifest.xml을 함께 자산/플러그인/안드로이드에서 수입, jar 파일로 내 플러그인을 보낸 내가 구축하고 내 휴대 전화에서 실행하려고하면이 오류 얻을 :Unity3D 용 Google Fit 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가 Android Gradle 파일에 종속성으로 추가 한 Google 피트니스 라이브러리를 찾을 수 없다고 추측합니다. Unity에 이것을 추가하는 방법이 있습니까? 아니면 jar 파일 대신 aar 파일을 만들려고 합리적인가요?

답변

0

나는이 개 가능한 시나리오 생각할 수있는 : 당신은 (당신이 당신의 활동에 어디를 참조하지 않기 때문에) 그 클래스를 인하하는 "작게하다 활성화"와 라이브러리에 proguard을 실행

  1. . 이 경우 다음 줄을 파일 당신의 proguard.properties에 추가하여 keep the class에 난독 말 : 당신은 출력을 포함하므로 당신을 위해 맞춤 의존성을 implementation 설정을 사용하지 않는

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

  2. . Unity 프로젝트에 동일한 의존성을 추가하십시오.

+0

두 가지 중 어느 것도 내가 잘못하고있는 것이 무엇인지 알 수 없습니다. – slwjc

+0

@slwjc 예에서 "-keep"명령을 잊어 버렸습니다. 그것으로 시도하십시오. 나는 다른 아이디어가 없다 ... – stan0