Android Studio导入Android源码


Android Studio导入android源码

android源码编译官方指南
清华大学TUNA镜像源

  1. 预备工作
    根据android源码编译官方指南完成在Ubuntu或者Mac上的部署,由于网络原因,需要TUNA提供的初始化包(压缩包大约24G),后续只要执行repo sync同步源码树即可。向导默认初始化的是最新版Android系统的Master分支,如果后续想切换分支的话,只需要介入:
     repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.0.1_r1
    注意:其中android-4.0.1_r1是android版本的编号,具体的编号可以在官网的向导中查询。此外请求的地址已经换成TUNA提供的。
    之后按照官网的步骤完成漫长的编译(未完成编译将无法进行第二步)。
  2. 生成AS的配置文件
    为了能够成功将源码导入到AS中,我们需要先生成AS能识别的工程配置文件,在源码目录依次执行:
     source build/ensetup.sh
     make idegen && development/tools/idegen/idegen.sh
    这里我出现了JDK的报错:
    Error: could not find jdk tools.jar at /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/../lib/tools.jar, please check if your JDK was installed correctly. Stop.
    但在终端中却能够查询到JDK已经安装了。再看错误定位的文件是config.mk的第604行:
     HOST_JDK_TOOLS_JAR:= $(shell $(BUILD_SYSTEM)/find-jdk-tools-jar.sh)
    其中find-jdk-tools-jar.sh应该就是寻找本地JDK中tool.jar的执行脚本,在找到这个文件,发现:

    原来必须在环境变量中指定ANDROID_JAVA_HOME才能顺利执行。
    最后执行完的结果是:

    Read excludes: 4ms
    Traversed tree: 120353ms

  3. 导入Android Studio并完善配置
    这时会在源码的根目录下生成android.ipr,android.iws和android.iml三个文件,其中android.ipr文件就是工程的入口。
    导入之后会出现这个

    先给出Filesystem Case-Sensitivity Mismatch官方说明
    解决方法:在idea.properties中加入
     idea.case.sensitive.fs=true
    初次导入需要建立庞大的索引,预计在半个小时。几个优化和配置点说一下:
    • 修改AS的内存配置,修改studio.vmoptions配置文件中-Xms和-Xmx的值
    • 在Project Structure的Module中设置source的Mark情况,我们可以根据需求Exclude掉不需要的项目,也可以加快后续打开工程的速度,而且我们看源码的重点目录也主要集中在framework里。

    • 这一点感觉无效,而且会搅乱已有的android配置,不建议)设置JDK和SDK,删除Classpath的列表,添加Sourcepath到源码目录,这样可以保证跳转不会进入AS自动反编译的文件中,而是进入真正的源码。
    • 设置modules中的依赖,根据需要删除一些jar包的依赖,并加入源码目录中frameworks和external的依赖。

后续会补充更多坑点和优化点。
参考以下:
使用Android Studio导入源码
如何使用Android Studio开发/调试Android源码
Android Studio导入Android源码
Sublime Text配合CTags阅读Android源码
可参考:Sublime Text2/3怎样在Mac OSX中配置CTags插件
首先下载安装ctags
在Preferences(设置)菜单中打开Package Control(插件管理器),打开菜单后找到install packages,之后搜索CTags回车安装CTags在sublime中的插件,然后在CTags的配置文件中写入其可执行文件的路径即可。这边我导入的是android / platform / frameworks / base目录下的lollipop-release分支,最后通过Rebuild Tags构建代码的索引。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Android Studio导入Android源代码,可以按照以下步骤进行操作: 1. 打开Android Studio 2. 点击菜单栏中的“File”(文件)选项 3. 选择“New”(新建)>“Import Project”(导入项目) 4. 在打开的对话框中,找到你要导入Android源代码文件夹,点击“OK”按钮 5. 等待Android Studio自动导入和构建项目,这可能需要几分钟时间 6. 导入完成后,在Android Studio左侧的“Project”(项目)面板中,你就可以找到和编辑你导入Android源代码 希望能对你有所帮助! ### 回答2: 对于Android开发者来说,学习Android源码是非常必要的,因为Android源码是研究Android架构和原理的必备资料。而在使用Android源码进行开发时,一个比较方便和高效的方式是使用Android Studio进行导入。下面就是具体的步骤: 1. 下载Android源码 首先,需要去Android官网上下载我们需要的Android版本的源码,下载完后将它解压缩到我们想要的路径下。 2. 安装必备工具 为了能够顺利地导入Android源码并开发,需要安装好一些必备工具,如Git、JDK、Python、Ninja等。 3. 设置环境变量 在Windows操作系统下,需要将Git、JDK、Python、Ninja等工具的安装路径添加到系统的环境变量中。 4. 导入Android源码 打开Android Studio,点击File -> New -> Import Project,选择我们下载好的Android源码目录下的build\ide目录下build.gradle文件,然后点击OK。 等待Android Studio加载完整个Android源码后,就可以进行开发了。 总之,使用Android Studio导入Android源码是一个非常简单的过程,只需要按照上述步骤来进行,即可成功导入并进行开发。但需要注意的是,导入Android源码需要花费相当长的时间,因此需要耐心等待。 ### 回答3: Android源码又称为Android Open Source Project(AOSP),是由Google开发并开源的移动操作系统。如果需要在Android Studio中进行开发,可以通过导入AOSP源码来实现。以下是导入Android源码的步骤: 1.获取源码 首先,需要从AOSP官网或其他开发者网站下载Android源码。AOSP官网建议使用Git来下载源码。使用Git获取源码可以避免重复下载已经存在的文件。 2.安装repo 由于AOSP源码过大,单独下载代码仓库比较麻烦,Google推荐使用repo工具管理代码。repo使用Python编写,需要先安装Python和Git才能使用。 执行以下命令安装repo: curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo 3.初始化仓库 在命令行中输入以下命令,初始化代码仓库: mkdir aosp cd aosp repo init -u https://android.googlesource.com/platform/manifest -b android-8.0.0_r4 其中,android-8.0.0_r4代表Android 8.0.0的4号版本,在Android网站上可以查看各个版本的名称和版本号。 4.同步代码 执行以下命令同步代码: repo sync 这个过程可能会比较漫长,因为需要下载大量的文件。 5.导入项目 完成以上步骤后,就可以在Android Studio导入AOSP源码。在Android Studio中,选择File -> Import Project,然后选择AOSP源码所在的根目录即可。等待Android Studio完成导入,就可以开始开发了。 总之,导入Android源码需要多执行几个步骤,但这些步骤都很简单,只需要按照步骤依次完成即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值