Android 台灣中文網

標題: Xperia主題 製作教程】[APKTOOL] AndroidManifest.xml [打印本頁]

作者: 游紹宏    時間: 2016-2-26 10:41
標題: Xperia主題 製作教程】[APKTOOL] AndroidManifest.xml
本帖最後由 游紹宏 於 2016-3-3 20:10 編輯


                                               主題開發者進修區 [APKTOOL]  

                               
登錄/註冊後可看大圖

文章說明
App 的 manifest 檔案,即以單一提供 App 的必要資訊,如 App 名稱、圖示、相關說明、所屬的開發者等

範本下載
AndroidManifest.xml (1.77 KB, 下載次數: 6)

說明簡圖
標註①②③之程式代碼在分頁中有詳細說明

                               
登錄/註冊後可看大圖

相關資料延伸閱讀
Android 當中的 AndroidManifest.xml 檔案  

                               
登錄/註冊後可看大圖



①程式碼主體
<manifest>....</manifest>

實際程式碼

                               
登錄/註冊後可看大圖


程式碼簡易說明
程式碼意義可輸入內容
android:versionCode 告知系統 程式版本號任意字元
android:versionName 告知系統 程式的名稱任意字元
xmlns:android 定義一命名空間http://schemas.android.com/apk/res/android
延伸閱讀  

                               
登錄/註冊後可看大圖
package 定義程式的安裝包名稱任意字元
必須以「com」開頭



內碼
<asset>...</asset>

程式碼簡易說明
程式碼意義輸入內容
path="com.android.systemui.zip" 要套用的主題資源名稱於asset資料夾的相應安裝包名稱
target="com.android.systemui" 要套用主題的程式安裝包路境
<laf-version-filter from="1" to="1" />可套用該主題資源的系統版本更改紅字部分數字
「1」代表:4.3-4.4
「2」代表:5.0-5.1

Q. 如何將主題套用加入至不同的應用?
答:你可以將主題套用至所有的應用而不受限於你的裝置。
      要達到這種效果你需要進行兩個步驟。

1.
加入下面方框的編碼到清單文件(MANIFEST FILE)讓Xperia主題選擇器知道你的主題能讓哪些應用套用:
編碼:
<asset path="com.android.systemui.zip" target="com.android.systemui">
            <laf-version-filter from="1" to="1" />
        </asset>
上面加入的編碼僅支援系統UI套用主題。
要增加其它應用只要修改紅字部分,舉例:設定(Settings)應用
<asset path="com.android.settings.zip" target="com.android.settings">
            <laf-version-filter from="1" to="1" />
        </asset>
要進行這一步前,你必須先知道要套用的應用安裝包名稱是什麼。
2.
你必須創造一個「APP.PACKGANE.NAME.ZIP」檔案; 是擁有所有已連截應用的主題資源並移動這個ZIP到你專案設定的資料夾 。
請特別注意:ZIP檔的名稱必須與MANIFEST中的一致。
NOTE
受限於索尼官方的主題框架,可套用主題的程式以及圖檔大多限定在其官方的APP。
要套用至非預設的程式只能透過「超級使用者模式(SuperuserMOD)」破解框架



程式碼快截複製
複製後置入<runtime-skin version="1">...</runtime-skin>之間
需特別注意在「asset」資料夾中也要有對應的zip檔否則會編譯失敗

4.3-4.4
系統圖片
<asset path="android.zip" target="android">
<laf-version-filter from="2" to="2"/>
</asset>
系統色調
<asset path="com.sonyericsson.uxp.zip" target="com.sonyericsson.uxp">
         <laf-version-filter from="1" to="1"/>
</asset>
虛擬鍵、狀態欄
色調、圖片
<asset path="com.android.systemui.zip" target="com.android.systemui">
          <laf-version-filter from="1" to="1"/>
</asset>
主畫面
色調、圖片
<asset path="com.sonyericsson.home.zip" target="com.sonyericsson.home">
        <laf-version-filter from="1" to="1"/>
</asset>
5.0+
系統
色調、圖片
<asset path="android_laf2.zip" target="android">
          <laf-version-filter from="2" to="2"/>
</asset>
虛擬鍵、狀態欄
色調、圖片 
<asset path="systemui_laf2.zip" target="com.android.systemui">
         <laf-version-filter from="2" to="2"/>
</asset>
主畫面
色調、顏色
<asset path="com.sonyericsson.home.zip" target="com.sonyericsson.home">
        <laf-version-filter from="1" to="1"/>
</asset>



③內碼
<meta-data>...</meta-data>

程式碼解釋
元數據Metadata
又稱元資料詮釋資料中繼資料後設資料,
為描述數據的數據(data about data)。
主要是描述數據屬性(property)的資訊,用來支持如指示儲存位置、歷史資料、資源尋找、文件記錄等功能。
元數據算是一種電子式目錄,為了達到編製目錄的目的,必須在描述並收藏數據的內容或特色,進而達成協助數據檢索的目的。
資料來源:維基百科

程式碼
1
  1. <meta-data android:name="com.sonymobile.runtimeskinning.core.image_wallpaper"
  2. android:resource="@drawable/semc_theme_wallpaper"/>
複製代碼
2
  1. <meta-data android:name="com.sonymobile.runtimeskinning.core.lockscreen_background"
  2. android:resource="@drawable/semc_theme_lockscreen_wallpaper"/>
複製代碼
3
  1. <meta-data android:name="com.sonymobile.runtimeskinning.core.SKIN_PREVIEW" android:resource="@array/previews"/>
複製代碼

意義
說明
主題元素引用的函式
指定的資源位置
1
主桌布com.sonymobile.runtimeskinning.core.image_wallpaper
drawable/semc_theme_wallpaper
2
解鎖畫面圖片com.sonymobile.runtimeskinning.core.lockscreen_background
drawable/semc_theme_lockscreen_wallpaper
3
預覽圖
com.sonymobile.runtimeskinning.core.SKIN_PREVIEW
array/previews





歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1