Android Framework 之 修改调试小技巧

在上一篇 Android Studio 在线调试Framework代码
有讲到使用 Android Studio , 可以很方便的调试 Framework下的代码

有的时候,我们需要添加一个修改验证,需要通过系统编译或者 仅编译 framework 部分。
编译就需要挺长时间,并且刷机时间也长。

我们能不能,只编译一次,验证多个修改方案
在一般情况下, 是可以的!!
通过添加一个系统属性值, 然后使用 adb 命令动态设置,则可以完成!

1. 导入 SystemProperties包

import android.os.SystemProperties;

2. 读取属性值

可以自定一个 系统属性值, 例如 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);

然后,根据它的值作为条件,去执行你的方案。
我们在这里的值是 String 类型, 因此你可以 设定为 任何一段 字符。

3. adb 设置

adb 命令设置 或者 获取
(1) 设置:
adb shell setprop persist.sys.mytestcase.onlydebug true

(2) 获取:
adb shell getprop persist.sys.mytestcase.onlydebug

在设置了值后,便可以按计划执行你添加的修改代码。
当然,也可以重置值,达到执行原有逻辑的效果!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容