我正在制作一个使用地图和通知的Appcelerator Titanium应用程序。为了提供我想使用的功能:
问题是两者都需要Google Play服务和Appcelerator Titanium不支持multidex,所以在编译期间我总是收到错误:
[ERROR] : Failed to run dexer:
[ERROR] :
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/dynamic/zzd$zza$zza;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/dynamic/zzg$zza;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/dynamic/zzd;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/dynamic/zzd$zza;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/dynamic/zzg;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/dynamic/zze;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/playlog/internal/zza;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/playlog/internal/zzb;
[ERROR] : Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/google/android/gms/playlog/internal/zzd;
[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
我被建议我应该按照here所述使用Google Play服务创建我自己的.jar文件。
不幸的是我无法创建正确的proguard.conf文件,因此我总是遇到类似的错误。
具体来说:
提前感谢您的帮助。
答案 0 :(得分:2)
使其工作的唯一方法是创建SDK的特殊版本,为两个模块提供必要的功能。它被描述为medium.com article但它确实很复杂。
幸运的是,来自caffeinalab的人提供了jar libraries如何实现它们的良好描述。
如果您仍有任何问题,请查看this thread,这可以帮助您解决常见错误。
答案 1 :(得分:0)
这是解决多方格问题最令人尴尬的情况(至少对我而言)。您可以通过两种方式获得帮助:
尝试使用相同版本的Google Play服务为两个模块创建.jar库(请注意可能还需要相同版本的其他问题)
如果您的唯一目的是支持地图&推送,然后最好的解决方案是坚持使用Titanium内置的CloudPush&地图模块。 (当我必须支持地图和推送时,这是我在大多数应用中总是喜欢的。)