`

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

 
阅读更多

一、配置环境

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源代码的根目录执行。模块编译完成之后,终端会提示生成文件在什么目录下。

 

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

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

adb root
adb shell
mount -o remount,rw /system
exit

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

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

    

adb push xxx /system/xx/

    执行

    

adb shell reboot

   查看效果。

分享到:
评论

相关推荐

    如何单独编译Android源代码中的模块

    在 Android 源代码工程中,单独编译某个模块是一件很有必要的事情。尤其是在我们修改了某个模块或新增了自己的模块时,重新编译整个 Android 系统镜像 system.img 是非常耗时的。这时,我们可以使用 Android 提供的...

    编译Android源码全过程

    在开始编译Android源码之前,首先需要确保获取完整的Android源代码。这一部分将详细介绍如何使用Git和Repo脚本完成这一任务。 ##### Git简介 Git是一种分布式版本控制系统,由Linux之父Linus Torvalds开发,旨在更...

    webrtc_android源代码获取以及编译

    * 不支持在Windows或Mac系统上编译Android客户端。 二、Ubuntu编译环境建立 为建立编译环境,我们需要安装 Depot Tools。Depot Tools是Chromium项目的编译工具,用于管理和编译源代码。 首先,我们需要安装 Depot...

    单独编译Android 源代码中的模块实现方法

    总结一下,单独编译Android源代码中的模块主要涉及以下步骤: 1. 执行`build`目录下的`envsetup.sh`脚本。 2. 使用`mmm`命令编译特定模块,如`mmm packages/apps/Email/`。 3. 通过`make snod`命令打包`system.img`...

    Android反编译代码与真实源代码对比

    通过对反编译代码与真实源代码对比,我们可以更好地理解 Android 应用程序的实现机制,并学习到更多的编程技巧。 在上述代码中,我们可以看到一个列表视图的拖动和滑动事件处理的实现。列表视图在 Android 中是一个...

    ubuntu 安装,android4源代码下载编译全过程

    ubuntu 安装,android4源代码下载编译全过程

    Android源代码开发和调试环境搭建完整版PPT

    Android源代码开发环境与SDK开发环境相比,优势是可以查看和调试系统源代码,包括Java代码和C/C++代码。这对应用开发也是非常有用的,因为...这个PPT主要讲Android源代码下载、编译和运行,以及C/C++、Java代码的调试。

    android源代码编译与环境

    首先,要编译Android源代码,开发者需要从Android源码官方网站获取源码。具体下载步骤如下:首先,在本地建立一个用于存放Android源码的目录,然后初始化并下载master分支的源码。这可以通过执行一系列的git命令完成...

    mac下编译android源代码.md

    总结来说,在 Mac 上编译 Android 源代码涉及到多个步骤,包括创建大小写敏感的磁盘分区、配置 repo 环境、下载源代码、初始化编译环境等。需要注意的是,这个过程对硬件资源的需求较高,尤其是磁盘空间和网络带宽。...

    android aapt-v24 源代码工程编译

    《深入解析:Android AAPT v24 源代码工程编译》 在Android开发领域,AAPT(Android Asset Packaging Tool)是不可或缺的一部分,它负责处理应用资源的编译、打包以及符号化工作。本文将重点讲解如何在Windows 7 64...

    Android编译独立源代码

    ### Android编译独立源代码知识点解析 ...通过以上步骤,我们可以有效地编译Android的独立源代码,并将它们集成到完整的系统镜像中进行测试。这对于深入了解Android系统的工作原理、进行定制化开发等工作都非常重要。

    《Android系统源代码情景分析》

    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...

    librtmp源代码+编译脚本+静态库.zip

    本文将详细探讨librtmp的源代码结构、关键功能及如何在Android平台上编译和使用librtmp库。 一、librtmp源代码结构与关键组件 librtmp的源代码主要包含以下几个部分: 1. `RTMP`模块:这是librtmp的核心,负责...

    易语言模块反编译为源码工具

    反编译他人的软件模块可能会涉及到版权侵犯,除非你拥有模块的源代码或者已经得到了版权所有者的许可。在进行反编译操作时,应尊重并遵守软件的授权协议,以免引发法律纠纷。 此外,这个工具特别指出即使模块带有...

    Android反编译代码与真实源代码对比(3)

    在深入探讨《Android反编译代码与真实源代码对比(3)》这一主题时,我们首先需要理解何为“反编译”以及它在Android开发中的应用与意义。反编译,简而言之,就是将编译后的二进制代码(如.class文件或.dex文件)转换...

    如何单独编译Android源码中的模块

    Android 源码单独编译模块是指在 Android 源代码工程中编译指定的模块,而不需要重新编译整个 Android 系统。这种方法可以节省大量的时间和资源,因为编译整个 Android 系统需要漫长的等待时间。 在 Android 源代码...

    Android内核源代码交叉编译[归类].pdf

    在Android系统开发中,了解如何交叉编译内核源代码是一项关键技能。本文将详细讲解在Ubuntu 10.10环境下,如何进行Android内核源代码的交叉编译过程。 首先,为了进行Android内核的模拟器开发,需要安装Android SDK...

    反编译工具dnSpy 源代码

    1. **反编译**:dnSpy内置了IL到C#的反编译器,可以将.NET程序集的IL代码转换为可读的源代码形式。这使得开发人员能够查看并理解原本无法访问的源代码。 2. **调试器**:dnSpy具备调试功能,可以在源代码级别设置...

    ubuntu12.04编译android4.1.1_r6源代码步骤定义.pdf

    在本文中,我们将详细探讨如何在Ubuntu 12.04上编译Android 4.1.1_r6源代码。这个过程对于开发者来说非常重要,因为它允许他们自定义和优化Android系统,创建特定功能的定制ROM或者进行底层系统调试。 首先,确保你...

Global site tag (gtag.js) - Google Analytics