錦州市廣廈電腦維修|上門(mén)維修電腦|上門(mén)做系統(tǒng)|0416-3905144熱誠(chéng)服務(wù),錦州廣廈維修電腦,公司IT外包服務(wù)
topFlag1 設(shè)為首頁(yè)
topFlag3 收藏本站
 
maojin003 首 頁(yè) 公司介紹 服務(wù)項(xiàng)目 服務(wù)報(bào)價(jià) 維修流程 IT外包服務(wù) 服務(wù)器維護(hù) 技術(shù)文章 常見(jiàn)故障
錦州市廣廈電腦維修|上門(mén)維修電腦|上門(mén)做系統(tǒng)|0416-3905144熱誠(chéng)服務(wù)技術(shù)文章
Apk精簡(jiǎn)優(yōu)化詳細(xì)教程【適合小白】

作者: 佚名  日期:2023-07-21 14:41:55   來(lái)源: 本站整理

在精簡(jiǎn)apk之前,首先要了解一下它的結(jié)構(gòu)。


1.結(jié)構(gòu)分析
APK包結(jié)構(gòu)如下:

lib/
so庫(kù)存放位置。
so庫(kù)文件分為不同的CPU架構(gòu),像armeabi,armeabi-v7a, arm64-v8a,x86,x86_64,和mips。大多數(shù)情況下我們可以只用一種armeabi-v7a,后面會(huì)講到原因。

res/
資源文件夾,包含著圖片、布局、菜單等文件,resources.arsc 中索引的文件均存放在該目錄中(進(jìn)行過(guò)資源混淆的除外)。

assets/
副資源文件夾。

META-INF/
包含CERT.SF和 CERT.RSA簽名文件以及MANIFEST.MF 清單文件。

resources.arsc
資源配置文件,包含著字符串、主題、圖片文件索引、布局文件索引等信息

classes.dex
包含以Dalvik / ART虛擬機(jī)可理解的DEX文件格式編譯的類(lèi)。

AndroidManifest.xml
應(yīng)用清單文件,版本號(hào)、版本名稱(chēng)、權(quán)限、應(yīng)用名稱(chēng)、應(yīng)用圖標(biāo)、活動(dòng)、服務(wù)、廣播等配置信息,均在這個(gè)文件中。該文件使用Android的二進(jìn)制XML格式。


在這些文件中,除了META-INF/其它都是本文的精簡(jiǎn)對(duì)象

下面正式開(kāi)始


1. 對(duì)lib目錄下的文件進(jìn)行瘦身處理

如果我直接告訴你只留下 armeabiv-v7a 文件夾就行是很不負(fù)責(zé)任的

如果你感興趣,可以往下看

參考一下
armeabiv-v7a: 第7代及以上的 ARM 處理器。2011年15月以后的生產(chǎn)的大部分Android設(shè)備都使用它。
arm64-v8a: 第8代、64位ARM處理器,很少設(shè)備,三星 Galaxy S6是其中之一。
armeabi: 第5代、第6代的ARM處理器,早期的手機(jī)用的比較多。
x86: 平板、模擬器用得比較多。
x86_64: 64位的平板。  

armeabi-v7主要不支持ARMv5(1998年誕生)和ARMv6(2001年誕生).目前這兩款處理器的手機(jī)設(shè)備占比太少。

而許多基于 x86 的設(shè)備也可運(yùn)行 armeabi-v7a 和 armeabi NDK 二進(jìn)制文件。對(duì)于這些設(shè)備,主要 ABI 將是 x86,輔助 ABI 是 armeabi-v7a。

最后總結(jié)一點(diǎn):如果適配版本高于4.1版本,可以只留下armeabiv-v7a,當(dāng)然,如果armeabi-v7a不是設(shè)備主要ABI,那么會(huì)在性能上造成一定的影響。

so,,,,只留 armeabiv-v7a,,沒(méi)錯(cuò)的undefined

(至于能省下多大空間,因應(yīng)用而定)


另,,,如果有termux

    • uname -m
[color=rgb(51, 102, 153) !important]復(fù)制代碼
可以查看你手機(jī)的cpu框架類(lèi)型

當(dāng)然還有進(jìn)階玩法--精簡(jiǎn)so文件,,只保留有用的核心代碼,,但是,我不會(huì)undefined





2. 精簡(jiǎn)res/asstes


①刪除asstes里的廣告插件

主要有bdx開(kāi)頭的壓縮包(百度)

gdt_開(kāi)頭的文件夾(騰訊)


②使用圖片壓縮工具對(duì)圖片進(jìn)行壓縮。
(注:在壓縮前要先看一下,不能預(yù)覽的不要?jiǎng)樱?br/> 例:
使用tinypng有損壓縮
TinyPNG工具只支持上傳PNG圖片到官網(wǎng)上壓縮,然后下載保存,在保持alpha通道的情況下對(duì)PNG的壓縮可以達(dá)到1/3之內(nèi),而且用肉眼基本上分辨不出壓縮的損失.

Tinypng的官方網(wǎng)站:http://tinypng.com/

