BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Jack和Jill:旨在更高性能的新版安卓编译器

| 作者 Abel Avram 关注 7 他的粉丝 ,译者 丛一 关注 2 他的粉丝 发布于 2014年12月8日. 估计阅读时间: 2 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

Saikoa的技术总监Eric Lafortune,DexGuard的创造者,在安卓5.0修订版1(API 21.1)的SDK中发现了一些新的工具,主要是名为Jack和Jill的两个编译器。这些工具旨在简化安卓的编译流程。

谷歌在KitKat版本中引入了安卓运行时(ART)环境作为实验性的工具,并且在Lollipop版本中用它替换了Dalvik作为默认的运行时环境。在设备上安装应用程序时,ART获取DEX字节码然后将其转化为本地代码,进行预编译的同时又兼顾设备本身的特性。而现在,谷歌似乎正在进一步增强编译流程。

据Lafortune介绍,Jack是一个基于Eclipse Java编译器和ProGuard的工具。ProGuard是一个调优工具,通过删除无用的代码缩减代码库,通过重命名类、方法和属性混淆代码库。虽然ProGuard已经被整合到安卓的构建系统中,并且在生成发布包时推荐使用,开发者仍然可以自主选择是否要使用它。如果Jack成为官方工具,开发者就必须要强制使用这个工具,不过通过配置文件,他们对这个工具还是会有一定的控制权。

另外一个新工具Jill用于将Java库字节码转化成名为Jayce的中间字节码。Jack对Java源码和Jayce字节码进行编译,生成经过优化的DEX字节码。据Lafortune描述,这两个编译器“看起来相当实用”,尽管Jack目前还不支持“ProGuard的一些高级功能,例如移除日志代码”。

这两个编译器目前还不支持Java 8,不过他们力争“向后兼容并且开放将来扩展的可能性”,Lafortune补充到。开发者可以在使用安卓plugin 1.0.0 RC的Gradle构建中试用这些编译器。

作为谷歌提升其移动操作系统性能的又一次尝试,Jack和Jill能够生成更加优化的代码,尺寸更小并且可能是经过混淆的。

查看英文原文:Jack & Jill: New Android Compilers for More Performance

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT