Android資源混淆打包工具

首先我們對resources.arsc的文件格式有一定的了解。resources.arsc一共有5種chunk類型,分別為TYPETABLE,TYPEPACKAGE,TYPE_STRING,TYPE_TYPE,TYPECONFIG。

--table,使整個reousces table的開始,它的chunksize即是整個文件的大小。

--package,指的是一個package的開始,其實在resources.arsc是可以有多個package的。而packageID即是資源resID的最高八位,一般來說Android系統(tǒng)的是1(0x01),普通的例如com.tencent.mm可能會是127(0x7f),剩下的是從2開始起步。當然這個我們在aapt也是可以指定的(1-127即八位的合法空間,一些混合編譯就是改變這個packageID)。

--string,代表stringblock,我們一共有三種類型的stringblock。分別是table stringblock,typename stringblock,specaname stringblock。

--type,這里講的是typename stringblock里面我們用到的各種type(用到多少種類型的type就有多少個type chunk),例如attr,drawable,layout,id,color,anim等,Type ID是緊跟著Package ID。

--config,即是Android用來描述資源維度,例如橫豎屏,屏幕密度,語言等。對于每一種type,它定義了多少種config,它后面就緊跟著多少個config chunk,例如我們定義了drawable-mdpi,drawable-hdpi,那后面就會有兩個config。

--entry,盡管沒有entry這個chunk,但每個config里面都會有很多個entry,例如drawable-mdpi中icon1.png和icon2.png兩個drawable,那在mdpi這個config中就存在兩個entry。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

  • 安裝包的性能優(yōu)化的精髓:盡量刪。安裝包的性能優(yōu)化方法: 1.圖片壓縮 圖片:apk里面的資源圖片 壓縮圖片svg圖...
    香沙小熊閱讀 1,443評論 0 5
  • Apk中的resources.arsc是aapt工具編譯資源時生成的一個重要文件。App資源能根據(jù)配置的變化,索引...
    小爨閱讀 21,115評論 4 44
  • 安裝包的瘦身 常用的方式: 1.圖片壓縮 圖片:apk里面的資源圖片 壓縮圖片 1) svg圖片:一些圖片的描述,...
    zsj1225閱讀 494評論 0 5
  • 插件化-資源處理 寫的比較長,可以選擇跳過前面2節(jié),直接從0x03實例分析開始。如有錯誤,請不吝指正。 0x00 ...
    唐一川閱讀 5,373評論 2 22
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,837評論 18 139