技术标签: android源码 android studio jar Android
最近在折腾面试,然后就有些组件的原理需要看源码,之前也弄过,都是用的Source Insight在win10里面搞的,今天试了一下Mac,源码60G,我这个版本是Android 11,目前是最新版的代码。
用AS看源码首先要构建项目配置文件,就是ipr和iml工具,用到Android源码里面的idegen工具,但是你用官方的mmm命令方法会报错,说文件格式不对,本来是可以用mmm命令直接生成的,但是Mac的文件系统跟官方要求的有问题,所以就放弃了,有想试试的同学可以执行下面的命令。
cd ~/aosp //具体的源码根目录
source build/envsetup.sh //用于初始化环境变量
mmm development/tools/idegen/ //生成文件out/host/linux-x86/framework/idegen.jar
./development/tools/idegen/idegen.sh//源码根目录生成文件android.ipr(工程相关设置), android.iml(模块相关配置)
反正我这条路没走通,用的野路子。
首先把目录切到development/tools/idegen/src下面,这样比较方便。
1、编译idegen的源码,把java文件编译成class文件
javac *.java //aosp/development/tools/idegen/src
2、打包所有的class文件到可执行的jar文件中
jar cvfe idegen.jar Main *.class
3、把idegen.jar文件移动到android源码根目录
/aosp/idegen.jar
4、运行idegen.jar
java -jar idegen.jar
5、等待完成,成功后如下
Read excludes: 9ms
Traversed tree: 149984ms
6、在android源码跟目录检查android.iml和android.ipr文件
/aosp/android.iml
/aosp/android.ipr
7、用Android Studio打开ipr文件,等待AS构建索引文件,时间较慢
由于目录比较大,我的AS还在运行,等运行完成,我再来更新一下文章,看看整个过程需要多久,还有遇到的问题。
文章浏览阅读7.1w次,点赞119次,收藏312次。一、使用Zotero如何查找合适的引用和参考文献格式?通过下面这个网站可以找到合适的格式https://editor.citationstyles.org/about/假如你有一份参考文献格式要求,可以通过search by example(红色箭头位置)查找格式的名称。例如:在左边区域选择文献的类型(箭头位置)。文献的类型分为以下几种:论文(thesis)、专著章节或文集(chapter)、杂志论文(article-journal)、报道(report)、著作(book)、网络(webpa_zotero csl
文章浏览阅读2.7k次。最近在使用Python做仿真实验,没想到搞得我心力憔悴,那叫一个头大啊!错误无限循环,bug“永无止境”,很想…(此处省略一万字)。好了,不给大家叨唠传递负能量了,直接上干货。问题描述:大家在对Python的学习中或者使用中..._python字典删除元素 del keyerror
文章浏览阅读171次。目标Eureka集群搭建Eureka自我保护机制Eureka集群搭建高可用集群配置当注册中心扛不住高并发的时候,这时候 要用集群来扛;普通操作新建两个简单的springboot模块module microservice-eureka-server-2002 microservice-eureka-server-20031、pom.xml 把依赖加下:<dependenci..._eureka集群搭建
文章浏览阅读866次,点赞19次,收藏23次。1.背景介绍语言翻译是自然语言处理领域的一个重要任务,它涉及将一种语言中的文本翻译成另一种语言。随着大数据时代的到来,语言翻译技术的发展得到了重要的推动。随着深度学习技术的发展,语言翻译技术也从传统的统计模型逐渐转向深度学习模型。在2018年,Google发布了BERT(Bidirectional Encoder Representations fr_bert是否适合用于翻译问题
文章浏览阅读3.4k次。《JSON数据结构》 版本 作者 参与者 完成日期 备注 Data_JSON_V01_1.0 严立钻 2018.08.24 ..._jsonmapper.toobject获取的信息是什么类型
文章浏览阅读1.4k次。The Blocks ProblemTime Limit: 1000 MS Memory Limit: 10000 KB64-bit integer IO format: %I64d , %I64u Java class name: Main[Submit] [Status] [Discuss]DescriptionMany areas of Computer _poj1208
文章浏览阅读435次。1 firewalld 防火墙简介1.1 firewalld 和 iptables 的关系1.2 firewalld 和 iptables 的区别1.3 firewalld 区域的概念1.3.1 firewalld 防火墙预定义了9个区域1.3.2 firewalld 网路区域1.3.3 firewalld 数据处理流程2 firewalld 防火墙的配置方法2.1 firewalld 服务管理2.2 区域管理2.3 服务管理2.4 端口管理补充 firewalld 设置 SNAT_firewalld清除所有规则
文章浏览阅读1.2k次,点赞34次,收藏19次。通过将多个模型进行组合或集成,可以充分利用各个模型的优点,提高整体模型的适应性。例如,使用集成学习方法(如随机森林、梯度提升等)可以将多个弱模型组合成一个强模型,从而提高模型的预测精度和稳定性。_wikichat模型
文章浏览阅读1.7k次。DOS常用命令要想操作使用DOS,知道一些常用命令是非常重要的。以下是一些命令的用法。文件名是由文件路径和文件名称合起来的,如C:/DOS/COMMAND.COM。DIR 显示文件和文件夹(目录)用法:DIR [文件名] [选项]它有很多选项,如/A表示显示所有文件(即包括带隐含和系统属性的文件),/S表示也显示子文件夹中的文件,/P表示分屏显示,/B表示只显示文件名,等等。如_dos 下 edit 下载
文章浏览阅读3.3k次。HBASE只是添加了一句话,运行就出现如下错误Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.0.0:exec (default-cli) on project HelloSpring: Command execution failed.解决:在pom.xml中添加 <build> <pluginManagement><!-- lock down plugins version_failed to exectue goal org.codehaus.mojo
文章浏览阅读1.6w次,点赞16次,收藏57次。原文:http://blog.csdn.net/hguisu/article/details/86808081. HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输_http基本原理
文章浏览阅读457次。Setting data field "openId" to undefined is invalid_setting data field "openid" to undefined is invalid.