【移動安全基礎篇】——06、Android結構基礎
1. 以 HelloWorld 為例
AndroidManifest.xml: 描述 Android 應用的資訊,包括類名,元件名等
assets: 資源目錄
lib: so 檔案存放路徑
java: 原始碼存放目錄
-example: 類名
--hello: 類名
---helloStr.java: 類實現檔案
---MainActivity.java: 類實現檔案
res: 資原始檔
-drawable: 圖片檔案存放路徑
-layout: 佈局檔案存放路徑(窗體)
--activity_main.xml: 佈局檔案
--content_main.xml: 佈局檔案
-menu: 選單檔案存放路徑
--menu_main.xml: 選單檔案
-mipmap-hdpi: hdpi 的貼圖
--ic_launcher.png
-mipmap-mdpi: mdpi 的貼圖
--ic_launcher.png
-mipmap-xhdpi: xhdpi 的貼圖
--ic_launcher.png
-mipmap-xxhdpi: xxhdpi 的貼圖
--ic_launcher.png
-mipmap-xxxhdpi: xxxhdpi 的貼圖,對應清晰度不一樣的手機,呼叫的貼圖不一樣
--ic_launcher.png
values: 屬性資源
-colors.xml: 顏色資源
-dimens.xml: 尺寸資源
-strings.xml: 字串資源
-styles.xml: 樣式資源
values-v21: 同上,對應 api21
-styles.xml
values-w820dp: 同上,對應 w820dp 的資源
-dimens.xml
Android 程式在搜尋資源的時候,是按照手機的型別來進行一級一級搜尋的。例如,如果是中文系統,會使用 values-ch 目錄下的 strings,如果找不到,會找上一級 values 目錄下的 strings。
2. R 類
在程式程式碼中,並不能直接地引用資原始檔,需要使用 R 類充當連線程式碼和資源的橋樑,
R 類可以在 build 下找到。
3. 反編譯的目錄
與編譯前是高度相似的
AndroidMainfest.xml
apktool.yml
t.log
original
-AndroidManifest.xml
-META-INF
--CERT.RSA
--CERT.SF
--MANIFEST.MF
res
-anim
--abc_fade_in.xml
--abc_fade_out.xml
--abc_grow_fade_in_from_bottom.xml
...
Public.xml
Aapt 在編譯資源的時候,會根據這個 xml 檔案來規定每個資源的 id 值