网易首页 > 网易号 > 正文 申请入驻

一个时代即将终结!安卓应用告别APK格式

0
分享至

我们知道,Android应用是以APK格式呈现。从接触安卓系统开始,APK就一直陪伴着我们,可现在,属于APK的时代恐怕真得要过去了……

01

因安卓而被熟知的APK格式

APK全称Android application package,意为“Android应用程序包”,是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。

一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。

APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是DalvikVM executes的简称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,但不同于Windows mobile中的PE文件,程序的保密性和可靠性不是很高,通过dexdump命令可以反编译它,但这种架构符合发展规律,微软的WindowsGadgets(WPF)也采用了这种架构方式。

在Android平台中,dalvikvm的执行文件被打包为apk格式,最终运行时加载器会先解压,然后获取编译后的androidmanifest.xml文件中的permission声明对安全访问的限制,要知道仍然存在很多安全限制,但将apk文件传到/system/app文件夹下会发现执行是不受限制的。也许我们平时安装都不会选用这个文件夹,但在androidrom中,系统的apk文件默认会放入这个文件夹,它们拥有root权限。

如今这一格式要被取代了,据Android Authority报道,安卓宣布AAB格式将取代Android APK。

02

安卓宣布启用AAB格式

据悉,安卓早在2018年推出了AAB新格式(AAB全称为“Android App Bundles”),安卓声称这种新格式将使应用程序文件更小。

目前在Google Play数百万个应用程序中,已经有数千个应用程序率先跟进了AAB格式。

现在安卓宣布AAB正式取代Android APK,从今年8月份开始,所有提交到Google Play商店的新应用必须采用AAB格式。

Android App Bundle 是一种发布格式 —— 精确地说,是一个带有 .aab 扩展名的 zip 文件。它包含应用支持的所有设备的代码和资源,例如 DEX 文件、本地代码库、清单文件、各种资源文件等。一旦上传用于发布,Google Play 就会处理 APK 的签名和生成,这个过程称为动态交付 (Dynamic Delivery)。动态交付的用途是,根据用户的设备配置为用户生成优化的 APK。那么这究竟是怎么做到的?

分拆 APK (在 Lollipop 中引入) 是从给定的 Android App Bundle 生成的,其行为与单个 APK 无异。一个典型的应用可以获得一个基础 APK 和多个配置 APK。而且,如果应用具有动态功能,用户也可以获得动态功能 APK 及其配置 APK。基本 APK 包含所有设备配置共有的文件,如清单文件。配置 APK 是为您生成的,每个之中都包含有特定设备配置的相关资源:语言、CPU 架构或屏幕像素密度。因此,用户将获得标准的基本 APK (与所有其他设备一样) 以及仅包含用户设备相关资源的配置 APK。

这意味着,如果我使用的是一台 Android One 手机 (小米 A1) 而且我设置的主要语言是英文,则这台手机将获得基础 APK 以及支持英文、arm64 CPU 架构和 xhdpi 屏幕分辨率的配置 APK。更棒的是,当设备配置 (如语言) 发生变化时,Google Play 会检测到它,并下载该语言的配置 APK。为了进一步降低 APK 大小,我们正计划推出基于纹理压缩格式、图形 API 和新平台功能的分发方案。

动态功能 APK 包含用户首次安装应用时不需要的应用功能代码和资源。开发者可以把这些用途或功能添加到他们的应用中,Google Play 会按需提供这些动态功能模块,而不是在安装时统一添加,从而进一步减少应用下载体积。这也很好理解:我们有必要将那些消耗空间且在安装时根本用不着的功能,以及那些很少用得着的功能,都打包进动态功能模块中,这将显著减少用户安装时的文件下载量。

安装早于 Android Lollipop 版本的设备也可以享受安装文件体积缩小的福利,但其 APK 中将包含所有语言。

在如今,很显然构建一个统一的臃肿的 APK 的做法已经过时了。Android App Bundle 代表着 Android 应用交付的未来,接下来我们就可以看到如何构建这样的一个安装包。

03

安卓APP即将迎来大瘦身

了解ABB是什么和它的工作原理以后,人们不禁会好奇ABB究竟能让APK程序占用的空间小多少?

