分析模块不适用于 Android Ti.SDK 5.1.2.GA
Analytics module doesn't work on Android Ti.SDK 5.1.2.GA
我正在尝试使用 analytics.google 模块的 3.1.0 版,因为 1.0 版不适用于 Android Lollipop 6.0。
当我启动应用程序时,显示此错误:
Failed to run dexer:
[ERROR] :
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/LocationSource;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/GoogleMap;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/StreetViewPanorama$OnStreetViewPanoramaChangeListener;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/StreetViewPanoramaFragment;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/GoogleMap$InfoWindowAdapter;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/MapsInitializer;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/MapFragment;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/GoogleMap$OnMyLocationButtonClickListener;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/UiSettings;
[ERROR] :
[ERROR] : UNEXPECTED TOP-LEVEL EXCEPTION:
[ERROR] : java.lang.RuntimeException: Translation has been interrupted
[ERROR] : at com.android.dx.command.dexer.Main.processAllFiles(Main.java:608)
[ERROR] : at com.android.dx.command.dexer.Main.runMonoDex(Main.java:311)
[ERROR] : at com.android.dx.command.dexer.Main.run(Main.java:277)
[ERROR] : at com.android.dx.command.dexer.Main.main(Main.java:245)
[ERROR] : at com.android.dx.command.Main.main(Main.java:106)
[ERROR] : Caused by: java.lang.InterruptedException: Too many errors
[ERROR] : at com.android.dx.command.dexer.Main.processAllFiles(Main.java:600)
[ERROR] : ... 4 more
似乎google-play-services.jar是重复的,但是如果我删除这个jar我就不能编译模块。
Google 播放服务包含在许多 android 模块中(例如 ti.cloudpush、ti.map、ti.admob 和 ti.dfp ) 。您的库版本有冲突。
我的建议是 select 一个版本的 google-play-services.jar 并且强行替换所有正在使用的 google 播放服务模块中的 jar 文件你的项目有这个版本。
如果您必须为其中一个 appcelerator 模块(如 ti.map)更新 google-play-services.jar,您可能需要在您的项目目录而不是更改 SDK 目录中的模块。
请注意,一些较新的模块现在使用单独的 API jar 文件来提供 google 播放服务。这是为了避免完整 google-play-services.jar 的膨胀(并最大化 dexer 可以处理的方法数)。
但是那些单独的 jar 文件仍然是版本化的,你仍然可能会发生冲突,所以对于那些模块,只需将所有单独的 API jar 文件替换为一个 google-播放您 select.
的 services.jar 文件
如果我用更新版本替换 jar 文件,我没有遇到任何问题。您可以根据此文档交叉引用您的 jar 文件版本:http://www.smorgasbork.com/2015/01/05/google-play-services-sdk-version-history/
最后一点建议——如果你因为方法太多而遇到 dexer 问题,你可以解压 google-play-services.jar 文件并删除其中的一部分(就我而言,游戏、驱动器、视觉、钱包和可穿戴设备)。
所有这些都是皇家 PITA,我希望 Appcelerator 给予最高优先级。
我正在尝试使用 analytics.google 模块的 3.1.0 版,因为 1.0 版不适用于 Android Lollipop 6.0。
当我启动应用程序时,显示此错误:
Failed to run dexer:
[ERROR] :
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/LocationSource;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/GoogleMap;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/StreetViewPanorama$OnStreetViewPanoramaChangeListener;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/StreetViewPanoramaFragment;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/GoogleMap$InfoWindowAdapter;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/MapsInitializer;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/MapFragment;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/GoogleMap$OnMyLocationButtonClickListener;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/maps/UiSettings;
[ERROR] :
[ERROR] : UNEXPECTED TOP-LEVEL EXCEPTION:
[ERROR] : java.lang.RuntimeException: Translation has been interrupted
[ERROR] : at com.android.dx.command.dexer.Main.processAllFiles(Main.java:608)
[ERROR] : at com.android.dx.command.dexer.Main.runMonoDex(Main.java:311)
[ERROR] : at com.android.dx.command.dexer.Main.run(Main.java:277)
[ERROR] : at com.android.dx.command.dexer.Main.main(Main.java:245)
[ERROR] : at com.android.dx.command.Main.main(Main.java:106)
[ERROR] : Caused by: java.lang.InterruptedException: Too many errors
[ERROR] : at com.android.dx.command.dexer.Main.processAllFiles(Main.java:600)
[ERROR] : ... 4 more
似乎google-play-services.jar是重复的,但是如果我删除这个jar我就不能编译模块。
Google 播放服务包含在许多 android 模块中(例如 ti.cloudpush、ti.map、ti.admob 和 ti.dfp ) 。您的库版本有冲突。
我的建议是 select 一个版本的 google-play-services.jar 并且强行替换所有正在使用的 google 播放服务模块中的 jar 文件你的项目有这个版本。
如果您必须为其中一个 appcelerator 模块(如 ti.map)更新 google-play-services.jar,您可能需要在您的项目目录而不是更改 SDK 目录中的模块。
请注意,一些较新的模块现在使用单独的 API jar 文件来提供 google 播放服务。这是为了避免完整 google-play-services.jar 的膨胀(并最大化 dexer 可以处理的方法数)。
但是那些单独的 jar 文件仍然是版本化的,你仍然可能会发生冲突,所以对于那些模块,只需将所有单独的 API jar 文件替换为一个 google-播放您 select.
的 services.jar 文件如果我用更新版本替换 jar 文件,我没有遇到任何问题。您可以根据此文档交叉引用您的 jar 文件版本:http://www.smorgasbork.com/2015/01/05/google-play-services-sdk-version-history/
最后一点建议——如果你因为方法太多而遇到 dexer 问题,你可以解压 google-play-services.jar 文件并删除其中的一部分(就我而言,游戏、驱动器、视觉、钱包和可穿戴设备)。
所有这些都是皇家 PITA,我希望 Appcelerator 给予最高优先级。