日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android 安装包优化】资源混淆 ( AAPT2 资源编译工具 | resources.arsc 资源映射表 工作机制 )

發布時間:2025/6/17 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android 安装包优化】资源混淆 ( AAPT2 资源编译工具 | resources.arsc 资源映射表 工作机制 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、AAPT2 資源編譯工具
  • 二、resources.arsc 資源映射表 工作機制
  • 三、參考資料





一、AAPT2 資源編譯工具



資源的編譯 , 生成 R.java 文件 , 都是通過 AAPT 工具生成的 ;

AAPT2 工具官方文檔 : https://developer.android.google.cn/studio/command-line/aapt2?hl=zh_cn


Java 文件是由 javac 工具編譯成 .class 字節碼文件 , 然后通過 dx 工具打包到 dex 文件中 ;

清單文件 AndroidManifest.xml , Drawable XML 圖片資源 , 布局 XML 資源 , 都是由 AAPT2 工具將 XML 文本文件 編譯成 二進制的資源文件 , 并打包到 APK 安裝包 中 ;

AAPT2 工作原理 :

打包編譯 :

assets 和 res/raw 目錄下的文件雖然不需要編譯 , 但是也會 被 AAPT2 工具 采集出來進行打包 ;

清單文件 , XML 資源文件 , 會被 AAPT2 工具編譯成一個 " *.ap_ " 二進制文件 , 在 debug 模式下 , 在 " app\build\intermediates\processed_res\debug\out " 目錄下生成 " resources-debug.ap_ " 文件 ;

res 目錄下的其它文件 , 根據文件類型不同 , 進行不同的處理 , 如壓縮 ;

該 " resources-debug.ap_ " 文件是一個壓縮文件 , 可以使用 7-Zip 工具打開 ;


生成資源 ID 并賦值給資源 :

AAPT2 會對除 Assets 之外的其它資源 , 都生成一個對應的資源 ID , 該 ID 是一個 int 類型常量 , 占 444 字節 ;

這些生成的 ID 常量值 , 會存放在 resources.arsc 資源映射表 中 ,

參考 【Android 安裝包優化】資源打包配置 ( resources.arsc 資源映射表 | 配置國際化資源 ) 一、resources.arsc 資源映射表 博客章節 ;





二、resources.arsc 資源映射表 工作機制



特別注意 AAPT2 工具編譯生成的 resources.arsc 資源映射表 , Android 應用中查找資源 , 就是根據該 resources.arsc 資源映射表 查找資源 ;

resources.arsc 資源映射表 提供了 資源 ID 資源文件路徑 之間的映射表 , 可以根據資源 ID 查詢到對應的資源文件 ;


Android 應用中 , 調用 R.mipmap.ic_launcher 資源 , 假設 其對應的資源 ID 是 0x7f010000 , 對應的資源路徑是 res/mipmap/ic_launcher.png ;

首先通過 ID R.mipmap.ic_launcher 到 resources.arsc 資源映射表 中查找對應的文件名稱 , 然后找到對應的路徑 ;


Android 通過 AssetManager 獲取 assets 目錄中的資源 , 具體是通過文件名來查找資源的 ;

Android 通過 Resources 獲取 res 目錄下的資源 , 通過資源 ID 查找資源 ; 傳遞一個 ID 給 Resources , Resources 根據該 ID , 從 resources.arsc 資源映射表 中獲取具體的資源文件名稱 , 路徑 ;





三、參考資料



參考官方文檔 :

  • 縮減、混淆處理和優化應用 : https://developer.android.google.cn/studio/build/shrink-code
  • APK 構建流程 : https://developer.android.google.cn/studio/build
  • AAPT2 工具官方文檔 : https://developer.android.google.cn/studio/command-line/aapt2?hl=zh_cn

參考之前的博客資源 :

  • 【Android 安全】DEX 加密 ( ProGuard 混淆 | -keepclassmembers 混淆效果 | -keepclasseswithmembernames 混淆效果 )
  • 【Android 安全】DEX 加密 ( Proguard 混淆 | 混淆后的報錯信息 | Proguard 混淆映射文件 mapping.txt )
  • 【Android 安全】DEX 加密 ( Proguard 混淆 | 將混淆后的報錯信息轉為原始報錯信息 | retrace.bat 命令執行目錄 | 暴露更少信息 )
  • 【Android 安全】DEX 加密 ( Proguard 混淆 | 混淆后的報錯信息 | Proguard 混淆映射文件 mapping.txt )

博客資源 :

  • GitHub 項目源碼 : https://github.com/han1202012/SVG

  • 下載地址 :

總結

以上是生活随笔為你收集整理的【Android 安装包优化】资源混淆 ( AAPT2 资源编译工具 | resources.arsc 资源映射表 工作机制 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 女生被草 | 精品少妇久久久 | 国产男女爽爽爽 | 久久精品日韩无码 | 黄色a在线观看 | 男人深夜影院 | 最新91视频 | 国产情侣酒店自拍 | 欧美午夜一区二区三区 | 2019av视频| 亚洲精品乱码久久久久久蜜桃欧美 | 亚洲人xxxx| 日韩精品一二三四 | 国产精品欧美综合 | 韩国伦理片观看 | 福利一区福利二区 | 国产偷拍一区二区 | 91av在线免费| 瑟瑟久久 | 日韩欧美一区二区一幕 | 亚洲精品理论片 | 亚洲午夜久久久久久久久久久 | 另一种灿烂生活 | 五十路中出 | 日韩久久久精品 | 日韩激情视频在线观看 | 亚洲男人天堂网站 | 狠狠爱夜夜爱 | 国产色诱视频 | 亚洲情热| 久久久观看 | 成人在线观看免费网站 | 高清黄色一级片 | 操女网站 | 深爱五月综合网 | 97黄色网| 国产精品久久久久久吹潮 | 欧美久久久久久久久中文字幕 | 国产日韩欧美中文 | 91福利视频网| 日韩精品在线观看一区 | 日韩久久在线 | 高清欧美精品xxxxx在线看 | 欧美播放器 | 国产成人中文字幕 | 黄色一级网站 | 亚洲视频综合网 | 网友自拍视频 | 国产精品96久久久久久 | 日韩超碰在线 | 国产黄色小说 | 久久视奸 | 亚洲天堂高清 | 中日韩精品在线 | 今天最新中文字幕mv高清 | 中文字幕人妻丝袜乱一区三区 | 亚洲啪av永久无码精品放毛片 | 精品人妻一区二区三区四区久久 | 天堂婷婷 | 欧美日韩乱国产 | 国产情侣自拍小视频 | 午夜视频精品 | 亚洲av无码不卡一区二区三区 | 69福利视频 | 欧美日韩一区二区不卡 | 69视频免费观看 | 日本在线www | www.sesehu.com| 国产精品激情 | 强伦轩人妻一区二区电影 | 天堂伊人 | 中文字幕 视频一区 | 91情侣视频 | 在线观看的毛片 | 人人草在线视频 | 久久久久久久久久久久久久av | 久久久久久久久久一区二区 | 国产女人18毛片水18精品 | jizzjizz中国精品麻豆 | 内射中出日韩无国产剧情 | 女人脱了内裤趴开腿让男躁 | www.brazzers.com | 国产真人无遮挡作爱免费视频 | 亚洲乱码国产乱码精品精98午夜 | 看黄色大片 | 久久色在线| 99热这里只有精品2 91免费版黄 | 双性人bbww欧美双性 | 在线看黄网址 | 国产精品yy | 欧美三日本三级少妇三级99观看视频 | 这里只有精品视频在线 | 成人片黄网站色大片免费毛片 | www.国产一区| 欧美精品在线观看一区二区 | 欧美一区二区不卡视频 | 国产精品s色 | 快播av在线| 国产永久免费观看 |