目前,国内的开发者将所有资源统一放在单个 APK 中,这样就会导致 APK 特别庞大,而AAB在压缩APK体积方面具有优势。

而为了缩小体积,部分开发者会有意缩减 APK 中的 ABI 目录。例如,将 arm64-v8a 的 SO 从 APK 中去除,只留下 armeabi-v7a 的 SO。但这种做法使得64位 CPU 的手机无法发挥出其64位的运算优势,降低程序运行速度。

Split APKs 是 Android 5.0 开始提供的多 APK 构建机制,借助 Split APKs 可以将一个 APK 基于 ABI、屏幕密度和 CPU 架构拆分成多个 APK ,这样可以有效减少单个 APK 体积。当用户下载应用程序安装包时,Google Play 会自动识别用户的语言和 CPU 架构,自动将对应平台 SO 和资源的 APK 下发给用户。

这样说是不是还是有些云里雾里的感觉,其实Android App Bundle 的早期采用者已经发现,动态交付显著减小了他们的应用体积。一些开发者甚至可以将他们的 APK 大小减半,而一些知名 app 使用 App Bundle 减小应用体积的数据也有放出来。

除了压缩体积外,ABB在“ 防二次打包”一类安全性上也有所表现,可安卓这一次改动真是技术更迭的推动又或者为了给用户更好的使用体验吗?

04

想要收拢权限的安卓

.aab 模块引入了 Split APK 概念。简单的来讲,就是在安装前,会自动检测用户的硬件配置,然后以多个 .apk 的形式安装应用。可目前,使用 Split APK 的应用程序,用户是无法直接提取安装的,都需要借助第三方工具来备份安装。这意味着,未来用户在非谷歌应用商店的第三方平台,下载安装应用会越来越困难。

虽然 .aab 模块化特性,极大的提升了开发者的更新维护的便捷性,节省了用户在安装应用的时间和存储空间 。就因为 .aab 的存在,随着用户使用设备、所在环境的不同,所安装的应用可能也不尽相同,应用也就是“不完整的”。

并且,通过官方文档,我们发现了:使用 app bundle ,开发者就必须加入 Google Play 应用签名计划。签名相当于打上唯一的电子标签,因此,如果应用被以非正常方式提取分享,就可能导致签名改变,最终影响应用运行。除非,开发者自行在第三方平台提供完整的应用安装包。

只能通过指定应用商店下载、应用“不完整”、分享限制。这些重重限制,Android 用户都有受到影响。

再往深处想一下,如果说 .aab 应用格式落实,对 Android 用户而言,只是增加了第三方下载应用的难度。那么对于鸿蒙 OS 而言,这可能是一个巨大的挑战。

目前鸿蒙 OS 的软件大多还是以安卓应用为主。所以如果谷歌全面使用 .aab ,肯定会对鸿蒙产生不利条件。

当然,这样的想法或许是我们多心了,究竟安卓应用这一次改变剑指何处,恐怕还需要时间来验证。

(编辑:张毅)

电脑报视频号视频推荐

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
曾克林率千人出关发展成十万大军,为何仅授少将?两个原因是关键

曾克林率千人出关发展成十万大军,为何仅授少将?两个原因是关键

兴趣知识
2026-06-20 21:18:11
汪小菲公开家庭矛盾:无法与孩子沟通!儿子索要钱,女儿要求房屋

汪小菲公开家庭矛盾:无法与孩子沟通!儿子索要钱,女儿要求房屋

青芳草
2024-07-10 10:05:49
发现一个现象:父母有退休金的家庭,基本上都会有这几种共性

发现一个现象:父母有退休金的家庭,基本上都会有这几种共性

呼呼历史论
2026-06-20 14:58:38
香港知名星二代患膀胱癌,满头白发一脸沧桑,抗癌多年病情稳定

香港知名星二代患膀胱癌,满头白发一脸沧桑,抗癌多年病情稳定

小嵩
2026-06-20 01:48:25
苏州一对情侣,谈了7年,女子提了18次分手,分手后在街头痛哭!

苏州一对情侣,谈了7年,女子提了18次分手,分手后在街头痛哭!

川渝视觉
2026-04-17 22:13:14
他是身高1.34米的亿万富翁,每月给妻子2万,依然被她害了

他是身高1.34米的亿万富翁,每月给妻子2万,依然被她害了

