久久精品国产亚洲5555_亚洲人成亚洲人成在线观看图片 _亚洲.国产.中文慕字在线_久久精品免费电影_奇米影视7777精品一区二区_91精品免费观看_www.亚洲人_欧美一区二区三区免费_91精品国产91久久久久_eeuss影院一区二区三区

一個(gè)時(shí)代即將終結(jié)!安卓應(yīng)用告別 APK 格式

每日快訊
2021
07/05
22:17
電腦報(bào)
分享
評(píng)論

來源:電腦報(bào)

我們知道,Android 應(yīng)用是以 APK 格式呈現(xiàn)。從接觸安卓系統(tǒng)開始,APK 就一直陪伴著我們,可現(xiàn)在,屬于 APK 的時(shí)代恐怕真得要過去了 ……

01

因安卓而被熟知的 APK 格式

APK 全稱 Android application package,意為 "Android 應(yīng)用程序包 ",是 Android 操作系統(tǒng)使用的一種應(yīng)用程序包文件格式,用于分發(fā)和安裝移動(dòng)應(yīng)用及中間件。

一個(gè) Android 應(yīng)用程序的代碼想要在 Android 設(shè)備上運(yùn)行,必須先進(jìn)行編譯,然后被打包成為一個(gè)被 Android 系統(tǒng)所能識(shí)別的文件才可以被運(yùn)行,而這種能被 Android 系統(tǒng)識(shí)別并運(yùn)行的文件格式便是 "APK"。

APK 文件其實(shí)是 zip 格式,但后綴名被修改為 apk,通過 UnZip 解壓后,可以看到 Dex 文件,Dex 是 DalvikVM executes 的簡稱,即 Android Dalvik 執(zhí)行程序,并非 Java ME 的字節(jié)碼而是 Dalvik 字節(jié)碼。Android 在運(yùn)行一個(gè)程序時(shí)首先需要 UnZip,然后類似 Symbian 那樣直接,但不同于 Windows mobile 中的 PE 文件,程序的保密性和可靠性不是很高,通過 dexdump 命令可以反編譯它,但這種架構(gòu)符合發(fā)展規(guī)律,微軟的 WindowsGadgets ( WPF ) 也采用了這種架構(gòu)方式。

在 Android 平臺(tái)中,dalvikvm 的執(zhí)行文件被打包為 apk 格式,最終運(yùn)行時(shí)加載器會(huì)先解壓,然后獲取編譯后的 androidmanifest.xml 文件中的 permission 聲明對(duì)安全訪問的限制,要知道仍然存在很多安全限制,但將 apk 文件傳到 /system/app 文件夾下會(huì)發(fā)現(xiàn)執(zhí)行是不受限制的。也許我們平時(shí)安裝都不會(huì)選用這個(gè)文件夾,但在 androidrom 中,系統(tǒng)的 apk 文件默認(rèn)會(huì)放入這個(gè)文件夾,它們擁有 root 權(quán)限。

如今這一格式要被取代了,據(jù) Android Authority 報(bào)道,安卓宣布 AAB 格式將取代 Android APK。

02

安卓宣布啟用 AAB 格式

據(jù)悉,安卓早在 2018 年推出了 AAB 新格式(AAB 全稱為 "Android App Bundles"),安卓聲稱這種新格式將使應(yīng)用程序文件更小。

目前在 Google Play 數(shù)百萬個(gè)應(yīng)用程序中,已經(jīng)有數(shù)千個(gè)應(yīng)用程序率先跟進(jìn)了 AAB 格式。

現(xiàn)在安卓宣布 AAB 正式取代 Android APK,從今年 8 月份開始,所有提交到 Google Play 商店的新應(yīng)用必須采用 AAB 格式。

