aosp源码导入android studio无法跳转-学员答疑

1. AOSP源码导入到AndroidStudio 原文地址:http://www.androidcrack.com/index.php/archives/6/⚠️ 在执行一下操作前, 请先完整的编译一次系统, 若不清楚如何编译系统. 请访问下面文章。 阅读详情
AI摘要

本文介绍如何将AOSP源码导入Android Studio,并解决导入后无法跳转到系统源码的问题。通过修改android.iml文件,排除不必要的目录及调整依赖顺序,使源码加载更高效。

背景:

在学习framework入门课时候,一个很重要环节就是导入aosp的源码到android studio,这样有了IDE之后开发起来就很方便了,但是很多学员朋友对编译出来的ipr,iml文件改造不知道该怎么搞,导致android studio导入了源码后发现无法进行跳转,没办法跳转到系统源码,都是跳都一些奇奇怪怪的jar中。

生成相关ipr,iml等工程文件

执行以下四条命令:
“. build/envsetup.sh” (source可以用 .代替,即". build/envsetup.sh")
“lunch”,并选择要编译的项目
“make idegen -j4” (这里的 -j4表示用 4线程来编译,可以不加)
“development/tools/idegen/idegen.sh” (报错find: ‘out/target/product/generic_x86_64/root/d’: Permission denied没有关系不影响ipr和iml文件生成,注意这里不要因为有权限问题就随意用sudo)

上面命令生成关键的来说android.ipr和android.iml文件

-rw-rw-r--   1 test test  16569 Aug 21 10:42 android.ipr
-rw-rw-r--   1 test test 516724 Aug 21 10:42 android.iml

如果直接在android studio导入这ipr,iml文件,那么就会问题较多,主要有以下几个问题
1、源码文件太多,全部进行导入,android studio加载负担太大,加载时间太久基本上无法使用,而且加载太多也非常非常卡顿

2、加载源码后,因为依赖moudle不是源码而是一堆jar,所以导致aosp源码无法正确跳转源码,也就是失去了android studio看源码意义

解决以上两个痛点问题,那就是要对android.iml进行改造。

修改android.iml文件

1、排除一些不需要加载的目录
在这里插入图片描述
这里可以看到其实自带excludeFolder目录很少,其实对于我们来说主要就只需要framework,packages目录既可以,所以这里大家可以自己添加较多的excludeFolder,具体看下面我的iml源码,大家可以参考我的来。

2、源码依赖orderEntry只留下sourceFolder

在这里插入图片描述
可以看到orderEntry其实就是依赖顺序,一大堆的jar等排在sourceFolder前面,所以这个就是跳转不了的根源,这里大家可以把 前面的orderEntry全部删除。

附带改造后的android.iml文件

android 8.1的改造iml文件,主要修改部分如下:
在这里插入图片描述

具体详细iml文件可以直接下载和你原生编译进行对比然后修改,偷懒也可以直接使用我提供的。

文件下载地址:
https://share.weiyun.com/T8UwF3U3 密码:r3hept

导入后观察android studio的Project Structure
在这里插入图片描述
所以跳转如果有问题,也可以通过上面界面进行检查问题。

内存设置

有些同学反馈ide容易自己闪退,我这边建议是内存设置大一点
在这里插入图片描述

总结

1、针对导入后要加载代码很久,卡顿等问题,减少导入的sourceFolder,加大内存
2、针对源码无法跳转问题,就是需要修改依赖,让orderEntry只剩下sourceFolder,不要其他jar

更多framework技术干货,请关注下面“千里马学框架”

安卓源码环境搭建,启动模拟器及单步调试方法 安卓源码下载,编译,导入androidStudio和debug源码; 参考 https://mirror.tuna.tsinghua.edu.cn/help/AOSP/ 电脑环境 ubuntu18.04/16.04/20.04/22.04 + 最低16G内存 安装所需的软件包,参考https://source.android.com/setup/build/initializing 阅读详情

相关推荐

激光可燃气体传感器DIY指南:从TDLAS原理到STM32实战(附代码)

