1. AOSP源码导入到AndroidStudio

news/2024/12/22 1:57:14/

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.ppmy.cn/news/1534097.html

相关文章

js逆向——webpack实战案例(一)

今日受害者网站&#xff1a;https://www.iciba.com/translate?typetext 首先通过跟栈的方法找到加密位置 我们跟进u函数&#xff0c;发现是通过webpack加载的 向上寻找u的加载位置&#xff0c;然后打上断点&#xff0c;刷新网页&#xff0c;让程序断在加载函数的位置 u r.n…

【机器学习案列】基于随机森林和xgboost的二手车价格回归预测

一、项目分析 1.1 项目任务 kaggle二手车价格回归预测项目&#xff0c;目的根据各种属性预测二手车的价格。 1.2 评估准则 评估的标准是均方根误差&#xff1a; 1.3 数据介绍 数据连接https://www.kaggle.com/competitions/playground-series-s4e9/data?selecttrain.csv 其…

【Web】Electron:第一个桌面程序

Electron 是一个开源框架&#xff0c;使开发者能够使用 HTML、CSS 和 JavaScript 构建跨平台的桌面应用程序。通过 Electron&#xff0c;开发者可以将网页技术应用于桌面软件开发&#xff0c;从而利用现有的网页技术栈构建功能强大的桌面应用。 下载 Electron 虽然 Electron …

【架构】NewSQL

文章目录 NewSQLTiDBTiDB 主要组件特点使用场景安装与部署 推荐阅读 NewSQL NewSQL是一种数据库管理系统(DBMS)的类别&#xff0c;它结合了NoSQL数据库的可扩展性和传统SQL数据库的事务一致性。具体来说&#xff0c;NewSQL数据库旨在解决传统关系型数据库在处理大规模并发事务…

Leecode SQL 184. Department Highest Salary 找出tie

Department Highest Salary 注意&#xff01;要找出 tie 的 highest salary&#xff01; Write a solution to find employees who have the highest salary in each of the departments. Return the result table in any order. The result format is in the following ex…

从 Kafka 到 WarpStream: 用 MinIO 简化数据流

虽然 Apache Kafka 长期以来一直是流数据的行业标准&#xff0c;但新的创新替代方案正在重塑生态系统。其中之一是 WarpStream&#xff0c;它最近在 Confluent 的所有权下进入了新的篇章。此次收购进一步增强了 WarpStream 提供高性能、云原生数据流的能力&#xff0c;巩固了其…

02SQLite

文章目录 索引创建索引删除索引索引优点及缺点&#xff1f;避免使用索引 视图创建视图删除视图 事务事务控制命令通过事务方式对数据库进行访问优势&#xff1a; 索引 创建索引 索引&#xff08;Index&#xff09;是一种特殊查找表&#xff0c;数据库搜索引擎用来加速数据检索…

基于微信小程序爱心领养小程序设计与实现(源码+定制+开发)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…