Android系统源码开发环境搭建
这篇主要讲述如何搭建Android源码开发环境,这里采用的模式是Ubuntu+Windows开发的方式进行,Ubuntu作为系统源码编译的环境,Widnows作为修改系统源码的工作平台。上一篇中有讲述Android系统源码的下载和编译
一、环境准备
(1)Ubuntu16.04(270G+16核+32RAM)
(2)VMware15
二、安装软件
(1)SubLime Text3 (Windows环境下)
http://www.sublimetext.cn/
(2)MobaXterm_Personal (或使用XShell,Windows环境下)
https://mobaxterm.mobatek.net/
(3)Smba (Ubuntu下磁盘映射工具)
sudo apt-get install samba
(4)openssh-server (ssh)
sudo apt-get install openssh-server
三 、配置环境
(1)IP配置
a. 如果ubuntu和windows的IP不在同一个网段下且无法ping通(能够ping通的,可以跳过IP配置的步骤),那么需要配置ubuntu的静态IP,在VMware软件中打开设置网络适配器 > 网络连接 > 桥接模式
b.在虚拟机内设置静态IP,请参考图片进行设置,配置完成后请进行重启操作(以自己电脑的IP为准,根据实际情况来)
(2)samba配置
a. 安装完samba之后,就要进行一些配置,将文件夹映射出去,首先可以按照下面的配置进行,请以实际的情况进行配置
sudo vim /etc/samba/smb.conf (编辑这个文件,在文件末尾添加下面的内容)
[share_aosp]
comment = share aosp folder
path = /home/jhan (需要映射的文件夹)
browseable = yes (可读)
writable = yes (可写)
available = yes (指定该共享资源是否可用)
b. 创建samba用户
sudo touch /etc/samba/smbpasswd
sudo smbpasswd -a jhan
b. 配置完以上操作后进行启动samba
sudo /etc/init.d/smbd restart
c. 在windows下使用快捷键“win+r”打开运行界面,输入以下内容,进入到共享文件夹,若需要输入账号和密码,就使用创建好了的samba账号进行登录
\\192.168.7.246 (请按照实际设置的IP来操作)
d. 右键选择“添加网络映射驱动器”,添加完成之后就能看到映射出来的磁盘了
(3)ssh服务配置
a. 在ubuntu下启动ssh服务
/etc/init.d/ssh start
b. 在windows下使用MobaXterm软件连接ubuntu ssh服务
(4)SubLime Text3配置
a. Ctrl+Shift+p命令打开输入框输入package control安装package control
b. Ctrl+Shift+p命令打开输入框输入Package Control: Install Package回车,回车后会弹出新的输入框,在输入框中输入ctags,进行安装ctags(用于实现函数间的跳转)
c. 下载 ctags58 并解压。并设置ctags.exe到系统环境路径
d. 将 sublime 中 Preference -> Package Settings -> cTags -> setting-Default 中的内容 拷贝到 setting-User中
e. 设置 setting-User 文件中 “command” 属性值为 ctags.exe的执行路径
"command":"D:/soft/ctags58/ctags.exe"
Android源码工程
a. 使用SubLime导入Android源码,在frameworks目录下使用ctags构建关系,构建后在frameworks目录下会生成一个.tags文件(若需要其它目录也要构建关系请选择目录后使用ctags)这样就可以实现函数的跳转啦,这里要等待一段时间ctags才能构建完成(在项目的目录上使用右键选择CTags:Rebuild Tags,就会构建关系)
asjhan for Android reverse
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库