1. 程式人生 > >如何使能和關閉android裝置上的console功能

如何使能和關閉android裝置上的console功能

system/core/rootdir/init.rc檔案中定義:

以關機充電為例,使能console功能:

on charger
+      start console

關閉console功能:

on charger
-       start console

console除了直接在initrc中start和stop之外,還可以通過一個property來設定它是否啟動:

on property:ro.debuggable=1
    # Give writes to anyone for the trace folder on debug builds.
    # The folder is used to store method traces.
    chmod 0773 /data/misc/trace
    start console


on property:ro.debuggable=0
# Give writes to anyone for the trace folder on debug builds.
# The folder is used to store method traces.
    chmod 0773 /data/misc/trace
    start console

這段init.rc的定義表示通過ro.debuggable的property的值用來確定是否啟動console。那麼console到底是什麼呢?

console實際上在init.rc中被定義為一個service了:

service console /system/bin/sh
    class core
    console
    disabled
    user shell
    group shell log readproc
    seclabel u:r:shell:s0
    setenv HOSTNAME console

實際上該service就是啟動一個shell程式,目標程式位置/system/bin/sh。通過shell我們就擁有了一個人機互動的介面了,類似於一個超級終端,通過串列埠就可以輸入命令了。

這裡我們還可以通過setenv來配置console進入時的hostname,比如

setenv HOSTNAME xiehaocheng

就可以把console的預設hostname修改為自己的名字了。