当前位置: 首页 > article >正文

1. AOSP源码导入到AndroidStudio

1. AOSP源码导入到AndroidStudio

原文地址:http://www.androidcrack.com/index.php/archives/6/

⚠️ 在执行一下操作前, 请先完整的编译一次系统, 若不清楚如何编译系统. 请访问下面文章

http://www.androidcrack.com/index.php/archives/3/

1. 生成idegen.jar

source build/envsetup.sh
mmm development/tools/idegen/

2. 生成android.ipr和android.iml

development/tools/idegen/idegen.sh

这里比较遗憾,报错了, 提示我们最低安装Java9, 版本太高我也不敢升级.

我这里安装java11

image-20240926182612227

sudo apt update
sudo add-apt-repository --remove ppa:webupd8team/java
sudo apt update
sudo apt install openjdk-11-jdk

image-20240926183128316

再次执行就成功了. 此时在根目录可以看到2个文件

image-20240926183229069

3. 编写iml文件

⚠️ 这步非常重要, 它将决定你代码的加载速度与代码跳转

3.1 排除不需要的包

增加excludeFolder 列表,排除不需要的源码路径.这样可以加快导入和创建文件索引的速度。在.iml文件中有少了的excludeFolder项,在后面根据自己需要补充即可。例如:

    <excludeFolder url="file://$MODULE_DIR$/abi"/>
    <!-- <excludeFolder url="file://$MODULE_DIR$/art"/> -->
    <excludeFolder url="file://$MODULE_DIR$/bionic"/>
    <excludeFolder url="file://$MODULE_DIR$/bootable"/>
    <excludeFolder url="file://$MODULE_DIR$/build"/>
    <excludeFolder url="file://$MODULE_DIR$/cts"/>
    <excludeFolder url="file://$MODULE_DIR$/dalvik"/>
    <excludeFolder url="file://$MODULE_DIR$/developers"/>
    <excludeFolder url="file://$MODULE_DIR$/development"/>
    <!-- <excludeFolder url="file://$MODULE_DIR$/device"/> -->
    <excludeFolder url="file://$MODULE_DIR$/docs"/>
    <excludeFolder url="file://$MODULE_DIR$/external"/>
    <!-- <excludeFolder url="file://$MODULE_DIR$/hardware"/> -->
    <excludeFolder url="file://$MODULE_DIR$/kernel"/>
    <!-- <excludeFolder url="file://$MODULE_DIR$/libcore"/> -->
    <excludeFolder url="file://$MODULE_DIR$/libnativehelper"/>
    <excludeFolder url="file://$MODULE_DIR$/ndk"/>
    <excludeFolder url="file://$MODULE_DIR$/out"/>
    <excludeFolder url="file://$MODULE_DIR$/pdk"/>
    <excludeFolder url="file://$MODULE_DIR$/platform_testing"/>
    <excludeFolder url="file://$MODULE_DIR$/prebuilts"/>
    <excludeFolder url="file://$MODULE_DIR$/sdk"/>
    <!-- <excludeFolder url="file://$MODULE_DIR$/system"/> -->
    <excludeFolder url="file://$MODULE_DIR$/tools"/>
    <!-- <excludeFolder url="file://$MODULE_DIR$/vendor"/> -->
    <excludeFolder url="file://$MODULE_DIR$/toolchain"/>
    <excludeFolder url="file://$MODULE_DIR$/compatibility"/>
    <excludeFolder url="file://$MODULE_DIR$/compatibility"/>
    <excludeFolder url="file://$MODULE_DIR$/test"/>

image-20240927095804006

3.2 删除所有orderEntry节点

删除所有<orderEntry type="module-library">...</orderEntry> 项。这些项是引用的源码中编译出来的jar包,如果保留,在浏览过程中查看类型跳转到这些jar中的class文件,而不是源码java文件。删除后,则可以直接跳转到源码文件。
说明:这些设置也可以在Android studio:project structure - project settings - modules - dependencies 中修改,速度比较慢,不如直接编辑.iml文件方便。

image-20240927100022896

4. 导入AndroidStudio

在导入AndroidStudio前, 我们还需要修改个AndroidStudio的配置

1)Help - Edit custom Properties:  
	(对应配置文件:~/.config/Google/AndroidStudio$version/idea.properties)
	idea.max.intellisense.filesize=100000
2)Help - Edit custom VM options:
	(对应配置文件:~/.config/Google/AndroidStudio$version/studio64.vmoptions)
	-Xms1g
	-Xmx5g

image-20240927100437472

image-20240927100514171

做完这些操作,我们就可以愉快的把AOSP导入到AndroidStudio了. d


http://www.kler.cn/news/326390.html

相关文章:

  • JWT 令牌生成报错
  • Linux(含麒麟操作系统)如何实现多显示器屏幕采集录制
  • 8.代码风格调试%结课竞赛
  • Ubuntu篇——Ubuntu20.04备份成ISO镜像文件并安装到其他电脑上(完整步骤)
  • 安全无忧,简单便捷:打造财富通开锁小程序
  • 根据现有html里的元素上面动态创建el-tooltip组件并显示的几种方式
  • js中数组操作filter()、some()、every()等函数
  • 五,MyBatis-Plus 当中的 “ActiveRecord模式”和“SimpleQuery工具类”(详细实操)
  • 360° 镜头检测铝件内壁划痕与杂质:保障铝件内孔制造质量的精准方案
  • Flutter中使用FFI的方式链接C/C++的so库(harmonyos)
  • winform 将untiy程序嵌入到一个panel里
  • oracle 如何获取当前时间的日份,月份,年份
  • 目前最好用的爬虫软件是那个?
  • YOLOv10涨点改进:IoU优化 | Unified-loU,用于高品质目标检测的统一loU ,2024年8月最新IoU
  • 快速学会一个算法,BERT
  • ant-design-vue中table组件复选框分页切换保留之前选中数据
  • 网络工程和信息安全专业应该考哪些证书?
  • Python每次for循环向list中添加多个元素
  • 【echarts】报错series.render is required.
  • 【ZYNQ 开发】填坑!双核数据采集系统LWIP TCP发送,运行一段时间不再发送且无法ping通的问题解决
  • You are not allowed to push code to this project
  • Docker 安装 ClickHouse 教程
  • Composition API 与 React Hook 的区别
  • Java LeetCode每日一题(2024.9.26)
  • Unity开发绘画板——04.笔刷大小调节
  • 智能AI对话绘画二合一网站源码系统 带完整的安装代码包以及搭建部署教程
  • XPath入门
  • 65.【C语言】联合体
  • Python | Leetcode Python题解之第442题数组中重复的数据
  • plt注解相关介绍及应用