AAB加固自己的一些看法

先說(shuō)說(shuō)google play上架為什么要用AAB格式

image.png

相比于 APK,Google 主推的 APP 打包格式 AAB 在很多方面都更為優(yōu)越笙以,主要體現(xiàn)為如下幾點(diǎn):
1.1. 動(dòng)態(tài)分發(fā)
一個(gè) APK 中往往包含各國(guó)的語(yǔ)言資源梨树、ABI票顾、屏幕密度等資源卜范。然而隧土,對(duì)于單個(gè)用戶來(lái)說(shuō),往往只需要這些資源中的部分藕甩。
目前施敢,國(guó)內(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ī)無(wú)法發(fā)揮出其64位的運(yùn)算優(yōu)勢(shì)先壕,降低程序運(yùn)行速度瘩扼。還有語(yǔ)言的問(wèn)題,如果手機(jī)系統(tǒng)語(yǔ)言沒(méi)有設(shè)置支持英語(yǔ),那下載的AAB包也是不包含英語(yǔ)語(yǔ)言包的,這個(gè)時(shí)候添加英語(yǔ)會(huì)出現(xiàn)使用默認(rèn)語(yǔ)言。
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í)別用戶的語(yǔ)言和 CPU 架構(gòu),自動(dòng)將對(duì)應(yīng)平臺(tái) SO 和資源的 APK 下發(fā)給用戶改淑。

1.2. 動(dòng)態(tài)功能模塊
在 Android Studio 中新增了一個(gè)模塊:動(dòng)態(tài)功能模塊碍岔。通過(guò)該模塊開發(fā)出的功能可在用戶需要時(shí)再進(jìn)行下載,類似于目前在國(guó)內(nèi)被廣泛使用的熱更新機(jī)制朵夏,只不過(guò)熱更新大多是用來(lái)修復(fù)功能性 BUG 的蔼啦,而動(dòng)態(tài)功能模塊更傾向于形成一個(gè)獨(dú)立功能。
用戶在安裝 APK 時(shí)仰猖,只需要下載一個(gè)包含 APP 主要功能的 APK 捏肢,而其他附加功能可在用戶需要時(shí)進(jìn)行動(dòng)態(tài)下載安裝。這樣就進(jìn)一步減小了 APK 的體積饥侵,為用戶改善了 APP 安裝使用體驗(yàn)鸵赫。比如正常使用的時(shí)候是不會(huì)加載直播模塊,在使用直播功能時(shí)才下發(fā)直播相關(guān)代碼和資源。

關(guān)于AAB格式加固
APK格式加固后:在 APP 運(yùn)行時(shí)對(duì) APK 的簽名特征進(jìn)行校驗(yàn)躏升,若運(yùn)行時(shí)的 APK 簽名特征與加固前的 APK 簽名特征不一致辩棒,則 APK 會(huì)直接閃退。
AndroidManifest.xml修改 這里說(shuō)明一下:一些粗心大意的開發(fā)者甚至?xí)?APP 的 debuggable 開關(guān)設(shè)為 "true"膨疏,從而使得 APK 能夠被輕易地調(diào)試
正常的加固如果靠開發(fā)者自己去做,會(huì)牽扯到,簽名加固:資源混淆: DEX 格式和 SO 格式加固,防逆向,防數(shù)據(jù)防泄漏:處理技術(shù)方面的能力,還需要大量的時(shí)間,目前在360,樂(lè)固,愛(ài)加密,網(wǎng)易都推出了加固方案.
但是aab格式的加固目前都是要收費(fèi)的,主要有2家收費(fèi)還不便宜:
網(wǎng)易易盾(非游戲行業(yè) 一個(gè)應(yīng)用端5W一年 不限加固次數(shù))
百度應(yīng)用加固,(14w一年 單次1.4w)
AAB格式包到googleplay應(yīng)用市場(chǎng)上面,在安裝過(guò)程中自動(dòng)簽名,下載到手機(jī)上面根據(jù)手機(jī)設(shè)備下發(fā)不同的模塊,我這邊測(cè)試拿到下發(fā)的apk解壓,發(fā)現(xiàn)并沒(méi)有CPU架構(gòu)的依賴庫(kù)(lib),多語(yǔ)言/屏幕密度是缺少,也就是apk包確實(shí)是不完整的,也就很難反編譯以及注入代碼了,就算反編譯成功也難再次打包成功,至于是否要使用收費(fèi)的方案,就看自己的公司和應(yīng)用規(guī)模了

從谷歌上面下發(fā)的AAB轉(zhuǎn)APK查看簽名有如下提示

cmd命令代碼:jarsigner -certs -verbose -verify xxx.apk
 [證書的有效期為2021/11/8 下午4:21至2051/11/8 下午4:21]
      [無(wú)效的證書鏈: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target]

sm       24 Thu Jan 01 01:01:02 CST 1981 META-INF/MainAppSDK_release.kotlin_module

      >>> 簽名者
      X.509, CN=Android, OU=Android, O=Google Inc., L=Mountain View, ST=California, C=US
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末一睁,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子佃却,更是在濱河造成了極大的恐慌卖局,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,002評(píng)論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件双霍,死亡現(xiàn)場(chǎng)離奇詭異砚偶,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)洒闸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門染坯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人丘逸,你說(shuō)我怎么就攤上這事单鹿。” “怎么了深纲?”我有些...
    開封第一講書人閱讀 169,787評(píng)論 0 365
  • 文/不壞的土叔 我叫張陵仲锄,是天一觀的道長(zhǎng)劲妙。 經(jīng)常有香客問(wèn)我,道長(zhǎng)儒喊,這世上最難降的妖魔是什么镣奋? 我笑而不...
    開封第一講書人閱讀 60,237評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮怀愧,結(jié)果婚禮上侨颈,老公的妹妹穿的比我還像新娘。我一直安慰自己芯义,他們只是感情好哈垢,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,237評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著扛拨,像睡著了一般耘分。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上绑警,一...
    開封第一講書人閱讀 52,821評(píng)論 1 314
  • 那天求泰,我揣著相機(jī)與錄音,去河邊找鬼待秃。 笑死,一個(gè)胖子當(dāng)著我的面吹牛痹屹,可吹牛的內(nèi)容都是我干的章郁。 我是一名探鬼主播,決...
    沈念sama閱讀 41,236評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼志衍,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼暖庄!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起楼肪,我...
    開封第一講書人閱讀 40,196評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤培廓,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后春叫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肩钠,經(jīng)...
    沈念sama閱讀 46,716評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,794評(píng)論 3 343
  • 正文 我和宋清朗相戀三年暂殖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了价匠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,928評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡呛每,死狀恐怖踩窖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情晨横,我是刑警寧澤洋腮,帶...
    沈念sama閱讀 36,583評(píng)論 5 351
  • 正文 年R本政府宣布箫柳,位于F島的核電站,受9級(jí)特大地震影響啥供,放射性物質(zhì)發(fā)生泄漏悯恍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,264評(píng)論 3 336
  • 文/蒙蒙 一滤灯、第九天 我趴在偏房一處隱蔽的房頂上張望坪稽。 院中可真熱鬧,春花似錦鳞骤、人聲如沸窒百。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)篙梢。三九已至,卻和暖如春美旧,著一層夾襖步出監(jiān)牢的瞬間渤滞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工榴嗅, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留妄呕,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,378評(píng)論 3 379
  • 正文 我出身青樓嗽测,卻偏偏與公主長(zhǎng)得像绪励,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子唠粥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,937評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容