Android Studio 导入源码

栏目: 编程工具 · Android · 发布时间: 7年前

内容简介:有了 AOSP 源码,接下来就是如何看了,可以直接文本看,可以用 Source Insight,我当然选择 Android Studio,Android Studio 是我熟悉且十分强大的工具,问题来了,如何将 AOSP 源码导入 Android Studio?虚拟机新装的 Ubutun 一开始是没有 Java 的,需要先安装,输入命令输入以上命令进行安装,然后整编(关于整编和单编下节细讲)代码又报错:

有了 AOSP 源码,接下来就是如何看了,可以直接文本看,可以用 Source Insight,我当然选择 Android Studio,Android Studio 是我熟悉且十分强大的工具,问题来了,如何将 AOSP 源码导入 Android Studio?

安装 Java

虚拟机新装的 Ubutun 一开始是没有 Java 的,需要先安装,输入命令 java ,报以下错误:

Command 'java' not found, but can be installed with:

sudo apt install default-jre
sudo apt install openjdk-11-jre-headless
sudo apt install openjdk-8-jre-headless

输入以上命令进行安装,然后整编(关于整编和单编下节细讲)代码又报错:

Your version is: openjdk version "10.0.1" 2018-04-17 OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1) OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode).
The required version is: "1.8.x"

提示 Java 版本只能是 1.8.x,需要指定 Java 版本:

sudo update-alternatives --config java

输出:

有 2 个候选项可用于替换 java (提供 /usr/bin/java)。

选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 自动模式
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 手动模式
2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 手动模式

要维持当前值[*]请按<回车键>,或者键入选择的编号:2

拓展

JDK 也有门派之分的,那就是 Open JDK 和 Oacle JDK,其实我刚开编译时,用的是 Oracle JDK,整编报错:

You asked for an OpenJDK based build but your version is
java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode).

idegen.jar

在 Ubuntu 系统下,进入源码根目录,运行如下命令:

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

报错:

Command 'make' not found, but can be installed with:

sudo apt install make
sudo apt install make-guile

命令安装 make 成功后,再次运行 mmm development/tools/idegen/ ,会在源码目录下的 out/host/linux-x86/framework 目录下生成了 idegen.jar 文件。

如果命令 mmm development/tools/idegen/ 一直报错,可以尝试一下命令 make idegen 依赖编译下。

android.iml 和 android.ipr

在源码目录下继续执行如下命令:

development/tools/idegen/idegen.sh

会在根目录下生成

android.iml 和 android.ipr 这两个文件,这两个文件是 Android Studio 的工程配置文件,这时候其实已经可以直接导入 Android Studio,但会导入所有的源码模块,会很慢,可以进行过滤,除了 frameworks 模块和 packages 模块,其他都给过滤掉,不导入 Android Studio,打开 android.iml 文件,搜下 excludeFolder ,在后面加入如下代码:

<excludeFolderurl="file://$MODULE_DIR$/art"/>
<excludeFolderurl="file://$MODULE_DIR$/bionic"/>
<excludeFolderurl="file://$MODULE_DIR$/bootable"/>
<excludeFolderurl="file://$MODULE_DIR$/build"/>
<excludeFolderurl="file://$MODULE_DIR$/cts"/>
<excludeFolderurl="file://$MODULE_DIR$/dalvik"/>
<excludeFolderurl="file://$MODULE_DIR$/developers"/>
<excludeFolderurl="file://$MODULE_DIR$/development"/>
<excludeFolderurl="file://$MODULE_DIR$/device"/>
<excludeFolderurl="file://$MODULE_DIR$/docs"/>
<excludeFolderurl="file://$MODULE_DIR$/external"/>
<excludeFolderurl="file://$MODULE_DIR$/hardware"/>
<excludeFolderurl="file://$MODULE_DIR$/kernel"/>
<excludeFolderurl="file://$MODULE_DIR$/libcore"/>
<excludeFolderurl="file://$MODULE_DIR$/libnativehelper"/>
<excludeFolderurl="file://$MODULE_DIR$/out"/>
<excludeFolderurl="file://$MODULE_DIR$/pdk"/>
<excludeFolderurl="file://$MODULE_DIR$/platform_testing"/>
<excludeFolderurl="file://$MODULE_DIR$/prebuilts"/>
<excludeFolderurl="file://$MODULE_DIR$/sdk"/>
<excludeFolderurl="file://$MODULE_DIR$/system"/>
<excludeFolderurl="file://$MODULE_DIR$/test"/>
<excludeFolderurl="file://$MODULE_DIR$/toolchain"/>
<excludeFolderurl="file://$MODULE_DIR$/tools"/>
<excludeFolderurl="file://$MODULE_DIR$/.repo"/>

导入 Android Studio

我把 Android 源码拷到我的 Mac 上,打开 Android Studio,选择 Open an existing Android Studio project,找到源码目录,点击 Android.ipr,Open,大约等 6 分钟,导入完毕, Enjoy coding

问题

发现 Android Studio 不停 scanning files to index,我的强迫症又犯了,解决:

1 invalidate and restart 不起作用;

2 右击项目 –> Open module setting –> Modules –> 找到 gen 文件夹 –> 右键选择 Resources,终于告别烦人的 scanning files to index。

我的微信公众号:吴小龙同学,欢迎关注交流~

以上所述就是小编给大家介绍的《Android Studio 导入源码》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Computers and Intractability

Computers and Intractability

M R Garey、D S Johnson / W. H. Freeman / 1979-4-26 / GBP 53.99

This book's introduction features a humorous story of a man with a line of people behind him, who explains to his boss, "I can't find an efficient algorithm, but neither can all these famous people." ......一起来看看 《Computers and Intractability》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

MD5 加密
MD5 加密

MD5 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具