Android App Bundle 是一種發(fā)布格式 —— 精確地說,是一個(gè)帶有 .aab 擴(kuò)展名的 zip 文件。它包含應(yīng)用支持的所有設(shè)備的代碼和資源,例如 DEX 文件、本地代碼庫、清單文件、各種資源文件等。一旦上傳用于發(fā)布,Google Play 就會(huì)處理 APK 的簽名和生成,這個(gè)過程稱為動(dòng)態(tài)交付 ( Dynamic Delivery ) 。動(dòng)態(tài)交付的用途是,根據(jù)用戶的設(shè)備配置為用戶生成優(yōu)化的 APK。那么這究竟是怎么做到的?

分拆 APK ( 在 Lollipop 中引入 ) 是從給定的 Android App Bundle 生成的,其行為與單個(gè) APK 無異。一個(gè)典型的應(yīng)用可以獲得一個(gè)基礎(chǔ) APK 和多個(gè)配置 APK。而且,如果應(yīng)用具有動(dòng)態(tài)功能,用戶也可以獲得動(dòng)態(tài)功能 APK 及其配置 APK。基本 APK 包含所有設(shè)備配置共有的文件,如清單文件。配置 APK 是為您生成的,每個(gè)之中都包含有特定設(shè)備配置的相關(guān)資源:語言、CPU 架構(gòu)或屏幕像素密度。因此,用戶將獲得標(biāo)準(zhǔn)的基本 APK ( 與所有其他設(shè)備一樣 ) 以及僅包含用戶設(shè)備相關(guān)資源的配置 APK。

這意味著,如果我使用的是一臺(tái) Android One 手機(jī) ( 小米 A1 ) 而且我設(shè)置的主要語言是英文,則這臺(tái)手機(jī)將獲得基礎(chǔ) APK 以及支持英文、arm64 CPU 架構(gòu)和 xhdpi 屏幕分辨率的配置 APK。更棒的是,當(dāng)設(shè)備配置 ( 如語言 ) 發(fā)生變化時(shí),Google Play 會(huì)檢測(cè)到它,并下載該語言的配置 APK。為了進(jìn)一步降低 APK 大小,我們正計(jì)劃推出基于紋理壓縮格式、圖形 API 和新平臺(tái)功能的分發(fā)方案。

動(dòng)態(tài)功能 APK 包含用戶首次安裝應(yīng)用時(shí)不需要的應(yīng)用功能代碼和資源。開發(fā)者可以把這些用途或功能添加到他們的應(yīng)用中,Google Play 會(huì)按需提供這些動(dòng)態(tài)功能模塊,而不是在安裝時(shí)統(tǒng)一添加,從而進(jìn)一步減少應(yīng)用下載體積。這也很好理解:我們有必要將那些消耗空間且在安裝時(shí)根本用不著的功能,以及那些很少用得著的功能,都打包進(jìn)動(dòng)態(tài)功能模塊中,這將顯著減少用戶安裝時(shí)的文件下載量。

安裝早于 Android Lollipop 版本的設(shè)備也可以享受安裝文件體積縮小的福利,但其 APK 中將包含所有語言。

在如今,很顯然構(gòu)建一個(gè)統(tǒng)一的臃腫的 APK 的做法已經(jīng)過時(shí)了。Android App Bundle 代表著 Android 應(yīng)用交付的未來,接下來我們就可以看到如何構(gòu)建這樣的一個(gè)安裝包。

03

安卓 APP 即將迎來大瘦身

了解 ABB 是什么和它的工作原理以后,人們不禁會(huì)好奇 ABB 究竟能讓 APK 程序占用的空間小多少?

目前,國內(nèi)的開發(fā)者將所有資源統(tǒng)一放在單個(gè) APK 中,這樣就會(huì)導(dǎo)致 APK 特別龐大,而 AAB 在壓縮 APK 體積方面具有優(yōu)勢(shì)。

而為了縮小體積,部分開發(fā)者會(huì)有意縮減 APK 中的 ABI 目錄。例如,將 arm64-v8a 的 SO 從 APK 中去除,只留下 armeabi-v7a 的 SO。但這種做法使得 64 位 CPU 的手機(jī)無法發(fā)揮出其 64 位的運(yùn)算優(yōu)勢(shì),降低程序運(yùn)行速度。

