首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ti.map和ti.goosh模块时的Multidex错误

使用ti.map和ti.goosh模块时的Multidex错误
EN

Stack Overflow用户
提问于 2016-08-30 11:58:22
回答 2查看 320关注 0票数 1

我正在制作一个Appcelerator钛应用程序,它使用地图和通知。要提供这样的功能,我想使用:

  • ti.map (地图的官方应用程序钛模块),
  • ti.goosh

问题是两者都需要Google Play Services和Appcelerator Tit闭包不支持multidex,所以在编译过程中我总是会遇到一个错误:

代码语言:javascript
复制
[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

有人建议我用Google服务创建我自己的.jar文件,就像这里描述的那样。

不幸的是,我无法创建正确的proguard.conf文件,因此我总是以类似的错误告终。

具体而言:

  • 我能够创建proguard.conf文件(但它的内容一定是错误的),
  • 我创建.jar文件并使用原始文件进行切换。

提前感谢您的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-14 05:24:58

使其工作的唯一方法是创建特殊版本的SDK,为这两个模块提供必要的功能。它被描述为medium.com文章,但它确实是复杂的事情。

幸运的是,来自caffeinalab的人为jar库提供了很好的描述,说明了如何实现它们。

如果您仍然有任何问题,检查这条线是好的,这可以帮助您处理常见的错误。

票数 2
EN

Stack Overflow用户

发布于 2016-08-31 03:22:18

这是最令人尴尬的情况(至少对我来说)对抗多dexer问题。有两种方法可以让你感到有帮助:

  1. 尝试使用相同版本的Google服务为两个模块创建.jar库(注意可能还需要相同版本的进一步问题)
  2. 如果您的唯一目的是支持地图和推送,那么最好的解决方案就是坚持使用钛内置的CloudPush & Maps模块。(在我的大多数应用程序中,当我不得不支持地图和推到一起时,这就是我一直喜欢的)。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39226890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档