android源代码下载、编译、刷机、编译模块push到手机

一、配置环境

1、操作系统:ubuntu12.04 32位,在我的机器上64位配置完编译环境关机再开机无法启动。

2、编译环境,打开终端执行如下命令

Shell代码    收藏代码
  1. sudo apt-get install git gnupg flex bison gperf build-essential \  
  2.   zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \  
  3.   libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dri:i386 \  
  4.   libgl1-mesa-dev g++-multilib mingw32 tofrodos \  
  5.   python-markdown libxml2-utils xsltproc zlib1g-dev:i386  
 

3、jdk,安全起见我们需要使用jdk1.6,下面介绍一种快速安装jdk的方法。

Shell代码    收藏代码
  1. sudo add-apt-repository ppa:webupd8team/java   
  2. sudo apt-get update   
  3. sudo apt-get install oracle-java6-installer  

 

安装完成之后再终端执行

Shell代码    收藏代码
  1. java -version  

 

安装成功的话会提示java版本。

二、android源代码下载

1、下载repo文件

 

Shell代码    收藏代码
  1. mkdir ~/bin  
  2. PATH=~/bin:$PATH  
  3. curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo  
  4. 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、新建工作目录

Shell代码    收藏代码
  1. mkdir WORKING_DIRECTORY  
  2. 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、下载源码

Shell代码    收藏代码
  1. repo sync  

如果中途终段 再次执行 repo sync 就可以了。接下来是漫长的等待过程。

三、源代码编译

1、初始化

Java代码    收藏代码
  1. cd 源代码目录  
  2. source build/envsetup.sh  

 

2、选择lunch

Java代码    收藏代码
  1. lunch  

 执行完lunch命令之后,会弹出很多lunch的方式,根据自己的手机选择适当的方式,直接选择数字即可。

 

3、编译

Java代码    收藏代码
  1. make  

 接下来就是漫长的过程。编译完成之后,源代码根目录多了一个out文件,根据源码不同生成的.img文件的位置也不同,找到你对应源码的img文件所在的位置。

 

四、刷机

1、安装工具

Shell代码    收藏代码
  1. sudo add-apt-repository ppa:nilarimogard/webupd8  
  2. sudo apt-get update  
  3. sudo apt-get install android-tools-adb android-tools-fastboot  

 

2、解锁手机

Java代码    收藏代码
  1. adb reboot bootloader  
  2. sudo fastboot oem unlock  

 如果手机没有解锁,在手机中选择yes,如果手机已经解锁,那么终端会给出相应的提示

 

3、刷入img文件

    执行命令,刷入system.img

Shell代码    收藏代码
  1. sudo fastboot flash system /xx/system.img  

    执行命令,刷入boot.img

Shell代码    收藏代码
  1. sudo fastboot flash boot /xx/boot.img  

    执行命令,刷入userdata.img

Shell代码    收藏代码
  1. sudo fastboot flash userdata userdata.img  

    三条命令执行完成之后重启手机即可,三个img文件科选择性刷入,一般不建议刷boot.img。

 

五、编译模块并push到手机

1、模块的编译

    有时候,我们需要定制自己配套硬件的os,所以我们需要修改部分android源代码。当我们修改完源代码之后,向上搜索android.mk文件,找到离修改文件最近的android.mk文件的目录,执行如下命令

 

Shell代码    收藏代码
  1. source build/envsetup.sh  
  2. lunch xxx  
  3. mmm /x..x/  
 这些命令是在android源代码的根目录执行。模块编译完成之后,终端会提示生成文件在什么目录下。

 

2、挂载手机磁盘,并设置可读写。

    现将手机root,将手机连接到电脑,执行命令

Shell代码    收藏代码
  1. adb root  
  2. adb shell  
  3. mount -o remount,rw /system  
  4. exit  

    现在,我们可以通过命令adb push来读写手机的系统文件夹了。

    cd 到我们编译模块的生成目录执行命令

    

Shell代码    收藏代码
  1. adb push xxx /system/xx/  

    执行

    

Shell代码    收藏代码
  1. adb shell reboot 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值