Android源码导入AndroidStudio或IntelliJ IDEA的方法

目录
  • 一、前言
  • 二、idegen使用方法
    • 1. 全编AOSP
    • 2. 编译生成idegen.jar
    • 3. 生成IDE配置文件
    • 4. 将工程导入到IDE

一、前言

经常和Android系统源代码(AOSP)打交道的人,如果要去修改系统源码,显然用SourceInsight、Notepad++、vim这些工具有些麻烦,并且想快速补全代码也做不到。
我们可以用idegen来生成针对AndroidStudio或IntelliJ IDEA的Android系统源代码工程配置文件,它位于Android系统源代码工程目录的下列位置:

development/tools/idegen
├── Android.bp
├── excluded-paths
├── idegen.iml
├── idegen.ipr
├── idegen.sh
├── index-gen.sh
├── intellij-gen.sh
├── README
├── src
│   ├── com
│   │   └── android
│   │       └── idegen
│   │           ├── DirectorySearch.java
│   │           ├── FrameworkModule.java
│   │           ├── IntellijProject.java
│   │           ├── MakeFileParser.java
│   │           ├── ModuleCache.java
│   │           ├── ModuleIndexes.java
│   │           └── Module.java
│   ├── Configuration.java
│   ├── Eclipse.java
│   ├── Excludes.java
│   ├── Files.java
│   ├── IntelliJ.java
│   ├── Log.java
│   ├── Main.java
│   └── Stopwatch.java
└── templates
    ├── android.iml
    ├── android.ipr
    ├── idea
    │   ├── compiler.xml
    │   ├── copyright
    │   │   ├── Apache_2.xml
    │   │   └── profiles_settings.xml
    │   ├── misc.xml
    │   ├── modules.xml
    │   └── vcs.xml
    └── module-template.iml

7 directories, 32 files

二、idegen使用方法

我们以Android10.0.0_r2为例。

1. 全编AOSP

下载完源码后,首先要编译一遍源码。
在AOSP源码根目录执行下面的命令:

source build/envsetup.sh
lunch aosp_arm-eng
make -j32

注意:源码下载请参照《AOSP源码下载》

2. 编译生成idegen.jar

在AOSP源码根目录执行下面的命令:

mmma development/tools/idegen/

编译完成后,将会生成idegen.jar文件,文件的具体位置:out/host/linux-x86/framework/idegen.jar

3. 生成IDE配置文件

在AOSP源码根目录执行下面的命令:

source development/tools/idegen/idegen.sh

脚本执行完成后,编译目录下会生成三个文件,编译目录如下:

Android_10_0_0_r2
├── Android.bp -> build/soong/root.bp
├── android.iml
├── android.ipr
├── art
├── bionic
├── bootable
├── bootstrap.bash -> build/soong/bootstrap.bash
├── build
├── .classpath
├── cts
├── dalvik
├── developers
├── development
├── device
├── external
├── frameworks
├── hardware
├── kernel
├── libcore
├── libnativehelper
├── Makefile
├── out
├── packages
├── pdk
├── platform_testing
├── prebuilts
├── sdk
├── system
├── test
├── toolchain
└── tools

25 directories, 6 file

其中:

# 用于AndroidStudio或IntelliJ IDEA的项目配置文件
android.ipr
android.iml

# 用于Eclipse的项目配置文件
.classpath

4. 将工程导入到IDE

如果使用AndroidStudio或IntelliJ IDEA,选择刚才生成的android.ipr文件即可。

整个导入的时间根据电脑性能的差异而不同。