Split APKs 是 Android 5.0 開始提供的多 APK 構(gòu)建機(jī)制,借助 Split APKs 可以將一個(gè) APK 基于 ABI、屏幕密度和 CPU 架構(gòu)拆分成多個(gè) APK ,這樣可以有效減少單個(gè) APK 體積。當(dāng)用戶下載應(yīng)用程序安裝包時(shí),Google Play 會(huì)自動(dòng)識(shí)別用戶的語言和 CPU 架構(gòu),自動(dòng)將對(duì)應(yīng)平臺(tái) SO 和資源的 APK 下發(fā)給用戶。

這樣說是不是還是有些云里霧里的感覺,其實(shí) Android App Bundle 的早期采用者已經(jīng)發(fā)現(xiàn),動(dòng)態(tài)交付顯著減小了他們的應(yīng)用體積。一些開發(fā)者甚至可以將他們的 APK 大小減半,而一些知名 app 使用 App Bundle 減小應(yīng)用體積的數(shù)據(jù)也有放出來。

除了壓縮體積外,ABB 在 " 防二次打包 " 一類安全性上也有所表現(xiàn),可安卓這一次改動(dòng)真是技術(shù)更迭的推動(dòng)又或者為了給用戶更好的使用體驗(yàn)嗎?

04

想要收攏權(quán)限的安卓

.aab 模塊引入了 Split APK 概念。簡單的來講,就是在安裝前,會(huì)自動(dòng)檢測(cè)用戶的硬件配置,然后以多個(gè) .apk 的形式安裝應(yīng)用。可目前,使用 Split APK 的應(yīng)用程序,用戶是無法直接提取安裝的,都需要借助第三方工具來備份安裝。這意味著,未來用戶在非谷歌應(yīng)用商店的第三方平臺(tái),下載安裝應(yīng)用會(huì)越來越困難。

雖然 .aab 模塊化特性,極大的提升了開發(fā)者的更新維護(hù)的便捷性,節(jié)省了用戶在安裝應(yīng)用的時(shí)間和存儲(chǔ)空間 。就因?yàn)?.aab 的存在,隨著用戶使用設(shè)備、所在環(huán)境的不同,所安裝的應(yīng)用可能也不盡相同,應(yīng)用也就是 " 不完整的 "。

并且,通過官方文檔,我們發(fā)現(xiàn)了:使用 app bundle ,開發(fā)者就必須加入 Google Play 應(yīng)用簽名計(jì)劃。簽名相當(dāng)于打上唯一的電子標(biāo)簽,因此,如果應(yīng)用被以非正常方式提取分享,就可能導(dǎo)致簽名改變,最終影響應(yīng)用運(yùn)行。除非,開發(fā)者自行在第三方平臺(tái)提供完整的應(yīng)用安裝包。

只能通過指定應(yīng)用商店下載、應(yīng)用 " 不完整 "、分享限制。這些重重限制,Android 用戶都有受到影響。

再往深處想一下,如果說 .aab 應(yīng)用格式落實(shí),對(duì) Android 用戶而言,只是增加了第三方下載應(yīng)用的難度。那么對(duì)于鴻蒙 OS 而言,這可能是一個(gè)巨大的挑戰(zhàn)。

目前鴻蒙 OS 的軟件大多還是以安卓應(yīng)用為主。所以如果谷歌全面使用 .aab ,肯定會(huì)對(duì)鴻蒙產(chǎn)生不利條件。

當(dāng)然,這樣的想法或許是我們多心了,究竟安卓應(yīng)用這一次改變劍指何處,恐怕還需要時(shí)間來驗(yàn)證。

THE END
廣告、內(nèi)容合作請(qǐng)點(diǎn)擊這里 尋求合作
快訊
免責(zé)聲明:本文系轉(zhuǎn)載,版權(quán)歸原作者所有;旨在傳遞信息,不代表砍柴網(wǎng)的觀點(diǎn)和立場(chǎng)。

相關(guān)熱點(diǎn)