本文详细介绍了如何DIY激光可燃气体传感器,从TDLAS原理到STM32实战,包括硬件选型、光路搭建、电子系统设计和嵌入式软件开发。通过TDLAS技术实现高灵敏度甲烷检测,适合工业安全和环境监测应用。附有完整代码和实用调试技巧,帮助开发者快速掌握光学气体检测技术。

fanta的博客 443

Android studio导入Android源码(AOSP Android 14)

说明:这些设置也可以在Android studio:project structure - project settings - modules - dependencies中修改,速度比较慢,直接编辑.iml文件方便。1)增加excludeFolder列表,排除不需要的源码路径,这样可以加快导入和创建文件索引的速度。说明:也可以通过修改development/tools/idegen/excluded-paths文件,增加排除的路径。删除后,则可以直接跳转到源码文件。

yinminsumeng的博客 9539

计算机视觉:暗通道去雾算法的原理及python实现

在绝大多数非天空的局部区域中,某些像素总会至少有一个颜色通道的值很低。对于一幅图像J(x),其暗通道的数学定义表示如下:其中,Ω(x)表示以x为中心的局部区域,上标c表示RGB三个通道。该公式的意义用代码表达也很简单,首先求出每个像素RGB分量中的最小值,存入一副和原始图像大小相同的灰度图中,然后再对这幅灰度图进行最小值滤波,滤波的半径由窗口大小决定。

weixin_51998427的博客 1万+

AndroidStudio导入Android AOSP源码

android studio查看AOSP源码

知识共享,你我皆是知识的搬运工 2321

跟着团子学SAP CO:基于成本的完工百分比结算:Cost-based POC(以项目为例)

本文以英国及北美会计准则下的基于成本的POC的销售型项目结算对PS模块中的完工百分比进行介绍

Lucas1211的博客 2万+

飞塔CVE-2022-40684复现

admin 无密码直接回车(会提示修改密码)

G3et的博客 1148

Android系统源码_AOSP开发(三)AndroidStudio导入AOSP并开启调试

介绍AndroidStudio如何导入AOSP源码并保证方法可以正常点击跳转

AfinalStone的专栏 3096

