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.xdnf.cn/news/1548938.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

微服务学习笔记之Docker

目录 认识Docker 安装Docker 安装yum工具 配置Docker的yum源 更新yum&#xff0c;建立缓存 安装Docker 启动并校验 配置镜像加速 Docker常见命令 命令 演示 给命令起别名 Docker数据卷 认识数据卷 数据卷常见命令 nginx的html目录挂载演示 数据卷挂载本地目录或…

使用Docker-Compose部署SpringBoot项目的案例

Docker-Compose是Docker官方的一个开源项目&#xff0c;主要用于实现对Docker容器集群的快速编排和管理。该项目由Python编写&#xff0c;通过调用Docker服务提供的API来管理容器。只要所操作的平台支持Docker API&#xff0c;就可以利用Docker-Compose进行编排管理。Docker-Co…

OpenMV与STM32通信全面指南

目录 引言 一、OpenMV和STM32简介 1.1 OpenMV简介 1.2 STM32简介 二、通信协议概述 三、硬件连接 3.1 硬件准备 3.2 引脚连接 四、软件环境搭建 4.1 OpenMV IDE安装 4.2 STM32开发环境 五、UART通信实现 5.1 OpenMV端编程 5.2 STM32端编程 六、SPI通信实现 6.1 …

Vue devtools 插件

一、安装 去这下载https://chrome.zzzmh.cn/ 打开chrome的扩展程序 再打开开发模式 把刚才下载的拖到这里 然后把它固定到工具栏 就是这样了。 二、使用 程序通过open on live server后&#xff0c;打开开发者工具&#xff0c;找到vue就可以了。 这是代码 <div id"ap…

【Redis 源码】3dict字典数据结构

1 数据结构说明 dictionary数据结构&#xff0c;也称为哈希表&#xff08;hash table&#xff09;。用于存储字典。哈希是一个键值对的集合&#xff0c;每个键都是唯一的并与一个值相关联。字典的设计旨在提供高效的查找、插入和删除操作。 2 核心数据结构 hash 的数据结构定…

腾讯云SDK基本概念

本文旨在介绍您在使用音视频终端 SDK&#xff08;腾讯云视立方&#xff09;产品过程中可能会涉及到的基本概念。 音视频终端 SDK&#xff08;腾讯云视立方&#xff09; 应用 音视频终端 SDK&#xff08;腾讯云视立方&#xff09;通过应用的形式来管理您的项目&#xff08;Ap…

LabVIEW提高开发效率技巧----合理管理程序架构

在LabVIEW开发中&#xff0c;合理管理程序架构是保持项目可维护性和扩展性的关键。随着项目复杂度的增加&#xff0c;良好的架构设计可以避免代码混乱&#xff0c;并且便于后期的修改和扩展。以下是两种常见且有效的架构管理方式&#xff1a; 1. 面向对象编程&#xff08;OOP&a…

初识Tomcat

Tomcat是一款可以运行javaWebAPP的服务器软件。 一个服务器想要执行java代码&#xff0c;则需要JRE&#xff08;jvm、java运行环境等&#xff09;&#xff0c;但是需要执行javaWEB项目则还需要服务器软件&#xff0c;Tomacat就是其中很流行的一款。因为一个javaWEB项目会有很多…

USB2.0主机设备检测过程以及信号分析

一&#xff0c;USB协议发展 USB接口自1994年推出以来&#xff0c;经过30年的发展&#xff0c;从USB1.0发展到了现在的USB4.0&#xff0c;传输速率也从最开始的1.5Mbps&#xff0c;大幅提高到了最新的40Gbps。 USB协议按照速度等级和连接方式分可分为7个版本&#xff0c;但是从…

JAVAEE如何实现网页(jsp)间的数据传输?一文总结

刚刚接触到JAVAEE的WEB开发&#xff0c;解释不周的地方希望感谢指正&#xff01;&#xff01;&#xff01; 情景如下&#xff1a; 我的使用是21版的IDEA&#xff0c;9.03版本的tomcat&#xff0c;来做一个示范。 构建项目 点击下一步 -> 完成&#xff0c;等待项目构建结束…

Trie树之字符串统计问题