據(jù)國外媒體報(bào)道,蘋果系統(tǒng)狀態(tài)追蹤器顯示,包括App Store、iTunes Store、Apple Music和Mac App Store等的在線服務(wù)遭遇未知故障,這些旗艦服務(wù)連接都處于時(shí)斷時(shí)續(xù)狀態(tài)。
業(yè)界
國慶中秋假期期間,科技領(lǐng)域重要新聞不斷,以下為新浪科技精心為大家總結(jié)的國慶中秋假期要聞回顧。
業(yè)界
終于等到了周四,今天的新聞軟硬適中,口感豐富。廢話少說,不妨直接瀏覽昨晚今晨科技、互聯(lián)網(wǎng)圈又發(fā)生了什么。
業(yè)界
在高鐵上點(diǎn)外賣是一種什么樣的體驗(yàn)?你很快就能知道啦
業(yè)界
全球近100個(gè)國家遭勒索軟件攻擊 7.5萬臺(tái)計(jì)算機(jī)感染
原創(chuàng)

相關(guān)推薦

1
3
久久精品国产亚洲5555_亚洲人成亚洲人成在线观看图片 _亚洲.国产.中文慕字在线_久久精品免费电影_奇米影视7777精品一区二区_91精品免费观看_www.亚洲人_欧美一区二区三区免费_91精品国产91久久久久_eeuss影院一区二区三区
不卡视频在线观看| 欧美性高清videossexo| 91丨porny丨蝌蚪视频| 成人丝袜18视频在线观看| 日韩欧美中文字幕公布| 在线观看日产精品| 亚洲国产日韩一区二区| 国产午夜精品久久久久久免费视| 久久久精品免费网站| 在线观看三级视频欧美| 国产精品久久久久久亚洲毛片| 国产精品全国免费观看高清| 久久先锋影音av鲁色资源网| 亚洲成人免费av| 国产欧美精品一区二区三区四区| 99精品偷自拍| 日韩精品综合一本久道在线视频| 亚洲午夜精品网| 成人av在线一区二区| 欧美一级日韩免费不卡| 亚洲同性同志一二三专区| 日韩中文字幕亚洲一区二区va在线| 亚洲一区二区在线免费看| 色偷偷一区二区三区| 欧美性三三影院| 91丨porny丨国产| 高清视频一区二区| 欧美日韩不卡一区二区| 国产目拍亚洲精品99久久精品| 一二三区精品视频| 97精品国产97久久久久久久久久久久| 在线观看一区二区精品视频| 成人欧美一区二区三区白人 | 国产色婷婷亚洲99精品小说| 国产精品免费视频一区| 欧美美女一区二区在线观看| 亚洲精品国久久99热| 在线视频一区二区三| 日本电影亚洲天堂一区| 欧美色图免费看| 日韩不卡一区二区三区 | 亚洲激情在线播放| 国产日韩一级二级三级| 99国产精品国产精品久久| 久久精品网站免费观看| 日本不卡一二三| 国产精品午夜在线观看| 日本精品裸体写真集在线观看| 国产精品的网站| 国产精品77777| 中文字幕一区av| 日韩欧美激情四射| 奇米影视一区二区三区| 精品国产精品网麻豆系列| 国产伦精品一区二区三区免费| 欧洲中文字幕精品| 中文一区在线播放| 欧美精品久久久久久久多人混战| 精品久久久久99| 盗摄精品av一区二区三区| 亚洲欧美在线视频| 欧美无乱码久久久免费午夜一区| 香蕉影视欧美成人| 国产精品成人在线观看| 日本一区二区在线不卡| 亚洲chinese男男1069| 国产一区二区精品久久91| 夫妻av一区二区| 国产麻豆午夜三级精品| 亚洲激情在线激情| 一本久久a久久精品亚洲| 色老汉av一区二区三区| 北条麻妃一区二区三区| 欧美日韩一级黄| 欧美激情综合五月色丁香| 婷婷国产在线综合| 性欧美疯狂xxxxbbbb| 紧缚奴在线一区二区三区| 99久久精品一区二区| 99视频有精品| 国产激情精品久久久第一区二区| 亚洲成在人线在线播放| 欧美日韩一区不卡| 国产98色在线|日韩| 正在播放亚洲一区| 国产精品色噜噜| 亚洲男人的天堂网| 欧美三级日韩三级国产三级| 欧美一区二区美女| 日韩色视频在线观看| 色天天综合色天天久久| 国产高清视频一区| 亚洲欧美一区二区三区国产精品 | 久久精品水蜜桃av综合天堂| 成人精品在线视频观看| 久久久亚洲精品一区二区三区| 国产欧美精品一区二区色综合朱莉| 国产精品福利在线播放| 看国产成人h片视频| 国产亚洲精品久| 国产乱码精品一区二区三| 精品久久久久久久人人人人传媒| 成人一区二区三区视频在线观看| 欧美一区二区视频在线观看| 五月天丁香久久| 欧美日韩大陆在线| 九九国产精品视频| 国产精品美女久久久久久久| 色94色欧美sute亚洲线路二| 国产精品1区2区| 国产大陆亚洲精品国产| 日韩精品一级二级| 一区二区三区中文字幕| 亚洲乱码一区二区三区在线观看| 欧美成人一区二区三区片免费| 国产成人在线视频网址| 成人欧美一区二区三区黑人麻豆 | 欧美一区二区私人影院日本| 亚洲精品国产视频| 国产剧情一区二区三区| 日韩免费看网站| 欧美日韩成人一区二区| 久久福利资源站| 狠狠色丁香久久婷婷综| 久久9热精品视频| 亚洲色图视频免费播放| 欧美精品一区二区三区四区| 日韩一级欧美一级| 激情文学综合丁香| 国产成人午夜视频| 欧美伦理电影网| 日韩免费视频一区二区| 亚洲成人黄色影院| 亚洲欧美色一区| 久久精品国产亚洲a| 国产成人免费在线| 色中色一区二区| 欧美哺乳videos| 日韩精品最新网址| 午夜av一区二区三区| 色婷婷一区二区三区四区| 欧美日韩精品一区二区在线播放| 日韩欧美中文字幕一区| 国产99久久久国产精品潘金网站| 精品三级在线观看| 美女脱光内衣内裤视频久久影院| 欧美日韩在线播放一区| 2024国产精品视频| 91色porny蝌蚪| 狠狠色伊人亚洲综合成人| 久久久久国产精品厨房| 精品一区二区三区在线观看 | 视频一区在线视频| 一本大道久久精品懂色aⅴ| 精品国产乱码久久久久久久久| 亚洲免费在线观看视频| 成人av影视在线观看| 日本亚洲一区二区| 久久这里都是精品| 成人欧美一区二区三区在线播放| 91尤物视频在线观看| 日韩精品亚洲专区| 日韩三级精品电影久久久| 国内精品在线播放| 久久99国内精品| 日韩在线播放一区二区| 色综合天天性综合| 亚洲一区免费观看| 国产高清视频一区| 亚洲色图第一区| 成人动漫中文字幕| 日韩av一区二区在线影视| 日韩理论片一区二区| 亚洲精品亚洲人成人网在线播放| 欧美日韩一级片网站| 国产精品日日摸夜夜摸av| 久久精品一区二区三区不卡牛牛| 国产伦理精品不卡| 亚洲大片精品永久免费| 欧美视频中文字幕| 99精品桃花视频在线观看| 亚洲一区自拍偷拍| 欧美性受xxxx黑人xyx性爽| 成人黄色av电影| 国内精品国产成人| 99综合影院在线| 欧美大片拔萝卜| 69堂亚洲精品首页| 欧美日韩极品在线观看一区| 麻豆国产欧美日韩综合精品二区 | 欧美精品一二三四| 免费成人av资源网| 国产成人啪免费观看软件| 麻豆久久一区二区| 精品视频一区三区九区| 国产欧美精品一区二区色综合朱莉 | 国产精品国产三级国产aⅴ入口| 国产欧美日韩综合| 国产一二精品视频| 欧美日韩不卡一区|