1. 程式人生 > >【移動安全基礎篇】——06、Android結構基礎

【移動安全基礎篇】——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 值