这是C算法基础-数据结构专栏的第二十七篇文章&#xff0c;专栏详情请见此处。 引入 Trie树&#xff0c;即字典树&#xff0c;顾名思义&#xff0c;就是用类似字典的方式存储数据&#xff0c;而Trie树最经典也是最简单的一个应用就是字符串统计问题。 字符串统计问题就是维护一个…

华为玄玑感知系统震撼发布:智能穿戴新品引领情绪健康新纪元

在科技日新月异的今天&#xff0c;华为再次以其卓越的创新能力&#xff0c;为智能穿戴领域带来了一场革命性的变革。 8月28日&#xff0c;华为玄玑感知系统暨穿戴创新技术发布会圆满落幕&#xff0c;会上正式揭晓了这款名为“玄玑”的神秘感知系统&#xff0c;预示着穿戴设备将…

element 中 v-loading 更改icon颜色、字体颜色

文章目录 问题分析 问题 如下图&#xff0c;由于背景的原因&#xff0c;可以看出展示的文字不是很清楚&#xff0c;因此需要自定义一下文字字体大小和文字颜色。像图二一样 分析 找到对应的class。然后直接修改即可 话不多说&#xff0c;直接上代码 ::v-deep {.el-loading…

Linux开源网络:高性能数据平面

数据平面的性能在很大程度上取决于网络 I/O 的性能&#xff0c;而网络数据包从网卡到用户空间的应用程序需要经历多个阶段&#xff0c;本文从数据平面基础到NFV&#xff0c;NFC基础设施再到OVS-DPDK VPP进行概论上的描述。 部分内容来源于《Linux开源网络全栈详解&#xff1a;从…

008——树

目录 树&#xff1a; 相关概念&#xff1a; 1.结点&#xff1a; 结点和结点之间的关系 2.度 3.n叉树 4.高度/深度 5.有序树和无序树 6.空树&#xff1a; 树的存储结构/表示方法&#xff1a; 树中都需要存储什么&#xff1f; 1.双亲表示法 2.孩子表示法 可以将上面…

MySQL之基础篇

数据库操作 1.查看当前的数据库版本 select version(); 2.显示所有数据库 show databases; 3.创建数据库 create [if not exists] database 数据库名 character set 字符编码集 collate 排序规则&#xff1b; 我们这里提前说一下 被方括号括起来的代码 表示可写可不写 示例…

Linux 安装redis主从模式+哨兵模式3台节点

下载 https://download.redis.io/releases/ 解压 tar -zxvf redis-7.2.4.tar.gz -C /opt chmod 777 -R /opt/redis-7.2.4/安装 # 编译 make # 安装&#xff0c; 一定是大写PREFIX make PREFIX/opt/redis-7.2.4/redis/ install配置为系统服务 cd /etc/systemd/system/主服务…

spring揭秘24-springmvc02-5个重要组件

文章目录 【README】【1】HanderMapping-处理器映射容器【1.1】HanderMapping实现类【1.1.1】SimpleUrlHandlerMapping 【2】Controller&#xff08;二级控制器&#xff09;【2.1】AbstractController抽象控制器&#xff08;控制器基类&#xff09; 【3】ModelAndView(模型与视…

从零开始搭建UVM平台(三)-加入objection机制

书接上回&#xff1a; 从零开始搭建UVM平台&#xff08;一&#xff09;-只有uvm_driver的验证平台 从零开始搭建UVM平台&#xff08;二&#xff09;-加入factory机制 加入objection机制 需要在第一个消耗仿真时间语句前raise_objection&#xff0c;最后再drop_objection&…

【微服务即时通讯系统】——etcd一致性键值存储系统、etcd的介绍、etcd的安装、etcd使用和功能测试

文章目录 etcd1. etcd的介绍1.1 etcd的概念 2. etcd的安装2.1 安装etcd2.2 安装etcd客户端C/C开发库 3. etcd使用3.1 etcd接口介绍 4. etcd使用测试4.1 原生接口使用测试4.2 封装etcd使用测试 etcd 1. etcd的介绍 1.1 etcd的概念 Etcd 是一个基于GO实现的 分布式、高可用、一致…