android系统的简单定制
android入門自學(xué)總結(jié):
android系統(tǒng)添加linux驅(qū)動(dòng)_Kael.dong的博客-CSDN博客_安卓系統(tǒng)安裝linux驅(qū)動(dòng)
android系統(tǒng)的日志系統(tǒng)分層與logcat使用_Kael.dong的博客-CSDN博客_logcat拆分日志
android系統(tǒng)添加自己寫的工具_(dá)Kael.dong的博客-CSDN博客
android系統(tǒng)添加啟動(dòng)服務(wù)_Kael.dong的博客-CSDN博客
android系統(tǒng)添加service與android層次分析_Kael.dong的博客-CSDN博客
簡單基礎(chǔ)的定制android系統(tǒng),使第一次 開機(jī)就安裝系統(tǒng)應(yīng)用和預(yù)裝應(yīng)用,加載服務(wù)工具和其它文件,開機(jī)啟動(dòng)畫面,設(shè)置默認(rèn)輸入法、屏幕亮度等等。
如何簡單的定制android系統(tǒng)?這里有兩種方法:
第一是使用蘑菇ROM助手,編輯系統(tǒng)ROM。使用方法請百度。
第二種是源碼中添加編譯規(guī)則。復(fù)制設(shè)備工程中的文件到編譯生成的系統(tǒng)中。
這里介紹下第二種方法,使用的是全志T3的android4.4系統(tǒng)源碼。
1.添加我們自己的編譯項(xiàng)
修改編譯文件/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、第一次啟動(dòng),復(fù)制文件與安裝應(yīng)用較慢,進(jìn)入系統(tǒng)后需等待; # 2、system文件夾用戶不可寫,故不能刪除; # 3、預(yù)裝應(yīng)用可卸載,卸載后不再出現(xiàn); # 4、如果需要再次安裝,刪除目標(biāo)板的 /data/system.notfristrun文件,然后重啟。一 安裝系統(tǒng)應(yīng)用和一般應(yīng)用
? ? PRODUCT_COPY_FILES是拷貝文件到系統(tǒng),前面是存放路徑,后面是目標(biāo)路徑,$(call find-copy-subdir-files,***)的寫法能實(shí)現(xiàn)文件夾的拷貝。
在test文件夾下創(chuàng)建apk,systemapk,music,video,pic等文件夾。
? ? system/preinstall是預(yù)裝軟件,放置APK文件,可卸載。
? ? system/app是系統(tǒng)應(yīng)用,放置APK文件,不可卸載。
因?yàn)樵赿evice/softwinner/t3-p1/fstab.sun8iw11p1中/dev/block/by-name/system /system ext4 ro wait表明/system的掛載方式是ro只讀方式。ROOT就是重新掛載修改這個(gè)文件夾的讀寫權(quán)限。非ROOT情況下文件拷貝到里面就可實(shí)現(xiàn)文件不可刪除。
? ? 注意,復(fù)制文件會(huì)檢查是否是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二 加載服務(wù)工具和其它文件
? ? 接著分析test.mk文件,下面三句是復(fù)制music、video、pic到目標(biāo)android系統(tǒng)。也可以是其他文件。實(shí)現(xiàn)文件的定制。
? ? 再下面兩句是添加的工具,其中一個(gè)設(shè)置默認(rèn)值的shell指令,一個(gè)是藍(lán)牙供應(yīng)商給的工具。
三 設(shè)置默認(rèn)輸入法
? ? 設(shè)置默認(rèn)輸入法的一個(gè)方法是開機(jī)的時(shí)候創(chuàng)建服務(wù)控制臺(tái)輸入settings指令來設(shè)置默認(rèn)輸入法。然后/android\/device/softwinner/t3-p1/init.rc文件加載時(shí)運(yùn)行一次該服務(wù)。
其中test_init里面添加設(shè)置默認(rèn)輸入法指令。
#!/system/bin/sh settings put secure default_input_method com.google.android.inputmethod.pinyin/.PinyinIMEinit.rc加入服務(wù)
service test_init /system/bin/sh /system/bin/test_initclass coreuser rootgroup root systemoneshotgoogle拼音輸入法app要放到預(yù)裝軟件或是系統(tǒng)應(yīng)用文件夾中。
app也裝上去了,這樣還不行,因?yàn)闄?quán)限不夠,需要修改test_init權(quán)限,在init.rc文件中添加
chmod 777 /system/bin/test_init注意:設(shè)置默認(rèn)輸入法的另一個(gè)方法是修改默認(rèn)參數(shù)。修改/device/softwinner/t3-p1/overlay/frameworks/base/packages/SettingsProvider/res/values的defaults.xml文件,詳細(xì)請百度。
? ? 現(xiàn)在settings指令支持的選項(xiàng)有限,雖然查看setting的數(shù)據(jù)庫有很多選項(xiàng),但并不好用。
? ? 重點(diǎn)是,修改test_init,可以在android系統(tǒng)起來前輸入自己需要的shell指令。android系統(tǒng)添加啟動(dòng)服務(wù)會(huì)具體說明如何添加啟動(dòng)工具或服務(wù)。
四 開機(jī)啟動(dòng)畫面與音樂
全志T3的android4.4系統(tǒng)源碼開機(jī)畫面、開機(jī)音樂放在android/device/softwinner/t3-p1/media
?廣告:
? ? ? ? 底層開發(fā)經(jīng)常碰到android系統(tǒng)安全的問題,同時(shí)廠商與用戶越來越重視安全,有興趣可以了解一下,了解的可以深入,并互相探討。相信能幫助大家更上層樓。
????????目前定價(jià)¥99,會(huì)持續(xù)更新,內(nèi)容增多后根據(jù)情況加價(jià)。知識(shí)付費(fèi),物超所值。
android 系統(tǒng)安全內(nèi)容總結(jié)https://blog.csdn.net/dongyi1988/article/details/128798626
總結(jié)
以上是生活随笔為你收集整理的android系统的简单定制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python井字棋代码_python井字
- 下一篇: 【大学英语四六级】四六级阅读高频词汇