Android9 Settings源码导入Android Studio查看并调试

本次调试在已编译的工程下

1. 导入packages/app/settings

不要直接导入这个模块,导入上一级app目录

android studio 调用 android studio 调用settingslib_android studio 调用

android studio 调用 android studio 调用settingslib_gradle_02


android studio 调用 android studio 调用settingslib_gradle_03


android studio 调用 android studio 调用settingslib_gradle_04


在选择时选择Settings相关所有目录,如下

android studio 调用 android studio 调用settingslib_android studio_05


android studio 调用 android studio 调用settingslib_android studio 调用_06


如下这里的sdk配置是我已经添加的,后面可以在项目中设置,这里没有的直接选API 28吧

android studio 调用 android studio 调用settingslib_android_07


android studio 调用 android studio 调用settingslib_android studio_08


打开如下:

android studio 调用 android studio 调用settingslib_android studio 调用_09


改为Project目录结构

android studio 调用 android studio 调用settingslib_jar包_10

打开File–>Project Structure,可见Settings目录的Module SDK为 API33

android studio 调用 android studio 调用settingslib_android_11

2. 导入settingslibs

看到有很多报红,android.settings这个报红可以重启解决一下,settinglibs的报红要导入

android studio 调用 android studio 调用settingslib_android_12


添加settinglibs模块,如下,点击+号import Module

android studio 调用 android studio 调用settingslib_gradle_13


android studio 调用 android studio 调用settingslib_android_14


android studio 调用 android studio 调用settingslib_android studio 调用_15


android studio 调用 android studio 调用settingslib_jar包_16


可见这次导入与新建导入是相似的,所以可以在任意项目中用类似方法导入任意模块

android studio 调用 android studio 调用settingslib_android studio_17


把settinglibs导入到settings模块的依赖中去,就可以用到跳转到settinglibs中的源码中了。

android studio 调用 android studio 调用settingslib_android studio 调用_18

3. 新建sdk并设置

如下所示,可以自己新建一个sdk,包含内容可以自行添加,可以从图中看入目录与jar包位置(有些是编译生成的out目录下的)没有编译可自行去网上下载包。

android studio 调用 android studio 调用settingslib_gradle_19


将Settings的SDK改为自己的,如下

android studio 调用 android studio 调用settingslib_android studio 调用_20


可以看到己经没有了标红了,如下

android studio 调用 android studio 调用settingslib_jar包_21

4. 调试

机子上要运行正在调试的源码,我这里己经编译过。直接用emulator,如下

android studio 调用 android studio 调用settingslib_android studio_22


然后直接打个断点,再点右上角的debug,选择com.anrdroid.settings,如下

android studio 调用 android studio 调用settingslib_android_23


打开设备里的Settings会停在断点处,如下

android studio 调用 android studio 调用settingslib_android_24

如果还有些标红无法跳转,也去找到jar包或模块导入就好了,下图这种波浪下划线不用关注

android studio 调用 android studio 调用settingslib_gradle_25