Android Framework 之 修改調(diào)試小技巧

在上一篇 Android Studio 在線調(diào)試Framework代碼
有講到使用 Android Studio , 可以很方便的調(diào)試 Framework下的代碼
。
有的時候,我們需要添加一個修改驗證,需要通過系統(tǒng)編譯或者 僅編譯 framework 部分。
編譯就需要挺長時間,并且刷機(jī)時間也長。

我們能不能,只編譯一次,驗證多個修改方案?
在一般情況下, 是可以的??!
通過添加一個系統(tǒng)屬性值, 然后使用 adb 命令動態(tài)設(shè)置,則可以完成!

1. 導(dǎo)入 SystemProperties包

import android.os.SystemProperties;

2. 讀取屬性值

可以自定一個 系統(tǒng)屬性值, 例如 persist.sys.mytestcase.onlydebug,

String onlydebug = SystemProperties.get("persist.sys.mytestcase.onlydebug", "false");
Log.d(TAG, "onlydebug="+onlydebug);
if("true".equals(onlydebug)){
    //....
}

或者:

       boolean onlydebug = "true".equals(SystemProperties.get("persist.sys.mytestcase.onlydebug", "false"));
        Log.d(TAG, "onlydebug="+onlydebug);

然后,根據(jù)它的值作為條件,去執(zhí)行你的方案。
我們在這里的值是 String 類型, 因此你可以 設(shè)定為 任何一段 字符。

3. adb 設(shè)置

adb 命令設(shè)置 或者 獲取
(1) 設(shè)置:
adb shell setprop persist.sys.mytestcase.onlydebug true

(2) 獲?。?br> adb shell getprop persist.sys.mytestcase.onlydebug

在設(shè)置了值后,便可以按計劃執(zhí)行你添加的修改代碼。
當(dāng)然,也可以重置值,達(dá)到執(zhí)行原有邏輯的效果!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容