1.aosp是源码什么系统
2.Android Cuttlefish模拟器(Android Automotive)
3.Windows平台下载AOSP源码(使用中科大镜像)
4.WSL2 安装并下载、编译AOSP源码
5.使用Google Pixel5手机调试AOSP(代码下载、下载编译、源码刷机、下载调试)详细攻略
6.调试AOSP源码的源码官方神器-Android Studio for Platform(ASfP)
aosp是什么系统
AOSP全名为Android Open-Source Project,中文为安卓开源项目,下载彩虹6.9源码开源即开放源代码。源码Android是下载一个基于Linux,由Google主导的源码开源系统。严格意义上来说,下载Android=AOSP+GMS。源码GMS即谷歌移动服务,下载即常刷的源码谷歌服务包。国内无法使用GMS,下载所以国内的源码各种定制ROM都是AOSP的定制修改加上自家的云服务,比如MIUI、ColorOS等。所以,所有的ROM最终的根源就是AOSP,没有AOSP,也就没有现在的 Android。
Android Cuttlefish模拟器(Android Automotive)
为了在实际工作和学习中体验Android Automotive的多屏区划和特殊交互,本文将指导如何基于Android 源码自建一个 Automotive 模拟器,特别针对网络受限的用户,通过清华大学开源软件镜像站获取AOSP源码。
首先,准备下载AOSP源码。在~/bin目录下创建repo工具,并通过curl获取存储网上的资源,确保可执行权限。android执行html源码具体步骤可参考"不懂内核的小潘"的文章中关于repo命令的总结。
接下来,访问mirrors.tuna.tsinghua.edu.cn下载android repo仓库,由于代码隐藏在.repo目录中,下载后解压并使用repo sync命令获取完整目录。找到对应版本,如android-.0.1_r1。
编译前,请确保源码目录有足够的空间(至少GB以上,我编译的x_版本耗用超过GB)。在源码根目录下,了解Cuttlefish与默认模拟器的区别,Cuttlefish更侧重底层调试,而emulator更偏向应用测试。
通过lunch命令选择构型,如aosp_cf_x__auto-userdebug,其中cf表示Cuttlefish,auto专为Automotive设计。选择x版本,速度较快,arm版本则表现不佳。启动模拟器需要执行相应的命令,如launch_cvd,注意配置环境变量并保持网络连接。
成功启动后,在浏览器访问/aos... -b master,这里的URL应替换为实际的AOSP仓库地址。
最后,执行repo sync命令以同步最新代码。写网站的源码在下载过程中,可以参考Android官网-AOSP源码下载和Android镜像使用帮助文档,以获取详细指导和常见问题解决方案。
WSL2 安装并下载、编译AOSP源码
安装WSL2
参考链接:安装WSL要求Windows 版本及更高版本(内部版本及更高版本)或Windows 。在power shell或cmd执行如下命令。
执行完之后就安装了Linux for Windows,并且打开了Windows的虚拟机平台和Linux子系统功能,并设置wsl默认版本为2。也可以手动安装,先在控制面板中找到启用或关闭Windows功能,勾选虚拟机平台和适用于Linux的Windows子系统功能。然后在应用商店找到Linux子系统(例如Ubuntu)进行安装。
如果是升级安装wsl,可能还需要同时升级linux内核。直接下载msi升级安装文件,点击安装即可。具体可参考:旧版WSL的手动安装步骤
硬盘设置
这里分为两类,一是将AOSP源码放在Windows文件系统下,二是将源码放置在WSL中。对于前者,需要修改文件目录的大小写敏感,新建完源码目录后,用管理员身份打开Windows的Powershell,执行以下命令:
其中的path就是刚新建用来同步AOSP源码的目录,需要注意的是,这个命令只对指定的目录有效,不会改变已存在的子目录的大小写敏感,所以要在同步代码之前设置好。netty 权威指南源码根据文章:WSL编译AOSP必要的几个前置工作,还需要重新挂载磁盘。如果源码放在了Windows驱动器上,比如说F:\aosp,在WSL中的路径应该是/mnt/f/aosp这种形式的,此时需要以drvfs文件系统重新挂载盘符,否则编译到中途会报错:
注意,每次WSL重启,在编译之前都需要执行这步操作,也可以将它新建成WSL的一个开机服务,确保每次打开WSL都会执行这两段命令。如果是将源码放置在WSL中,需要注意WSL默认占用C盘空间,保证C盘有足够的空间,或者将WSL迁移到别的盘符。因为我的硬盘没有分区,不用担心占满C盘的空间,所以直接将源码放在WSL中编译。WSL安装之后默认是GB大小,对于AOSP的编译是不够的。可通过df命令查看容量,下面是我编译完之后的容量,可以看到占用了GB。
扩展WSL 2虚拟硬盘的大小 如何管理WSL磁盘空间
输出如下:
经过如上操作,将wsl的虚拟磁盘大小调整到1TB。
源码下载
创建bin,并加入path:
下载repo:
下载代码有两种方式,使用每月更新的初始化包或者传统初始化方式。
下载mirrors.tuna.tsinghua.edu.cn...,QQ号授权源码下载完成后记得根据checksum.txt的内容校验一下。由于所有代码都是从隐藏的.repo目录中checkout出来的,所以我们只保留了.repo目录,下载后解压再repo sync一遍即可得到完整的目录。使用方法如下:
此后,每次只需运行repo sync即可保持同步。
建立工作目录并初始化仓库: repo init -u mirrors.tuna.tsinghua.edu.cn... 如果需要某个特定的Android版本(列表): repo init -u mirrors.tuna.tsinghua.edu.cn... -b android-4.0.1_r1 同步源码树(以后只需执行这条命令来同步): repo sync 详细可见:AOSP | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror Android源码(AOSP)下载与编译 - 掘金
设置WSL内存大小
直接编译源码,会因为内存不足导致失败,通过free -m查看内存,只有4GB内存,swap空间只有2GB。可以通过设置WSL配置文件来修改相关配置属性。在用户目录下新建.wslconfig文件,在文件管理器输入%USERPROFILE%可找到用户文件夹。注意这里新建.wslconfig文件不要用新建文本文件的方式,这样文件可能没法被正确识别。可以通过命令行输入code .wslconfig的方式。
配置文件如下,根据自己的硬件配置尽可能多的分配多点资源,在编译完成后也能修改回来。我电脑是GB内存,所以给WSL配置GB内存,还有GB swap空间。
编译源码
编译源码就是常规流程,lunch项根据自己需要进行选择,编译线程数根据机器配置选择。
编译可能会报错缺少库文件,直接安装即可。sudo apt-get install libncurses5 如果需要编译出CMakeLists文件,方便导入CLion,需要在编译前添加环境变量。
编译成功!!
导入Clion效果。
若需要导入Android Studio中,还需要生成配置索引。
这一步需要Java环境,提前安装一下。sudo apt install openjdk--jdk
最终效果如下:
使用Google Pixel5手机调试AOSP(代码下载、编译、刷机、调试)详细攻略
为了在真实设备上调试Android源代码,购买了Google Pixel 5手机,实现这一目标。
下载AOSP代码,查阅相应教程以获取详细信息。为了适配Pixel 5,选择代码的特定分支、TAG和build ID。这些元素确保了能够下载与设备型号兼容的源代码。点击链接访问AOSP源代码页面,关注支持设备列表、标记和build ID,确保下载的代码能够与目标设备Pixel 5兼容。
执行命令下载Pixel 5代码,使用特定build ID下载Nexus和Pixel设备的驱动二进制文件。下载后,解压shell脚本,执行脚本,接受协议并开始解压过程。解压后,即可开始代码编译。
在编译时,选择合适的lunch选项。通过访问编译配置页面,找到并使用针对Pixel 5设备的编译选项。执行命令启动编译过程。
刷机前,确保USB调试功能已打开,执行fastboot和adb命令。在根目录执行特定命令以刷入编译后的镜像,等待刷机完成并重启手机。
为了在编译的Pixel 5设备上进行调试,使用userdebug版本,执行特定命令将修改后的应用推送到设备上。在Launcher中加入日志信息,验证修改效果,确保调试代码的正确性。
值得注意的是,自编译的AOSP版本不包含Google移动服务(GMS)及其应用,需要自行内置。此外,系统应用在AOSP中可能不如原生系统美观,但此不足不会影响调试代码的主要目的。
调试AOSP源码的官方神器-Android Studio for Platform(ASfP)
如果你需要深入研究AOSP源码,Android Studio for Platform(ASfP)是调试神器。目前,它仅支持Ubuntu系统,Windows用户暂不支持下载。安装步骤如下:下载地址:在Ubuntu环境下找到并下载对应的安装包。
安装:解压后,通过命令行执行安装脚本进行安装,卸载则使用相应命令。
启动:官方文档提供了启动脚本,可编写简化脚本或创建桌面图标方便启动。
然而,可能会遇到与App版本Android Studio图标冲突的问题,解决方法是创建专属的Android Studio桌面设置文件。 首次启动ASfP,需导入AOSP代码,无论之前是否编译,系统都会重新编译。配置文件修改后,会进行耗时的Indexing操作,用于代码跳转。 对于代码跳转,Java支持良好,但C++代码跳转会跳转至.h文件,需自行定位cpp文件。尝试C++调试时,可能会遇到"Cannot find AndroidFacet"的提示,选择Java Only模式则能正常调试。 尽管ASfP功能强大,但C++调试功能仍有提升空间。如果你有更好的解决方案或发现其他不足,欢迎分享。安卓6.0源码下载 android6.0源码下载地址介绍_安卓6.0源码下载 android6.0源码下载地址是什么
安卓6.0源码下载已经开放,谷歌在AOSP平台上发布了android6.0.0 r1版本,被称为MRAK。这个版本主要包含了系统升级的诸多改进,如音量控制、内存管理、多窗口UI和备份功能的优化,以及推动OEM厂商主题融合的系统主题更新。对于设备用户来说,好消息是,nexus设备如nexus5、nexus6、nexus7、nexus9和nexus player,在月5日就已经可以通过Google Store获取android6.0的更新,可以直接在设备上进行升级。nexus5和nexus6的升级时间稍晚,定在月6日。而对于非nexus品牌的手机用户,他们需要根据各自手机制造商的升级计划来安排android6.0的安装时间。如果你对这个版本感兴趣,可以直接获取下载地址进行体验。
安利一个看 Android 源代码的网站
在线浏览Android源代码的便利性对于开发者来说至关重要。过去,我们有两个主要选择:grepcode.com和androidxref.com。然而,随着Android系统的更新,grepcode.com已无法访问,而androidxref.com虽然提供了一定的便利,但在性能和稳定性方面存在局限。
在寻找替代方案时,我发现了两个新的网站:androidos.net.cn/和aosp.opersys.com/。它们提供了在线浏览源码的功能,但各有不足。androidos.net.cn/并未提供交叉索引,对我用处不大;而aosp.opersys.com/虽然提供了交叉索引和变化日志,但经常宕机,访问速度也不理想。
面对工作需求和效率问题,我决定自己开发一个网站——aospxref.com。这个网站不仅具备与androidxref.com相同的源码浏览和交叉索引功能,还有额外的优点。它为开发者提供了一个更加稳定、快速的在线浏览源代码的平台。访问网站,体验革新,提升您的工作效率。
如果您对加入与Android相关的项目感兴趣,可以发送邮件至twsxtd@gmail.com,欢迎您的加入!让aospxref.com成为您工作中不可或缺的工具。我们致力于提供最好的服务,期待与您共同成长。