写点什么

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

  • 2014-12-07
  • 本文字数:722 字

    阅读完需:约 2 分钟

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

2014-12-07 00:033408
用户头像

发布了 75 篇内容, 共 63.0 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

双非怎么了

我是程序员小贱

3月日更

Firebase 命令行工具

HoneyMoose

2020 年前端技术发展盘点

三钻

发展 大前端 组件化 机会与趋势

Redis - 主从模式

insight

redis 3月日更

缓存不一致、缓存雪崩、缓存击穿、缓存穿透

escray

redis 学习 极客时间 3月日更 Redis 核心技术与实战

推进智能变革,HPE让零售业的数字化梦想照进现实

Lily

MySQL主从原理,基于快速学习一门技术的3种方式

博文视点Broadview

从新手到专家:如何设计一套亿级消息量的分布式IM系统

JackJiang

架构设计 即时通讯 IM

工作四年,分享50个让你代码更好的小建议

比伯

Java 程序员 架构 程序人生 计算机

Kafka、RabbitMQ、RocketMQ 之间的区别是什么 ?

AI乔治

Java kafka 架构 消息队列

图片的黑魔法——GitHub 热点速览 v.21.13

HelloGitHub

GitHub 开源

Java + opencv实现视频人脸检测

张音乐

OpenCV 人脸识别 视频

Python API 类型系统的设计与演变

李宇飞

API

无需编程,通过配置零代码生成CRUD RESTful API

crudapi

RESTful 低代码 API crud crudapi

区块链农产品溯源系统开发,区块链农产品溯源平台的搭建

13828808769

区块链 区块链+ #区块链#

史上最全教程:idea将Java项目打包Jar包,并生成exe可执行文件

madison

Java jar包转exe可执行文件 exe4j

AA

郑伟

标签

书单|互联网企业面试案头书之数据分析师篇

博文视点Broadview

算法:求两个单向链表的最早公共交点

程序员架构进阶

算法 链表 28天写作 3月日更 算法解析

Centos7下Docker安装&配置&镜像加速

happlyfox

学习 ,docker 3月日更

万物皆可拆

小匚

来,在图片上画个矩形吧,取经之旅第 14 天

梦想橡皮擦

3月日更

科普NA公链(Nirvana):NAC公链采用基于NIO的Netty,实现链上应用百万级TPS并发​

区块链第一资讯

华为云副总裁薛浩:云原生视频服务,重塑体验,助力产业升级

华为云开发者联盟

云原生 音视频 视频 华为云 AR/VR

go + ffmpeg + goav 实现拉流解码器

张音乐

音视频 ffmpeg Go 语言 goav

【Axure9百例】47.CSDN的列表样式

zhuchuanming

原型设计 Axure 交互原型

记上周双休日的加班

sadhu

加班

PS 进行隐藏图制作

空城机

PhotoShop ps 视觉处理 视觉 隐藏图

我还不懂什么是分布式事务

好好学习,天天向上

Java MySQL spring 分布式 事务

关于Vue权限路由思考

程序员海军

Vue 大前端 vue-router 权限认证 按钮权限

局域网服务器访问外网方案

程序员与厨子

Linux 网络 路由表

Jack和Jill:旨在更高性能的新版安卓编译器_Google_Abel Avram_InfoQ精选文章