
【安卓开发系列 -- 系统开发】基于 android studio 的 android 源码调试环境搭建
发布日期:2021-05-07 20:51:05
浏览次数:17
分类:原创文章
本文共 1814 字,大约阅读时间需要 6 分钟。
【安卓开发系列 -- 系统开发】基于 android studio 的 android 源码调试环境搭建
【0】开发环境简介
1. 主机,Win10;虚拟机,Ubuntu 16.042. 开发板,AIO-3399C 六核 AI 开发板3. android 源码,android 7.1
【1】ubuntu 中 adb 安装与配置
安装 adb 工具sudo apt-get install android-tools-adb加入设备标识mkdir -p ~/.androidvi ~/.android/adb_usb.ini# 添加以下一行0x2207加入 udev 规则sudo vi /etc/udev/rules.d/51-android.rules# 添加以下一行:SUBSYSTEM=="usb", ATTR{idVendor}=="2207", MODE="0666"重新插拔 USB 线,或运行以下命令,让 udev 规则生效sudo udevadm control --reload-rulessudo udevadm trigger重新启动 adb 服务器sudo adb kill-serveradb start-server
【2】android studio 导入安卓源码
1. 编译 idegen#初始化命令工具source build/envsetup.sh #编译 idegen 模块,生成 idegen.jarmmm development/tools/idegen/#生成针对 Android 开发工具的配置文件 sudo ./development/tools/idegen/idegen.sh执行完上述命令,在安卓源码根目录下生成如下三种文件,android.ipr : 工程相关的设置,比如编译器配置、入口,相关的 libraries 等android.iml : 描述了 modules,比如 modules 的路径,依赖关系等android.iws : 包含了一些个人工作区的设置2. 配置 android studioandroid studio 导入安卓源码会占用较大的内存,可配置增大内存Linux 设备的话在 Android Studio 的 bin/studio64.vmoptions 文件中添加 -Xms748m -Xmx748m3. 选择 File -> open 选中 android.ipr 文件,如图所示(注意,首次导入安卓源码需要较长的时间)
4. 选择 File -> Project Structure 打开如下图所示界面,在该界面中可以配置需要加载的源码目录,图中红色的目录表明该目录已经从项目中移除
5. 选择 File -> Project Structure 打开如下图所示界面,保留 JDK 跟 Module Source 项,并添加源码的 external 和 frameworks 依赖
6. 选择 File -> Project Structure 打开如下图所示界面,设置 SDK 确保关联对应版本的 SDK 与系统版本一致
【3】android studio 配置并启动调试
1. 选择 File -> Project Structure 打开如下图所示界面,设置对应版本的 SDK 与系统版本一致
2. 点击 Android Studio 工具栏的 attach debugger to Android process 按钮,打开 Choose Process 窗口,选定待调试的代码对应的进程,即可开始调试
问题总结
问题 1. Android Studio 导入系统源码后,一直 scanning files to index解决方案去掉勾选 "Generate sources automatically",见下图修改 Manifest file 路径,见下图
问题 2. /packages/apps 路径下添加 APP 源码后,未识别 Java 文件(出现红 J)解决方案编辑安卓系统源码根目录下的 android.iml 文件,添加 /packages/apps 目录下添加的 APP 工程源码路径
参考致谢
本博客为博主学习笔记,同时参考了网上众博主的博文以及相关专业书籍,在此表示感谢,本文若存在不足之处,请批评指正。
发表评论
最新留言
不错!
[***.144.177.141]2025年03月31日 09时30分24秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
云计算之路-阿里云上:对“黑色30秒”问题的猜想
2021-05-09
云计算之路-阿里云上:“黑色30秒”走了,“黑色1秒”来了,真相也许大白了
2021-05-09
云计算之路-阿里云上:奇怪的CPU 100%问题
2021-05-09
云计算之路-阿里云上:2014年6月12日12点IIS请求到达量突降
2021-05-09
上周热点回顾(6.9-6.15)
2021-05-09
上周热点回顾(6.16-6.22)
2021-05-09
上周热点回顾(6.23-6.29)
2021-05-09
上周热点回顾(10.20-10.26)
2021-05-09
上周热点回顾(2.16-2.22)
2021-05-09
上周热点回顾(3.2-3.8)
2021-05-09
[网站公告]3月10日23:00-4:00阿里云SLB升级,会有4-8次连接闪断
2021-05-09
.NET跨平台之旅:借助ASP.NET 5 Beta5的新特性显示CLR与操作系统信息
2021-05-09
上周热点回顾(7.27-8.2)
2021-05-09
上周热点回顾(9.28-10.4)
2021-05-09
上周热点回顾(3.28-4.3)
2021-05-09
上周热点回顾(5.2-5.8)
2021-05-09
上周热点回顾(5.9-5.15)
2021-05-09
上周热点回顾(8.8-8.14)
2021-05-09
.NET跨平台之旅:将示例站点升级至 .NET Core 1.1 Preview 1
2021-05-09
上周热点回顾(1.16-1.22)
2021-05-09