編輯:關於Android編程
在公司沒事情做,就只有自己自覺慢慢學習自己想到的感興趣的東西了,唉 說道這都是傷心淚啊、
Android getprop 和 setprop 可以對系統屬性進行讀取和設置。
通過串口執行以下 geyprop 打印出來的屬性讓你一目了然。
屬性出來了,但是在哪裡設置的呢,這裡有兩個地方:一個是配置文件讀取的,一個是系統動態獲取的
1、在android源碼目錄下的: system/core/init/property_service.c 文件中的函數
static void load_properties_from_file(const char *fn)
上面函數作用是加載配置文件 fn 裡面的系統屬性。
查看該函數被調用的地方,可知道配置文件由以下幾個:
#define PROP_PATH_RAMDISK_DEFAULT "/default.prop"
#define PROP_PATH_SYSTEM_BUILD "/system/build.prop"
#define PROP_PATH_SYSTEM_DEFAULT "/system/default.prop"
#define PROP_PATH_LOCAL_OVERRIDE "/data/local.prop"
其中配置文件 :system/build.prop 是在android 源碼中的: build/tools/buildinfo.sh 文件中生成的,要修改的話 查看一下該文件的生成方式,應該不成問題。
出去了上面的四個配置文件外,在 init.rc. 文件中也可以手動的調用來增加屬性:
eg : setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208
2、系統開機後動態獲取系統屬性
a、在文件 system/core/init/init.c 中有函數:
void notify_service_state(const char *name, const char *state) { char pname[PROP_NAME_MAX]; int len = strlen(name); if ((len + 10) > PROP_NAME_MAX) return; snprintf(pname, sizeof(pname), "init.svc.%s", name); property_set(pname, state); }其可以自動生成前綴為 init.svc. 的系統屬性,通過查看該函數調用位置:
void service_start(struct service *svc, const char *dynamic_args)
static void service_stop_or_reset(struct service *svc, int how)
static int wait_for_one_process(int block)
應該是根據系統服務進程獲取到的系統屬性,比如:
[init.svc.adbd]: [running] [init.svc.bootanim]: [stopped] [init.svc.console]: [running] [init.svc.debuggerd]: [running] [init.svc.dhcpcd_eth0]: [stopped] [init.svc.drm]: [running] [init.svc.ifdown_eth0]: [stopped] [init.svc.ifup_eth0]: [stopped] [init.svc.initrdscript]: [stopped] [init.svc.installd]: [running] [init.svc.keystore]: [running] [init.svc.kt_debug]: [stopped] [init.svc.mali]: [stopped] [init.svc.mdnsd]: [running]標識該進程的運行狀態的。
參考文檔:
http://carywei.iteye.com/blog/889482
http://www.blogjava.net/anymobile/articles/301989.html
本文開發一個基於Service的音樂播放器,音樂由後台運行的Service負責播放,當後台的播放狀態發生變化時,程序將會通過發送廣播通知前台Activity更新界面;當點
最近的一些學習心得:功能實現:點擊圓形頭像之後可以實現相冊上傳或者開啟相機,然後把得到的圖片經過剪裁,把剪裁過的圖片設置為頭像的背景圖步驟:第一步:自定義一個類,繼承Im
(1)文件的目錄 (2)各文件的代碼: FileService.java也就是操作sdcard的工具類: pa
1.關於坑 好吧,在此之前先來說一下,之前開的坑,恩,確實是坑,前面開的兩個android開發教程的坑,對不起,實在是沒什麼動力了,不過源碼都有的,大家可以參照githu