注意:圖片在打包時(shí)已經(jīng)進(jìn)行過(guò)無(wú)損壓縮了,,故進(jìn)行無(wú)損壓縮是沒(méi)有任何效果的。

③使用音頻壓縮工具對(duì)音頻進(jìn)行壓縮。
(注:在壓縮前要先看一下,不能播放的不要?jiǎng)樱?br/>

④還可以刪除abc_開(kāi)頭的圖片文件,,
(這種一般都是自動(dòng)生成的,開(kāi)發(fā)者也不會(huì)調(diào)用)

  • abc_*.png
[color=rgb(51, 102, 153) !important]復(fù)制代碼

正則搜索刪除。

另:如果有能力,可以嘗試把非透明 png 格式大圖片轉(zhuǎn)換為 jpg 格式,效果顯著!

等等。。



3. 減小classes.dex大小

脫殼的就刪無(wú)用類(lèi),,比如某數(shù)字刪stub和jg

(mt新版可以一鍵去除調(diào)試信息,下面留作紀(jì)念)
 
(感謝@快樂(lè)小牛的提醒~來(lái)自545樓)
,,,,,,,,,,,,,,,,,,,,,
刪掉dex里的.line x和.prologue也是個(gè)不錯(cuò)的方法,聽(tīng)說(shuō)proguard工具可以一鍵,,但我不會(huì)

留下我的方法
①全dex代碼搜
  • .prologue
[color=rgb(51, 102, 153) !important]復(fù)制代碼
,全部替換即可(替換什么都不要填,強(qiáng)迫癥可以填個(gè)空格)

②然后就是.line ,這個(gè)比較麻煩,因?yàn)橛幸坏綆浊,,所以用正則匹配

  • \.line .+
[color=rgb(51, 102, 153) !important]復(fù)制代碼

全dex搜索代碼,,記得勾正則

雖然意義不大,但也有一定的效果,,而且可以增加dex對(duì)比的難度

4月1日補(bǔ)充:有人反應(yīng)不能保存 (報(bào)錯(cuò)) 的問(wèn)題,猜測(cè)是工作量太大導(dǎo)致mt編譯出錯(cuò),,關(guān)閉彈窗,然后再保存一遍就好啦。(詳見(jiàn)43頁(yè))

如果還是不能解決,就別搞了。。編譯的太多,手機(jī)帶不動(dòng)。。。  強(qiáng)迫癥可以一個(gè)dex一個(gè)dex刪
,,,,,,,,,,,,,,,,,,,

高級(jí)一點(diǎn)的就是剝離廣告sdk,由于我不會(huì),就不多說(shuō)了。undefined

還有就是用工具,比如proguard,,自行百度

4. 精簡(jiǎn) resources.arsc

我有點(diǎn)懶,不多說(shuō)了,
官方文檔有詳細(xì)教程
路徑:逆向功能 - 簡(jiǎn)單實(shí)戰(zhàn) - 漢化應(yīng)用 - 精簡(jiǎn)語(yǔ)言包
另附(特別感謝@小狗巧巧):
[答疑解惑]為什么arsc越精簡(jiǎn)越大?

5.精簡(jiǎn)AndroidManifest.xml

這個(gè)我真的不會(huì)說(shuō),刪掉無(wú)用activity 廣播  service啥的就可。

用activity 舉個(gè)例子。


  • <activity開(kāi)頭............xxxx........../>或者</activity>結(jié)尾
[color=rgb(51, 102, 153) !important]復(fù)制代碼


這個(gè)是通用的,,建議去設(shè)置里開(kāi)啟 顯示空白符,一般都是刪八個(gè)點(diǎn)開(kāi)頭,八個(gè)點(diǎn)結(jié)束的一段。

常見(jiàn)的廣告關(guān)鍵詞有

  •  
  • qq.e(騰訊)
  • ads.(通用)
  • .ad.(大部分是應(yīng)用內(nèi)置)
  • .mobad.(百度)
  • .mobads.(百度)
  • .bytedance.(穿山甲,今日頭條旗下)
  • .ss.(穿山甲,和上一個(gè)在一塊)
  • (如果軟件有其它功能和今日頭條合作)
  • (刪 錯(cuò) 會(huì)導(dǎo)致閃退)
  • (建議備份后再刪除測(cè)試)
  •  
  • .bytedance.sdk.openadsdk.
  • (已確定是穿山甲廣告)
  •  
  • sdk(帶有huawei,xiaomi,meizu,vivo , push等 字樣的刪)
  •  
  • 還有 taobao, liulishuo, weibo 這些等等,自行判斷
  •  
  •  
  • push.(通知推送)
  •  
[color=rgb(51, 102, 153) !important]復(fù)制代碼

注:push請(qǐng)根據(jù)實(shí)際情況刪除,,一般破解軟件通知推送什么的根本不需要。

