我正在使用Eclipse,我有一个使用Android版本21(5.0)的新项目。我想用Art而不是Dalvik编译它。我需要做些什么才能实现这一目标?
编辑:问题的原因是我有这个问题:
[2014-11-12 10:30:49 - Dex Loader] Unable to execute dex: method ID not in [0, 0xffff]: 65536
[2014-11-12 10:30:49 - MAMUT] Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536
我预计不会这样做我解决问题:
特别值得注意的是制作minSdkVersion 21 dev的建议 build - 这允许您以递增方式生成多指令输出 新的ART格式,使得开发迭代更快 循环(至少在Android 5.0设备上)。
由于
答案 0 :(得分:2)
I want to compile it using Art instead of Dalvik.
Art和Dalvik不是编译器,它们是虚拟机。他们执行了编译器(您的应用程序)生成的字节码
答案 1 :(得分:2)
特别值得注意的是建立一个minSdkVersion 21 dev构建的建议 - 这允许您以新的ART格式递增地生成多指令输出,从而实现更快的开发迭代周期(至少在Android 5.0设备上)。
那是错的,应该粗略阅读
特别值得注意的是建议将 Android Build Tools 21.1及更高版本与Multidex Support Library一起使用 - 这允许您使用
dex
格式的多个dex文件没有改变,没有改变发展。
dex
格式的问题在于它不能包含超过65536种方法。解决方案是简化将输出拆分为多个dex
文件。我们过去有两个问题
dx
工具无法生成多个dex文件构建工具21解决了第一个问题,只需在编译选项中添加-multi-dex
标志即可生成多个dex文件。
multidex支持库解决了第二个问题。它告诉那些设备如何加载其他dex文件。 Lollipop及以上的ART运行时(4.4也有ART也可以做同样的事情)能够使用多个文件而不被告知如何这样做。
官方Building Apps with Over 65K Methods文件也是相关的。
答案 2 :(得分:0)
只需要一台运行ART的模拟器或真实设备。
检查一下: https://developer.android.com/guide/practices/verifying-apps-art.html