在 appcelerator 中编译 apk 时出错
Error compile apk in appcelerator
我尝试使用 Appcelerator 编译 apk,但出现此错误,我使用的是模块 ti.cloudpush。如何解决。
目前我正在使用 Titanium sdk:5.2.0.GA
[ERROR] : Failed to run dexer:
[ERROR] :
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/dynamic/LifecycleDelegate;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/auth/GoogleAuthUtil;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/auth/UserRecoverableAuthException;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/auth/GoogleAuthException;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/auth/GooglePlayServicesAvailabilityException;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/auth/UserRecoverableNotifiedException;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/common/GooglePlayServicesUtil;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/common/UserRecoverableException;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/common/AccountPicker;
[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
这里是我在项目中使用的所有模块
<modules>
<module platform="commonjs">ti.cloud</module>
<module platform="android">dk.napp.drawer</module>
<module platform="android">ti.admob</module>
<module platform="android">ti.ga</module>
<module platform="android">ti.cloudpush</module>
</modules>
谢谢
可能问题出在 cloudpush 和 admob 中的嵌入式 google 播放服务,尝试删除其中一个模块并查看它是否编译。
Google 播放服务包含在 ti.cloudpush、ti.admob 和 ti.ga 中。您的库版本有冲突。
我的建议是select一个版本的google-play-services.jar,并强制将所有模块中的jar文件替换为这个版本。
我实际上将 ti.cloudpush 模块复制到我的项目目录中,以便我可以直接维护它(并将 google-play-services.jar 的正确版本检查到我的源代码中代码库)。
如果我用较新版本替换 jar 文件,我没有遇到任何问题。您可以根据此文档交叉引用您的 jar 文件版本:http://www.smorgasbork.com/2015/01/05/google-play-services-sdk-version-history/
顺便说一句——还有另一个模块可用于 google 分析。我使用 https://github.com/Sitata/titanium-google-analytics 取得了很大的成功。我不确定那个和 Ti.GA 之间有什么区别(尽管我认为 Ben Bahrenburg 是一位出色的 Ti 开发人员,所以我可能不得不研究那个)。
我尝试使用 Appcelerator 编译 apk,但出现此错误,我使用的是模块 ti.cloudpush。如何解决。
目前我正在使用 Titanium sdk:5.2.0.GA
[ERROR] : Failed to run dexer:
[ERROR] :
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/dynamic/LifecycleDelegate;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/auth/GoogleAuthUtil;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/auth/UserRecoverableAuthException;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/auth/GoogleAuthException;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/auth/GooglePlayServicesAvailabilityException;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/auth/UserRecoverableNotifiedException;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/common/GooglePlayServicesUtil;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/common/UserRecoverableException;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/common/AccountPicker;
[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
这里是我在项目中使用的所有模块
<modules>
<module platform="commonjs">ti.cloud</module>
<module platform="android">dk.napp.drawer</module>
<module platform="android">ti.admob</module>
<module platform="android">ti.ga</module>
<module platform="android">ti.cloudpush</module>
</modules>
谢谢
可能问题出在 cloudpush 和 admob 中的嵌入式 google 播放服务,尝试删除其中一个模块并查看它是否编译。
Google 播放服务包含在 ti.cloudpush、ti.admob 和 ti.ga 中。您的库版本有冲突。
我的建议是select一个版本的google-play-services.jar,并强制将所有模块中的jar文件替换为这个版本。
我实际上将 ti.cloudpush 模块复制到我的项目目录中,以便我可以直接维护它(并将 google-play-services.jar 的正确版本检查到我的源代码中代码库)。
如果我用较新版本替换 jar 文件,我没有遇到任何问题。您可以根据此文档交叉引用您的 jar 文件版本:http://www.smorgasbork.com/2015/01/05/google-play-services-sdk-version-history/
顺便说一句——还有另一个模块可用于 google 分析。我使用 https://github.com/Sitata/titanium-google-analytics 取得了很大的成功。我不确定那个和 Ti.GA 之间有什么区别(尽管我认为 Ben Bahrenburg 是一位出色的 Ti 开发人员,所以我可能不得不研究那个)。