android系统的简单定制
android入門自學總結:
android系統添加linux驅動_Kael.dong的博客-CSDN博客_安卓系統安裝linux驅動
android系統的日志系統分層與logcat使用_Kael.dong的博客-CSDN博客_logcat拆分日志
android系統添加自己寫的工具_Kael.dong的博客-CSDN博客
android系統添加啟動服務_Kael.dong的博客-CSDN博客
android系統添加service與android層次分析_Kael.dong的博客-CSDN博客
簡單基礎的定制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/.PinyinIMEinit.rc加入服務
service test_init /system/bin/sh /system/bin/test_initclass coreuser rootgroup root systemoneshotgoogle拼音輸入法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系統安全的問題,同時廠商與用戶越來越重視安全,有興趣可以了解一下,了解的可以深入,并互相探討。相信能幫助大家更上層樓。
????????目前定價¥99,會持續更新,內容增多后根據情況加價。知識付費,物超所值。
android 系統安全內容總結https://blog.csdn.net/dongyi1988/article/details/128798626
總結
以上是生活随笔為你收集整理的android系统的简单定制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python井字棋代码_python井字
- 下一篇: Windows Xp SP3 chs 简