华为OD机考双机位C卷 - 朋友圈个数(Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 朋友圈个数(OD上机考试双机位C卷)。提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 695

解决Android Studio开发NDK没有代码提示且点击无法跳转到定义问题

有可能是Android NDK Support插件默认被禁用了。

weixin_46783842的博客 868

STM32F103RCT6的FLASH读写操作

STM32F103RCT6是一款常用的32位微控制器,它具有内置的FLASH存储器,可以用于存储程序代码和数据。在本文中,我们将详细介绍如何进行STM32F103RCT6的FLASH读写操作,并提供相应的源代码。写入数据时,我们通过将数据直接写入FLASH地址来完成。通过使用适当的API和规则,我们可以有效地读取和写入数据。写入FLASH时,我们需要按特定的规则进行编程。首先,我们需要包含适当的头文件和定义相关的宏和变量,以便在代码中使用FLASH API。类型的指针,我们可以直接读取FLASH中的数据。

UplKubernetes的博客 1034

我的GIT练习ONE

Git 是一个分布式版本控制及源代码管理工具;Git 可以为你的项目保存若干快照,以此来对整个项目进行版本管理每一次的练习,都是对自身知识的巩固,以及对自身知识的一个测试。

是个非常热爱生活、乐观、奋斗、努力的逗比青年 8874

AOSP 安卓源码 导入AndroidStudio 跳转,查看源码

AOSP 导入AndroidStudio 跳转,查看系统源码

weixin_53620063的博客 2455

2026华为OD面试题029:勇攀数字高峰

在给定的数字地形图里寻找登山路径,数字代表当前位置的海拔高度。要求从最低海拔出发,不断攀登,最终到达最高山峰。地图保证最低海拔和最高山峰都只有一个。 登山规则: - 路径上的海拔必须严格递增 - 只能向上下左右 4 个方向移动 - 路径必须从最低海拔开始,到最高海拔结束 - 每个地点只能走一次 - 每一步的攀登高度差必须大于 0,且不超过指定值 `K` 输出满足条件的登山路径的数量。

琅嬛福地 123

干货答疑分享记录:as导入问题,LSP含义,分屏进入SplashScreen

正确解答其实在ActivityManagerService类中本身有对这个LSP等进行解释,其实指的是锁的范围。学员疑问在正常情况下Splash窗口都是有Icon的,这里明显没有看到有Icon,只看到一个背景图,这个是为啥?3、学员询问分屏过程中请问到底有没有Splash Screen的画面展示,看到有图层,但是没有看到有Icon。对相关的android.iml进行了相关的修改,把sourceFolder放到最顶部了。正常打开App时候,展示的SplashScreenView的相关打印。

learnframework的博客 1445

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

aospc/c++的native 模块VScode和Clion

本文对比了VSCode和Clion在AOSP框架开发中的使用体验。VSCode适合快速阅读多模块耦合的源码,即开即用但跳转准确性稍逊;Clion依赖CMake项目模型,代码跳转精准且编写提示完善,更适合单一模块的深度开发和代码编写。VSCode适用于多模块源码分析场景,而Clion则更适合对特定模块进行频繁代码修改的开发需求。开发者应根据具体需求选择工具:多模块阅读选VSCode,专注单一模块开发选Clion。

liaosongmao1的专栏 78

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

android studio lldb 源码无法跳转

Android Studio LLDB 源码无法跳转的解析与解决方案 在使用 Android Studio 进行开发时,我们经常会用到 LLDB 调试器。它是一款强大的工具,可以帮助我们在代码运行时检测逻辑错误、监控变量状态等。然而,有时我们会遇到“源码无法跳转”的问题,这意味着我们无法在调试器中直接查看代码,严重影响了调...

weixin_29050271的博客 374

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题

最近合AOSP蓝牙相关patch,涉及apps,framework等多个部分,出现了编译不过的问题,错误看得一头雾水,想起来,可以用Android Studio导入AOSP代码来进行排查,透过AS的语法提示,补全功能,问题很容易就解决了,于是记录一下,分享给大家。

上周的博客 2375

android studio:Intent无法跳转

错误的位置:重新Overrid的onCreate()

m0_63412816的博客 686

Android Studio关联源码总跳转失败?手把手教你配置本地完整源码环境(含JNI/AIDL文件)

本文详细指导如何在Android Studio中配置本地完整源码环境,解决JNI/AIDL文件跳转失败问题。从硬件要求、源码同步到IDE集成,提供全链路解决方案,帮助开发者高效调试Android系统源码,提升开发效率。

weixin_28717431的博客 249

使用Android Studio For Platform阅读&调试AOSP源码

本文我们使用Android官方提供的IDE(Android Studio For Platform)来打开AOSP源码,并进行debug调试,这样可以方便我们跟踪底层代码的调用流程。

写代码的林克 3896

Android Studio 导入frameworks源码

最近发现之前导入到AS中的framework源码各种无法跳转,阅读起来很糟心,之前网上找的的导入方法没有保留,从新找了好几篇文章都是有或多或少的问题,所以打算自己研究完整导入一次并做个记录,后续就不需要再去到处找方法了。平时不积累,用时跑断腿。之前配置的时候没有进行总结,导致后面重新配置的时候走了很多弯路,并且配置了好多次都没法正常跳转,影响代码阅读。此次总结一次,印象深刻,实在不行还算有个记录。这些步骤是我一步步跑下来的,基本没啥问题,AS版本也是最新的。

weixin_40774418的博客 3587

VS Code 打开Android AOSP源码进行Java代码的跳转

新建code-workspace工作区文件针对每个folders,新建.project、.classpath文件需要引用另一个folders的项目,需要在.classpath里加入到src中通过VS code 打开aosp.code-workspace工作区,等待(Language Support for Java™ by Red Hat)插件进行检索工作(可能需要手动打开项目中的一个Java文件,才会自动工作)。

gso的博客 1798

android studio中总是跳转到android.jar,不能跳转到framework的问题

把aosp的系统源码导入到android studio后,接网上很多人的方法:File-->Project Structure-->Project Settings-->Modules-->Dependencies,导入frameworks和external后,把新导入的移 到最顶行,如下图:

605
上一篇: AAOS上桌面CarLauncher车载显示壁纸Wallpaper
下一篇: 安卓WMS层面分析窗口的位置变化-安卓framework实战开发
千里马学框架
博客等级 码龄6年 1万+粉丝 651原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值