人间百态大全
2026-06-20 06:45:05
世界上最穷国:一辈子没见过肉,自行车是豪车,连跑步都不允许

世界上最穷国:一辈子没见过肉,自行车是豪车,连跑步都不允许

哄动一时啊
2026-06-07 14:23:50
约什-哈特:当看到马刺西决后激动哭泣时,我们就知道吃定他们了

约什-哈特:当看到马刺西决后激动哭泣时,我们就知道吃定他们了

懂球帝
2026-06-20 12:42:06
异性对接吻一定要慎重,一旦“接吻”了,关系就会发生重大变化!

异性对接吻一定要慎重,一旦“接吻”了,关系就会发生重大变化!

皓皓情感说
2026-05-15 12:29:38
中企调整印尼镍矿投资

中企调整印尼镍矿投资

王二哥老搞笑
2026-06-20 15:19:43
长得英俊帅气,却输在“个子矮”上,这几位男星的外形反差太大了

长得英俊帅气,却输在“个子矮”上,这几位男星的外形反差太大了

尺素a
2026-06-18 20:13:41
美国知名内存巨头开始采用长鑫DDR5芯片!放弃三星

美国知名内存巨头开始采用长鑫DDR5芯片!放弃三星

3DM游戏
2026-06-18 11:38:24
社保大局已定?今明两年,灵活就业或断缴过社保的人,认准3不做

社保大局已定?今明两年,灵活就业或断缴过社保的人,认准3不做

临云史策
2026-06-19 14:45:36
《乌苏里船歌》词作者胡小石逝世,享年86岁

《乌苏里船歌》词作者胡小石逝世,享年86岁

界面新闻
2026-06-20 19:11:46
半导体“金属之王”,中科院深度背书,业绩暴涨6倍

半导体“金属之王”,中科院深度背书,业绩暴涨6倍

粤语音乐喷泉
2026-06-20 08:30:35
名字中带“理工”的大学,有哪些985和211?

名字中带“理工”的大学,有哪些985和211?

地图帝
2026-06-16 13:25:59
绿联推出65W“小冰片”轻薄充电头:2C+1A,14.5mm,129元

绿联推出65W“小冰片”轻薄充电头:2C+1A,14.5mm,129元

IT之家
2026-06-20 10:43:18
河南85克拉裸钻刚量产!俄国发布“钻石禁令”,网友:这不巧了么

河南85克拉裸钻刚量产!俄国发布“钻石禁令”,网友:这不巧了么

火星方阵
2026-06-20 20:47:18
终于理解王京花了,就冲孙怡吃饭的这个样子,没几个婆婆能喜欢

终于理解王京花了,就冲孙怡吃饭的这个样子,没几个婆婆能喜欢

西楼知趣杂谈
2026-05-06 10:58:39
金饰克价年内大跌近450元

金饰克价年内大跌近450元

财联社
2026-06-20 11:18:04
2026-06-21 01:12:49
电脑报 incentive-icons
电脑报
创刊于1992年的计算机报
27031文章数 211731关注度
往期回顾 全部

手机要闻

全球首款大阔折手机!华为Pura X Max系列销量超41万台 典藏版更受欢迎

头条要闻

女子被困电梯跳出后坠入20米深电梯井身亡 女儿目睹

头条要闻

女子被困电梯跳出后坠入20米深电梯井身亡 女儿目睹

体育要闻

全队抱头痛哭!5亿欧土耳其出局 2场轰62脚0进球

娱乐要闻

张凯丽被骂到关评!

财经要闻

金饰克价年内大跌近450元 跌幅最高达26%

科技要闻

DeepSeek上线识图模式,看谁都像梁文锋

汽车要闻

惊出冷汗!重庆实测奥迪A5L,华为智驾这波操作绝了…

态度原创

教育
时尚
游戏
数码
家居

教育要闻

偏心的父母和爱占便宜的孩子,其实是一伙的!

白背心能显瘦?关键在领口和肩带

T1分部官宣人员变动,韩网炸锅黑历史被扒!粉丝炮轰:这种人也要

数码要闻

SK海力士参展HPED 2026:HBM4、CXL 3.2内存齐亮相

家居要闻

绿意盎然 自然之境

无障碍浏览 进入关怀版