到此这篇关于Android源码导入AndroidStudio或IntelliJ IDEA的文章就介绍到这了,更多相关Android源码导入AndroidStudio内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Eclipse开发环境导入android sdk的sample中的源码

    初学Android编程,Android SDK中提供的Sample代码自然是最好的学习材料. Sample代码在SDK安装目录(X:\Android\android-sdk\samples)下.但我在用Eclipse 开发环境导入的时候遇到了一些麻烦.网上看到有人是通过"File -> Import..."或"File -> New->Project -> Create Project From Existing Code"解决的,但我试过,

  • 关于androidstuio导入系统源码的问题

    最近公司需要做一些将系统源码导出来,然后加入一些功能,在导入androidstudio过程中遇到过一些问题,这里记录下,方便以后需要. 一般导入成功的都是系统比较相对独立的app,比如计算器.Schedule power on off等,网上查阅一些资料后,最终解决. 这里以Schedule power on off为例. 1.导出Schedule power on off源码,路径为/package/apps/ 如图: 新建androidstudio项目,导入相关代码以及相关资源文件,rebu

  • Android源码导入Eclipse步骤详解

    我们找到一个android的源码之后 想要修改如果一个一个文件导入会非常的麻烦.我们就可以批量的把android源码导入到eclipse里面.今天我来交给大家 首先我们先打开我们的 eclipse开发工具.过程中会出现一个让你选择开发空间的一个选项  我们直接OK 就可以了. 进入到我们的 主页面了.我们选择左上角的  文件----导入.如下图所示 进入下一个页面之后.我们选择 导入的是 android文件.所以我们选择  下面红色方框里面的东西.点击   下一步 这里就是该你选择 你的源码的 

  • Android源码导入AndroidStudio或IntelliJ IDEA的方法

    目录 一.前言 二.idegen使用方法 1. 全编AOSP 2. 编译生成idegen.jar 3. 生成IDE配置文件 4. 将工程导入到IDE 一.前言 经常和Android系统源代码(AOSP)打交道的人,如果要去修改系统源码,显然用SourceInsight.Notepad++.vim这些工具有些麻烦,并且想快速补全代码也做不到.我们可以用idegen来生成针对AndroidStudio或IntelliJ IDEA的Android系统源代码工程配置文件,它位于Android系统源代码工

  • Android 源码如何编译调试

    android提供的工具链和开发工具比较完善,因此它的开发环境的搭建比较简单,相信许多朋友都已经搭建好环境,并编写了HelloActivity入门程序了.这里先看几个问题: 1.android的文件系统结构是怎样的,我们安装的程序放在那里? 编译android源码之后,在out/target/product/generic一些文件: ramdisk.img.system.img.userdata.img. system. data.root 其中, system.img是由 system打包压缩

  • Android源码学习之工厂方法模式应用及优势介绍

    工厂方法模式定义: Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses. 定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到其子类. 常用的工厂方法模式结构: 如上图所示(截取自<Head Firs

  • 从Android源码剖析Intent查询匹配的实现

    前言     这篇文章主要是介绍一下Android Intent,并且从Android源码的角度对Intent查询匹配过程进行分析. Intent介绍     Intent的中文是"意图"的意思,而意图是一个非常抽象的概念,那么在Android的编码设计中,如何实例化意图呢?因此Android系统明确指定一个Intent可由两方面属性来衡量. 主要属性:包括Action和Data.其中Action用于表示该Intent所表达的动作意图,Data用于表示该Action所操作的数据.   

  • Windows下获取Android 源码方法的详解

    前言:略!获取源码的原因千千万~~~ 1.安装GIT工具.GIT是林纳斯·托瓦兹大神为了管理器Linux内核开发而创立的分布式版本控制软件.下载地址:http://code.google.com/p/msysgit/一路next将安装进行到底. 2.在磁盘剩余空间较大的磁盘下新建一个文件夹,用于存放源码.我在F盘下:新建了androidsourcecode文件夹. 3.访问Android源码网站,获取你所需要的源码"下载链接".网站地址:http://android.git.kerne

  • Ubuntu Android源码以及内核下载与编译

    本教程是基于Ubuntu下Android6.0.1源码以及内核的下载和编译,记录一下,以后也就不用自己去找资料,一遍一遍的尝试了.可以翻墙的,英语好的,直接去AndroidSource. 系统环境:Ubuntu14.04LTS Android版本:6.0.1 重要网址 清华大学镜像 AndroidSource 下载前的准备 安装OpenJdk sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get in

  • Android源码学习之组合模式定义及应用

    组合模式定义: Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly. 将对象组合成树形结构以表示"部分-整体"的层次结构,使得用户对单个对象和组合对象的使用具有一致性. 如上图所示(截取自<Head First De

  • Android源码学习之观察者模式应用及优点介绍

    观察者模式定义: Define a one-to-many dependency between objects so that when one object changes state, all its dependents aer notified and updated automatically. 定义对象间一种一对多的依赖关系,使得当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新.  如上图所示(截取自<Head First Design Patterns>一书),

  • Android源码学习之单例模式应用及优点介绍

    单例模式定义: Ensure a class has only one instance, and provide a global point of access to it. 动态确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 如上图所示(截取自<Head First Design Patterns>一书). 通过使用private的构造函数确保了在一个应用中产生一个实例,并且是自行实例化(在Singleton中自己使用new Singleton()). 具体单例模式有

随机推荐