Windows怎么方便查看AOSP代码

Windows怎么方便查看AOSP代码 - Wesley's Blog

在线查看源码一般可以使用https://cs.android.com/和https://xrefandroid.com/

但还是不如原生浏览的舒服。前者不能按分支来搜索代码,总是用最新的分支;后者,经常很慢,跳转不方便。后者在Windows上面打开建议使用Firefox,Chrome这些打开ams这种长文件容易导致电脑卡住不动。

接下来介绍一下怎么使用wsl2配置ASFP来浏览aosp代码,这样和windows联合使用比较方便。另外,wsl2还可以限制内存大小和重新调整磁盘大小,不是初始化后就绑定的。

之前已经介绍过在windows使用Linux的图形化界面了,这里就不重复展开了。可以参考:远程服务器运行Android Studio开发aosp源码 - Wesley's Blog在WSL2编译安卓13并在WSL2和windows运行 - Wesley's Blog

建议电脑内存32G以上,还好我23年初配置了一台64G的台式机,现在内存价格上天了😭。

我目前安装的是Ubuntu20.04,分配了32G内存给它。安装好后,可以下载asfp给Ubuntu进行离线安装。

Android Studio for Platform | Android Developers

AOSP源码可以到中科大镜像那里进行下载,建议先下载压缩包再同步repo sync -c

为什么使用 asfp

之前使用aidegen配合Android Studio和Clion来浏览代码,但现在使用aidegen有告警了,未来不再受支持了。建议切换到Android Studio for Platform (ASFP)。

ASfP 视频教程 | Android Studio for Platform | Android Developers

INFO: Please note that AIDEGen is no longer supported. We encourage you to use Android Studio for Platform (ASfP). Visit go/asfp or google Android Studio for Platform for more information.

INFO: If you are sure the related modules and dependencies have been already built, please try to use command aidegen Settings -s to skip the building process.

ASFP是什么?参考官方介绍:探索 Android Studio for Platform | Android Developers

ASfP 提供了一套全面的工具,这些工具针对平台开发特有的挑战进行了优化,超越了标准的 Android 应用开发。它与 AOSP 代码库和构建系统深度集成,可提供有助于加快开发流程的功能。

  • 无缝 AOSP 集成 :直接与 AOSP 源代码树和 Soong 构建系统(Android.bp 文件)配合使用。轻松同步和管理复杂的平台项目。
  • 智能代码编辑:利用 Kotlin、Java、C/C++ 和 Rust 的高级代码补全、重构和分析功能,帮助您更快地编写高质量的代码。
  • 强大的调试功能 :使用断点、变量检查和表达式求值等功能调试平台代码,包括 C/C++ 和 Java。 详细了解调试
  • 集成式测试 :直接从 IDE 运行 atest 命令,以执行平台测试并查看结果。请参阅测试平台代码
  • 可自定义的项目设置 :使用灵活的 .asfp-project YAML 文件微调项目范围和构建配置。详细了解项目管理
  • Rust 语言支持 :在 AOSP 中为 Rust 开发提供核心功能支持。如需了解详情,请参阅 ASfP 中的 Rust 支持
  • AI 赋能的辅助功能 :使用 Android Studio 中的 Gemini 生成代码、更新代码,以及在编辑器中获取开发问题的解答。

问题

asfp同步过程闪退,大概率是因为内存不够。可以限制编译线程:export NINJA_ARGS="-j8" ,再打开ASFP应用。

或者增加编译配置,根据你电脑的配置进行设置

yaml 复制代码
repo: /home/wesley/aosp
lunch: aosp_cf_x86_64_phone-trunk_staging-userdebug
directories:
  include:
    - frameworks
  exclude: []
modules:
  include: []
  exclude: []
test_sources: []
other_languages:
  - cpp
build_config:
  flags:
    - "-j8"
  env: {}

如果是高分屏,可以在设置那里调大 UI 或者字体。

相关推荐
2501_916008891 小时前
Unity3D iOS 应用防篡改实战 资源校验、 IPA 二进制保护
android·ios·小程序·https·uni-app·iphone·webview
似水明俊德2 小时前
16-C#.Net-自研ORM框架-学习笔记
windows·笔记·学习·c#·.net
Kapaseker2 小时前
Compose 中 CompositionLocalProvider 到底是干啥的
android·kotlin
mg6682 小时前
安卓玩机工具----安卓设备adb调试图形化工具推荐 支持mac与windows
android·adb
wzl202612132 小时前
多账号协同与任务分发:用企微API搭建总部-门店统一运营中台
android·企业微信
SmartRadio2 小时前
经典蓝牙双机控制 APP-最终完整版 2
android·物联网·智能手机
无巧不成书02184 小时前
Windows PowerShell执行策略详解:从npm报错到完美解决
前端·windows·npm·powershell执行策略·执行策略·npm.ps1·脚本报错
程序员陆业聪9 小时前
从 OpenClaw 到 Android:Harness Engineering 是怎么让 Agent 变得可用的
android
hnlgzb11 小时前
常见的Android Jetpack库会有哪些?这些库中又有哪些常用类的?
android·android jetpack