(4月26號(hào)補(bǔ)充:對(duì)不起諸位,我沒(méi)有說(shuō)清楚,,把自己的習(xí)慣帶了進(jìn)去,其實(shí)SDK有講究的

,比如weibo的sdk刪了會(huì)導(dǎo)致無(wú)法用微博登陸和分享,刪淘寶可能會(huì)導(dǎo)致無(wú)法調(diào)用淘寶,

刪帶有手機(jī)型號(hào)的可能會(huì)導(dǎo)致無(wú)法使用手機(jī)運(yùn)營(yíng)商相關(guān)的服務(wù),比如無(wú)法使用通知推送,無(wú)法調(diào)用應(yīng)用商店更新,等等

再比如刪alipay可能導(dǎo)致無(wú)法調(diào)用支付寶支付,,這些請(qǐng)自行判斷)

(因?yàn)槲移綍r(shí)是不在乎的,通知推送什么的,沒(méi)有才好。微博本人也不用。。所以沒(méi)有注明,抱歉,現(xiàn)在補(bǔ)上)


再次聲明
本文大部分節(jié)選自CSDN的這篇
https://blog.csdn.net/AndroidAlvin/article/details/103159561

及mt官方文檔

還有其它各種文檔參考及個(gè)人經(jīng)驗(yàn),,

。。。THE END。。。


@MiBStudio 來(lái)看看啊undefined
(現(xiàn)在叫小狗巧巧undefined)


補(bǔ)幾張圖,順序亂了,湊合看吧undefined

補(bǔ)充:關(guān)于為什么不能預(yù)覽/播放的文件不要壓縮,

舉個(gè)例子,吃雞游戲的安裝包里有一個(gè)圖片文件,1g多的地圖,當(dāng)然不能壓縮。

人臉識(shí)別的配置文件就是mp3格式,也不可壓縮

總結(jié):只能壓縮可以查看的文件


 
 
 
 
 



熱門(mén)文章
  • 一個(gè)懶人的破解方式
  • Apk精簡(jiǎn)優(yōu)化詳細(xì)教程【適合小白】
  • 顯卡PCIE4.0和3.0區(qū)別是什么,顯卡性...
  • 筆記本摔后黑屏挽救實(shí)錄!
  • 筆記本的工作原理及維修
  • 筆記本液晶屏常見(jiàn)問(wèn)題集錦
  • 如何保護(hù)筆記本屏幕?
  • 筆記本開(kāi)機(jī)出現(xiàn)perating system no...
  • 筆記本加內(nèi)存條后可用內(nèi)存沒(méi)增加的...
  • 怎么關(guān)閉愛(ài)奇藝HCDN功能?解決方法...
  • 噴墨打印機(jī)清零方法圖文教程
  • Mac系統(tǒng)怎么共享windows打印機(jī)/本地...
  • 錦州廣廈電腦上門(mén)維修

    報(bào)修電話(huà):13840665804  QQ:174984393 (聯(lián)系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號(hào):遼ICP備2023002984號(hào)-1
    上門(mén)服務(wù)區(qū)域: 遼寧錦州市區(qū)
    主要業(yè)務(wù): 修電腦,電腦修理,電腦維護(hù),上門(mén)維修電腦,黑屏藍(lán)屏死機(jī)故障排除,無(wú)線上網(wǎng)設(shè)置,IT服務(wù)外包,局域網(wǎng)組建,ADSL共享上網(wǎng),路由器設(shè)置,數(shù)據(jù)恢復(fù),密碼破解,光盤(pán)刻錄制作等服務(wù)

    技術(shù)支持:微軟等
    主站蜘蛛池模板: 久久综合一区二区无码| 久久久久亚洲精品无码系列| 日日麻批免费40分钟无码| 亚洲动漫精品无码av天堂| 免费无码又爽又刺激网站直播 | 日韩爆乳一区二区无码| 无码乱人伦一区二区亚洲一 | 无码人妻丰满熟妇精品区| 亚洲av无码av在线播放| 国产精品午夜无码av体验区| 久久午夜无码鲁丝片直播午夜精品| 亚洲午夜成人精品无码色欲| 亚洲人成无码网站久久99热国产| 无码人妻一区二区三区免费n鬼沢| 在线观看成人无码中文av天堂| 免费无码又爽又刺激网站直播| 亚洲午夜无码毛片av久久京东热 | 国产成人无码AV片在线观看 | 无码毛片一区二区三区中文字幕| 国产办公室秘书无码精品99 | 无码日韩人妻精品久久| 亚洲av片不卡无码久久| 综合无码一区二区三区| 日日摸日日碰人妻无码| 亚洲AV区无码字幕中文色| 国产麻豆天美果冻无码视频| 无码精品A∨在线观看十八禁 | 中文国产成人精品久久亚洲精品AⅤ无码精品 | 日韩av无码成人无码免费| 亚洲AV无码专区国产乱码4SE| 无码任你躁久久久久久久| 日本精品无码一区二区三区久久久 | 中文无码字慕在线观看| 人妻av无码一区二区三区| 亚洲va中文字幕无码久久不卡 | 无码日韩人妻av一区免费| 日韩av无码久久精品免费| 无码国产精品一区二区免费vr| 中文无码乱人伦中文视频在线V| 乱人伦人妻中文字幕无码久久网| 性色AV蜜臀AV人妻无码|