您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何定制android系統的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
簡單基礎的定制android系統,使第一次開機就安裝系統應用和預裝應用,加載服務工具和其它文件,開機啟動畫面,設置默認輸入法、屏幕亮度等等。
如何簡單的定制android系統?這里有兩種方法:
第一是使用蘑菇ROM助手,編輯系統ROM。使用方法請百度。
第二種是源碼中添加編譯規則。復制設備工程中的文件到編譯生成的系統中。
這里介紹下第二種方法,使用的是全志T3的android4.4系統源碼。
1.添加我們自己的編譯項
修改編譯文件/android/device/softwinner/t3-p1/t3_p1.mk,添加下面一句
$(call inherit-product-if-exists, device/softwinner/t3-p1/test/test.mk)
2.編輯device/softwinner/t3-p1/test/test.mk文件。
PRODUCT_COPY_FILES += \ $(call find-copy-subdir-files,*,$(LOCAL_PATH)/apk,system/preinstall) \ $(call find-copy-subdir-files,*,$(LOCAL_PATH)/systemapk,system/app) \ $(call find-copy-subdir-files,*,$(LOCAL_PATH)/music,data/test/music) \ $(call find-copy-subdir-files,*,$(LOCAL_PATH)/video,data/test/video) \ $(call find-copy-subdir-files,*,$(LOCAL_PATH)/pic,data/test/pic) PRODUCT_COPY_FILES += \ device/softwinner/t3-p1/test/test_init:system/bin/test_init \ device/softwinner/t3-p1/test/gocsdk:system/bin/gocsdk #注意:1、第一次啟動,復制文件與安裝應用較慢,進入系統后需等待; # 2、system文件夾用戶不可寫,故不能刪除; # 3、預裝應用可卸載,卸載后不再出現; # 4、如果需要再次安裝,刪除目標板的 /data/system.notfristrun文件,然后重啟
一 安裝系統應用和一般應用
PRODUCT_COPY_FILES是拷貝文件到系統,前面是存放路徑,后面是目標路徑,$(call find-copy-subdir-files,***)的寫法能實現文件夾的拷貝。
在test文件夾下創建apk,systemapk,music,video,pic等文件夾。
system/preinstall是預裝軟件,放置APK文件,可卸載。
system/app是系統應用,放置APK文件,不可卸載。
因為在device/softwinner/t3-p1/fstab.sun8iw11p1中/dev/block/by-name/system /system ext4 ro wait表明/system的掛載方式是ro只讀方式。ROOT就是重新掛載修改這個文件夾的讀寫權限。非ROOT情況下文件拷貝到里面就可實現文件不可刪除。
注意,復制文件會檢查是否是APK文件,需要在android/build/core/makefile里面注釋掉這段檢查。
#define check-product-copy-files #$(if $(filter %.apk, $(1)),$(error \ # Prebuilt apk found in PRODUCT_COPY_FILES: $(1), use BUILD_PREBUILT instead!)) #endef
二 加載服務工具和其它文件
接著分析test.mk文件,下面三句是復制music、video、pic到目標android系統。也可以是其他文件。實現文件的定制。
再下面兩句是添加的工具,其中一個設置默認值的shell指令,一個是藍牙供應商給的工具。
三 設置默認輸入法
設置默認輸入法的一個方法是開機的時候創建服務控制臺輸入settings指令來設置默認輸入法。然后/android\/device/softwinner/t3-p1/init.rc文件加載時運行一次該服務。
其中test_init里面添加設置默認輸入法指令。
#!/system/bin/sh settings put secure default_input_method com.google.android.inputmethod.pinyin/.PinyinIME
init.rc加入服務
service test_init /system/bin/sh /system/bin/test_init class core user root group root system oneshot
google拼音輸入法app要放到預裝軟件或是系統應用文件夾中。
app也裝上去了,這樣還不行,因為權限不夠,需要修改test_init權限,在init.rc文件中添加
chmod 777 /system/bin/test_init
注意:設置默認輸入法的另一個方法是修改默認參數。修改/device/softwinner/t3-p1/overlay/frameworks/base/packages/SettingsProvider/res/values的defaults.xml文件,詳細請百度。
現在settings指令支持的選項有限,雖然查看setting的數據庫有很多選項,但并不好用。
重點是,修改test_init,可以在android系統起來前輸入自己需要的shell指令。android系統添加啟動服務會具體說明如何添加啟動工具或服務。
四 開機啟動畫面與音樂
全志T3的android4.4系統源碼開機畫面、開機音樂放在android/device/softwinner/t3-p1/media
感謝各位的閱讀!關于“如何定制android系統”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。