Как правильно обновить плагин Google Analytics Unity

У меня есть игра для Android с установленным GAv3, если я обновляю Google Analytics до версии 4, игра запускается, но я получаю некоторые исключения. Вот журнал из Android Device Monitor:

03-15 16:06:44.906: I/Unity(17009): AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.analytics.GoogleAnalytics
03-15 16:06:44.906: I/Unity(17009): java.lang.ClassNotFoundException: com.google.android.gms.analytics.GoogleAnalytics
03-15 16:06:44.906: I/Unity(17009):     at java.lang.Class.classForName(Native Method)
03-15 16:06:44.906: I/Unity(17009):     at java.lang.Class.forName(Class.java:251)
03-15 16:06:44.906: I/Unity(17009):     at java.lang.Class.forName(Class.java:216)
03-15 16:06:44.906: I/Unity(17009): Caused by: java.lang.NoClassDefFoundError: com/google/android/gms/analytics/GoogleAnalytics
03-15 16:06:44.906: I/Unity(17009): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.analytics.GoogleAnalytics" on path: DexPathList[[zip file "/mnt/asec/com.app.game-1/pkg.apk"],nativeLibraryDirectories=[/mnt/asec/com.app.game-1/lib, /vendor/lib, /system/lib]]
03-15 16:06:45.286: I/Unity(17009): AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.analytics.GoogleAnalytics
03-15 16:06:45.286: I/Unity(17009): java.lang.ClassNotFoundException: com.google.android.gms.analytics.GoogleAnalytics
03-15 16:06:45.286: I/Unity(17009):     at java.lang.Class.classForName(Native Method)
03-15 16:06:45.286: I/Unity(17009):     at java.lang.Class.forName(Class.java:251)
03-15 16:06:45.286: I/Unity(17009):     at java.lang.Class.forName(Class.java:216)
03-15 16:06:45.286: I/Unity(17009): Caused by: java.lang.NoClassDefFoundError: com/google/android/gms/analytics/GoogleAnalytics
03-15 16:06:45.286: I/Unity(17009): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.analytics.GoogleAnalytics" on path: DexPathList[[zip file "/mnt/asec/com.app.game-1/pkg.apk"],nativeLibraryDirectories=[/mnt/asec/com.app.game-1/lib, /vendor/lib, /system/lib]]

Я попытался установить плагин напрямую, позволив Unity перезаписать файлы и удалив файлы самостоятельно, а затем установив их. В обоих случаях я получаю эти ошибки.


person Cress    schedule 16.03.2016    source источник


Ответы (1)


Скопируйте play-services-analytics-8.4.0.aar из {android-sdk}\extras\google\m2repository\com\google\android\gms\play-services-analytics\8.4.0 в папку Assets/Plugins/Android. Это сработало для этого пользователя и может сработать для вас.

person Programmer    schedule 16.03.2016
comment
Новая ошибка: CommandInvokationFailure: невозможно преобразовать классы в формат dex. Подробности смотрите в консоли. C:/Program Files (x86)/Java/jdk1.8.0_71\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir=C:/Users/User/AppData/Local/Android/android-sdk\tools -Dfile.encoding=UTF8 -jar L:\Programs\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar - stderr[ НЕОЖИДАННОЕ ИСКЛЮЧЕНИЕ ВЕРХНЕГО УРОВНЯ: java.lang.IllegalArgumentException: уже добавлено: Lcom/google/android/ gms/analytics/internal/Command; в com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:122) И продолжается. - person Cress; 17.03.2016
comment
Решено с помощью вашего ответа и выполнения того, что указано здесь потом. - person Cress; 17.03.2016
comment
Какой файл? Если вы занимаетесь android-sdk}\extras\google\m2repository\com\google\android\gms\play-services-analytics\8.4.0, вам необходимо скачать android sdk и настроить его. с Единством. Вы должны создать новый вопрос вместо того, чтобы публиковать решенный. docs.unity3d.com/Manual/android-sdksetup.html - person Programmer; 01.04.2016
comment
Почему 8.4.0. Это не устаревшая версия? - person IgorGanapolsky; 22.08.2016
comment
@IgorGanapolsky Этот пост был сделан, когда версия была 8.4.0. Вы должны заменить текущую версию в решении. - person Programmer; 22.08.2016