文章目录 1. 篇头语 2. 系列文章 3. 关联Git 4. SettingsLib的依赖关系 4.1 回顾android.bp文件 4.2 结合原版“SettingsLib” 的源码 4.3 获取jar文件 4.3.1 获取jar的路径: 4.3.2 framework.jar 4.3 iconloader.jar 4.4 编辑SettingsLib/build.gradle 5. 解决SettingsLib子模块依赖 5.1 子模块导入方法 5.2 导入SettingsLibHelpUtils 5.3 导入剩余其它子模块 5.4 git 上传记录 6. 解决编译错误 6.1 导入SettingsLibAdaptiveIcon的编译错误 6.1.1 错误打印 6.1.2 错误分析 6.1.3 解决办法 6.2 解决Settings.app的编译错误(1) 6.2.1 String/sdcard_unmount more than one time 6.2.1.1 错误打印 6.2.1.2 错误原因 6.2.1.3 解决办法 6.2.2 Found item Attr/messageText more than one time 6.2.3 The file name must end with .xml or .png 6.2.4 (aka com.android.settings:string/daltonizer_mode_deuteranomaly) not found. 6.3 解决SettingsLib的编译错误 6.3.1 error: package libcore.timezone does not exist 6.3.2 error: package com.android.wifitrackerlib does not exist 6.4 重要节点: SettingsLib 编译通过 7. 结束语 1. 篇头语 漫漫长征路,到第四章了, 终于可以开始编译了…… 为了提供最详细,最简洁的,最少歧义的文章,后续还会再对文章优化,走过路过的朋友,记得点个赞哈~ 2. 系列文章 [Android 11]使用Android Studio调试系统应用之Settings移植(一):编译服务器的配置、AOSP源码的下载、编译、运行 [Android 11]使用Android Studio调试系统应用之Settings移植(二):依赖分析、android.bp、静态和动态依赖 [Android 11]使用Android Studio调试系统应用之Settings移植(三):构建Settings、SettingsLib的AS项目