国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

詳解android系統(tǒng)的定制

2019-10-21 21:49:32
字體:
供稿:網(wǎng)友

簡單基礎(chǔ)的定制android系統(tǒng),使第一次開機(jī)就安裝系統(tǒng)應(yīng)用和預(yù)裝應(yīng)用,加載服務(wù)工具和其它文件,開機(jī)啟動畫面,設(shè)置默認(rèn)輸入法、屏幕亮度等等。

如何簡單的定制android系統(tǒng)?這里有兩種方法:

第一是使用蘑菇ROM助手,編輯系統(tǒng)ROM。使用方法請百度。

第二種是源碼中添加編譯規(guī)則。復(fù)制設(shè)備工程中的文件到編譯生成的系統(tǒng)中。

 

這里介紹下第二種方法,使用的是全志T3的android4.4系統(tǒng)源碼。

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、第一次啟動,復(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,***)的寫法能實現(xiàn)文件夾的拷貝。

在test文件夾下創(chuàng)建apk,systemapk,music,video,pic等文件夾。

system/preinstall是預(yù)裝軟件,放置APK文件,可卸載。

system/app是系統(tǒng)應(yīng)用,放置APK文件,不可卸載。

因為在device/softwinner/t3-p1/fstab.sun8iw11p1中/dev/block/by-name/system /system ext4 ro wait表明/system的掛載方式是ro只讀方式。ROOT就是重新掛載修改這個文件夾的讀寫權(quán)限。非ROOT情況下文件拷貝到里面就可實現(xiàn)文件不可刪除。

注意,復(fù)制文件會檢查是否是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)。也可以是其他文件。實現(xiàn)文件的定制。

再下面兩句是添加的工具,其中一個設(shè)置默認(rèn)值的shell指令,一個是藍(lán)牙供應(yīng)商給的工具。

三 設(shè)置默認(rèn)輸入法

設(shè)置默認(rèn)輸入法的一個方法是開機(jī)的時候創(chuàng)建服務(wù)控制臺輸入settings指令來設(shè)置默認(rèn)輸入法。然后/android//device/softwinner/t3-p1/init.rc文件加載時運行一次該服務(wù)。

其中test_init里面添加設(shè)置默認(rèn)輸入法指令。

#!/system/bin/shsettings put secure default_input_method com.google.android.inputmethod.pinyin/.PinyinIME

init.rc加入服務(wù)

service test_init /system/bin/sh /system/bin/test_init	class core	user root	group root system	oneshot

google拼音輸入法app要放到預(yù)裝軟件或是系統(tǒng)應(yīng)用文件夾中。

app也裝上去了,這樣還不行,因為權(quán)限不夠,需要修改test_init權(quán)限,在init.rc文件中添加

chmod 777 /system/bin/test_init

注意:設(shè)置默認(rèn)輸入法的另一個方法是修改默認(rèn)參數(shù)。修改/device/softwinner/t3-p1/overlay/frameworks/base/packages/SettingsProvider/res/values的defaults.xml文件,詳細(xì)請百度。

現(xiàn)在settings指令支持的選項有限,雖然查看setting的數(shù)據(jù)庫有很多選項,但并不好用。

重點是,修改test_init,可以在android系統(tǒng)起來前輸入自己需要的shell指令。android系統(tǒng)添加啟動服務(wù)會具體說明如何添加啟動工具或服務(wù)。

四 開機(jī)啟動畫面與音樂

全志T3的android4.4系統(tǒng)源碼開機(jī)畫面、開機(jī)音樂放在android/device/softwinner/t3-p1/media


注:相關(guān)教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 朝阳区| 额敏县| 武鸣县| 凌海市| 鹿邑县| 文安县| 济阳县| 扶沟县| 奉新县| 和田市| 台中县| 吴堡县| 缙云县| 商南县| 汾西县| 鄂托克旗| 建水县| 福贡县| 丰城市| 江阴市| 苍梧县| 旬邑县| 德令哈市| 渝中区| 株洲市| 五大连池市| 图们市| 康乐县| 五常市| 台州市| 松阳县| 虞城县| 崇州市| 秀山| 招远市| 兴化市| 西峡县| 梓潼县| 息烽县| 岳普湖县| 庆城县|