У меня есть игра для Android с установленной GAv3, если я обновляю Google Analytics до версии 4, игра начинается, но я получаю некоторые исключения. Вот лог из мониторов Android устройств:Как правильно обновить плагин Google Analytics Unity
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 перезаписать файлы и удалять файлы самостоятельно и установить впоследствии. В обоих случаях я получаю эти ошибки.
Новая ошибка: 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 \ инструменты»-Dfile.encoding = UTF8 -jar "L: \ Programs \ Editor \ Data \ PlaybackEngines \ AndroidPlayer/Tools \ sdktools.jar" - STDERR [ НЕПРЕДУСМОТРЕННАЯ ИСКЛЮЧЕНИЕ TOP-LEVEL: java.lang.IllegalArgumentException : уже добавлено: Lcom/google/android/gms/analytics/internal/Command; \t at com.android.dx.dex.file.ClassDefsSection.add (ClassDefsSection.java:122) И продолжает. – Cress
Решил использовать ваш ответ и делать то, что указано [здесь] (https://github.com/googleanalytics/google-analytics-plugin-for-unity/issues/51#issuecomment-98633184) после этого. – Cress
Хорошо для вас. У меня закончилось другое возможное решение ... – Programmer