一、配置环境
1、操作系统:ubuntu12.04 32位,在我的机器上64位配置完编译环境关机再开机无法启动。
2、编译环境,打开终端执行如下命令
sudo apt-get install git gnupg flex bison gperf build-essential \ zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dri:i386 \ libgl1-mesa-dev g++-multilib mingw32 tofrodos \ python-markdown libxml2-utils xsltproc zlib1g-dev:i386
3、jdk,安全起见我们需要使用jdk1.6,下面介绍一种快速安装jdk的方法。
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java6-installer
安装完成之后再终端执行
java -version
安装成功的话会提示java版本。
二、android源代码下载
1、下载repo文件
mkdir ~/bin PATH=~/bin:$PATH curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo
上面是google官方提供的repo,但是用上面的方发基本没法下载下来repo文件,所以我们可以在浏览器直接访问https://storage.googleapis.com/git-repo-downloads/repo 下载下来的repo文件直接mv到~/bin即可。
2、下载android源代码。
由于种种原因,我们从google下载android源代码几乎变为不可能,所以我们采取从国内镜像下载android源代码,下面介绍从国内镜像下载源代码的方法。
1、新建工作目录
mkdir WORKING_DIRECTORY cd WORKING_DIRECTORY
2、修改repo
google的地址
REPO_URL = 'https://gerrit.googlesource.com/git-repo'
改为清华大学的地址
REPO_URL = 'git://aosp.tuna.tsinghua.edu.cn/android/git-repo'
3、下载 manifest
改为清华大学的地址
repo init -u https://android.googlesource.com/platform/manifest
改为清华大学的地址
repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest
4、下载源码
repo sync
如果中途终段 再次执行 repo sync 就可以了。接下来是漫长的等待过程。
三、源代码编译
1、初始化
cd 源代码目录 source build/envsetup.sh
2、选择lunch
lunch
执行完lunch命令之后,会弹出很多lunch的方式,根据自己的手机选择适当的方式,直接选择数字即可。
3、编译
make
接下来就是漫长的过程。编译完成之后,源代码根目录多了一个out文件,根据源码不同生成的.img文件的位置也不同,找到你对应源码的img文件所在的位置。
四、刷机
1、安装工具
sudo add-apt-repository ppa:nilarimogard/webupd8 sudo apt-get update sudo apt-get install android-tools-adb android-tools-fastboot
2、解锁手机
adb reboot bootloader sudo fastboot oem unlock
如果手机没有解锁,在手机中选择yes,如果手机已经解锁,那么终端会给出相应的提示
3、刷入img文件
执行命令,刷入system.img
sudo fastboot flash system /xx/system.img
执行命令,刷入boot.img
sudo fastboot flash boot /xx/boot.img
执行命令,刷入userdata.img
sudo fastboot flash userdata userdata.img
三条命令执行完成之后重启手机即可,三个img文件科选择性刷入,一般不建议刷boot.img。
五、编译模块并push到手机
1、模块的编译
有时候,我们需要定制自己配套硬件的os,所以我们需要修改部分android源代码。当我们修改完源代码之后,向上搜索android.mk文件,找到离修改文件最近的android.mk文件的目录,执行如下命令
source build/envsetup.sh lunch xxx mmm /x..x/这些命令是在android源代码的根目录执行。模块编译完成之后,终端会提示生成文件在什么目录下。
相关推荐
如何单独编译Android源代码中的模块
Android编译过程详解
Android APK源代码反编译工具包,反编译的过程可以在网上找到,后面补充一个反编译教程
ubuntu 安装,android4源代码下载编译全过程
介绍android源码下载方法步骤、编译过程、编译后运行的方法。
Android源代码开发环境与SDK开发环境相比,优势是可以查看和调试系统源代码,包括Java代码和C/C++代码。这对应用开发也是非常有用的,因为...这个PPT主要讲Android源代码下载、编译和运行,以及C/C++、Java代码的调试。
android源代码的编译与环境,很适合初级android程序员
mac下编译android源代码
本文主要讲解单独编译Android 源代码中的模块,这里对Android源码单独编译模块,做出了详细的步骤,希望能帮助研究Android 源代码的朋友
JAVA源代码反编译超级引挚 v1 JAVA源代码反编译超级引挚 v1 JAVA源代码反编译超级引挚 v1
易语言 模块 反编译 源代码
高级篇内容包含:Android源代码编译,系统编译,模块编译,Android源代码Java代码调试,Android源代码Native代码调试。演讲中也将穿插一些实践案例进行分析。 讲师介绍:胡继堂,原微软亚洲工程院软件开发工程师,...
1.3.2 编译Android源代码 1.3.3 运行Android模拟器 1.4 下载、编译和运行Android内核源代码 1.4.1 下载Android内核源代码 1.4.2 编译Android内核源代码 1.4.3 运行Android模拟器 1.5 开发第一个Android...
Java源代码反编译专家,可以方便你们学习,使用
JAVA源代码反编译超级引擎
Android Launcher源码下载,PagedView,PagedViewIcon
webrtc_android源代码获取以及编译, 如建立webrtc编译环境,下载代码以及编译和简单的运行。
.Net Core - 源代码动态编译
Android编译独立源代码
小颖Java源代码反编译专家,可以对整个文件夹下的class文件一起反编译,挺好用的呵呵