首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

使用AndroidStudio阅读源码

  • 25-04-25 15:00
  • 4736
  • 7424
juejin.cn

在上一节中我们成功编译了aosp源码并运行了模拟器。

ubuntu编译android12源码

做安卓的肯定都离不开AndroidStudio,那么我们能否将asop的源码导入到AndroidStudio中进行学习和开发呢?

答案是肯定的。

AIDEGen是一款Google提供的工具,用于自动化AOSP项目中的Java和C/C++IDE配置,帮助开发者快速设置项目,减少手动配置,提升开发效率。通过解析模块依赖并生成相应的IDE配置文件。

使用AndroidStudio查看源码

  1. 先编译sdk,执行以下代码
bash
代码解读
复制代码
source build/envsetup.sh lunch sdk-eng make sdk lunch aosp_x86_64-eng

这个编译过程可能需要等待一下...

  1. 修改AndroidStudio的配置

我们先来打开我们的AndroidStudio配置一下大内存,这个应该做过android开发的都会吧。。。

首先加大idea VM内存:

打开IDEA 菜单栏 Help > Edit Custom VM Options,添加修改以下内容,这个要取决于你自己的机器:

diff
代码解读
复制代码
-Xms2g -Xmx10g

然后是修改文件大小限制,打开区分大小写选项

打开IDEA 菜单栏 Help -> Edit custom properties, 添加

ini
代码解读
复制代码
idea.max.intellisense.filesize=100000 idea.case.sensitive.fs=true

修改完毕后重启AndroidStudio使配置生效。

  1. 使用aidegen配置打开项目

运行以下脚本自动通过aidegen配置我们的项目:

bash
代码解读
复制代码
mmma development/tools/idegen sudo development/tools/idegen/idegen.sh

运行上面的脚本可能会报错,这是因为3.12版本的Python缺少distutils导致的。。。

我们可以通过将Python版本回退或者多版本共存的方式来解决这个问题。

安装以下python3.10

sql
代码解读
复制代码
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.10 python3.10-venv python3.10-distutils

配置下多本版的问题:

bash
代码解读
复制代码
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2

选择以下优先使用的版本:

sql
代码解读
复制代码
sudo update-alternatives --config python3

在这里我们按照提示选择优先使用python3.10即可。

然后使用AndroidStudio打开我们生成的 android.ipr 文件,由于工程很大,需要较长的时间建立索引,请耐心等待。

  1. 配置JDK

使用AndroidStudio打开android.ipr 文件后,需要配置一下我们的JDK和SDK,使得指向我们的aosp源码。

首先打开我们的项目配置,添加本地SDK:

jdk的目录在: aosp/prebuilts/jdk/jdk11/darwin-x86

然后配置SDK:

sdk的目录在: aosp/out/host/linux-x86/sdk/sdk/android-sdk_eng.fly_linux-x86

至此,我们就可以使用AndroidStudio愉快地带跳转阅读aosp的源码拉...

aidegen的功能可不止这么一种用法,它还有很多用法,比如它可以配置SDK中的C/C++代码然后使用CLion打开等等。。。

例如运行下面的代码会自动使用AndroidStudio打开我们的Settings源码。

css
代码解读
复制代码
aidegen Setting -i s

当然如果你觉得aosp的代码太庞大了,我们应该用远程开发,按么你也可以使用vscode等工具通过ssh的方式远程修改和阅读aosp的源码...

推荐

为了更加方便Framework的开发者,谷歌推出了framework专用的AndroidStudio,建议大家都使用Android Studio for Platform来进行aosp的调试与开发...

developer.android.com/studio/plat…

安卓Framework开发

音视频入门基础

安卓camera应用开发

NDK学习入门

C++进阶

ffmpeg系列

Opengl入门进阶

关注我,一起进步,人生不止coding!!!

注:本文转载自juejin.cn的求索君Fly的文章"https://juejin.cn/post/7496400600168415247"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top