编译android-4.3.1_r源码并刷到自己的Galaxy Nexus I9250真机上

编译android-4.3.1_r源码并刷到自己的Galaxy Nexus I9250真机上

作者:雨水  日期:2014-04-30

编译源代码的目的还是为了自己修改源代码,然后还能够运行在相应的手机上,只有这样才有意义.  我手上有一部三星的Galaxy Nexus I9250, 代号为maguro。但是在目前google的官方未提供针对android4.4.2版本所对应的硬件驱动,最新只提供到Android4.3,具体可以在https://developers.google.com/android/nexus/drivers这里查看。

我在网上看有基于4.4源代码+4.3驱动编译成功并能运行的,但我尝试了,很多错误到目前为止还没解决,因此先尝试了4.3的源码+4.3的驱动。下面就是整个过程:

注:关于编译环境设置等细节参考我的前一篇<基于Ubuntu
14.04 LTS编译Android4.4.2源代码
>.

第一步:获取android-4.3.1_r1的源码

$mkdir android-4.3.1_r1
$cd android-4.3.1_r1
$repo init -u https://android.googlesource.com/platform/manifest -b android-4.3.1_r1
$repo sync

第二步:编译android-4.3.1_r1的源码

[email protected]:~/devenv/android-4.3.1_r1$ . build/envsetup.sh
including device/asus/deb/vendorsetup.sh
including device/asus/flo/vendorsetup.sh
including device/asus/tilapia/vendorsetup.sh
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/mips/vendorsetup.sh
including device/generic/x86/vendorsetup.sh
including device/lge/mako/vendorsetup.sh
including device/samsung/maguro/vendorsetup.sh
including device/samsung/manta/vendorsetup.sh
including device/samsung_slsi/arndale/vendorsetup.sh
including device/samsung/toroplus/vendorsetup.sh
including device/samsung/toro/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including sdk/bash_completion/adb.bash
[email protected]:~/devenv/android-4.3.1_r1$ lunch
You‘re building on Linux
Lunch menu... pick a combo:
     1. aosp_arm-eng
     2. aosp_x86-eng
     3. aosp_mips-eng
     4. vbox_x86-eng
     5. aosp_deb-userdebug
     6. aosp_flo-userdebug
     7. full_tilapia-userdebug
     8. mini_armv7a_neon-userdebug
     9. mini_mips-userdebug
     10. mini_x86-userdebug
     11. full_mako-userdebug
     12. full_maguro-userdebug
     13. full_manta-userdebug
     14. full_arndale-userdebug
     15. full_toroplus-userdebug
     16. full_toro-userdebug
     17. full_panda-userdebug
Which would you like? [aosp_arm-eng] 12
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.3.1
TARGET_PRODUCT=full_maguro
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a9
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty
HOST_BUILD_TYPE=release
BUILD_ID=JLS36I
OUT_DIR=out
============================================
[email protected]:~/devenv/android-4.3.1_r1$ make -j4

注:如果这一步直接刷机,会出现提示flash成功,但是重启之后出现google的logo之后就黑屏,无法启动。原因就是因为驱动没有加进来,必须完成第三步之后再开始刷机。

第三步:下载i9250(maguro)的官方驱动并重新编译

(1) 下载驱动:进入https://developers.google.com/android/nexus/drivers#magurojwr66y,将Wi-Fi等6个驱动一次下载下来,然后解压,会生成6个.sh文件。将这些文件放入源代码的根目录即可。

(2) 执行.sh文件提取驱动程序: 通过执行"chmod +x *.sh"为它们增加可执行权限,然后依次执行这6个sh文件,每个文件会让你输入"I ACCEPT"来接受协议。接受之后会将提取后的驱动放入名为vendor的目录中。此时,vendor目录应该位于源代码的根目录之下,即android-4.3.1_r1之下。

然后再次依次执行如下命令重新编译,本次编译时间会比较端。

$. build/envsetup.sh
$lunch 12
$make -j4

第四步 将编译好的img刷到i9250手机上

(1) 修改~/.bashrc中的环境变量ANDROID_PRODUCT_OUT为:

export ANDROID_PRODUCT_OUT=/home/dennis/devenv/android-4.3.1_r1/out/target/product/maguro

(2) 重新进入命令行,然后开始刷机

$ adb reboot bootloader
$ fastboot flashall -w

刷好之后,系统会自动重启,如果没什么其他问题,你可以看到你的劳动成果了!

作者:雨水 转载请注明出处:http://blog.csdn.net/gobitan/article/details/24792589

参考资料:

1.  http://blog.csdn.net/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS编译Android4.4.2源代码

2.  http://blog.csdn.net/zjmdp/article/details/7737802 Android 4.1 (Jelly Bean) 源码编译过程总结

时间: 2024-10-29 19:11:30

编译android-4.3.1_r源码并刷到自己的Galaxy Nexus I9250真机上的相关文章

编译android-4.3.1_r源代码并刷到自己的Galaxy Nexus I9250真机上

编译android-4.3.1_r源代码并刷到自己的Galaxy Nexus I9250真机上 作者:雨水  日期:2014-04-30 编译源码的目的还是为了自己改动源码,然后还可以执行在相应的手机上,仅仅有这样才有意义.  我手上有一部三星的Galaxy Nexus I9250, 代号为maguro.可是在眼下google的官方未提供针对android4.4.2版本号所相应的硬件驱动,最新仅仅提供到Android4.3,详细可以在https://developers.google.com/a

编译Android 4.4.2源码

在之前的文章中,和大家分享了在天朝下下载android 4.4.2源码的过程(详见下载android4.4.2源码全过程(附已下载的源码)),现在写下编译的笔记. 虽然在android doc中,有提到可以用open jdk来编译,见:https://source.android.com/source/initializing.html,描述如下: Installing the JDK The master branch of Android in the Android Open Source

【Android 系统开发】 编译 Android 系统 u-boot 内核 源码 并烧写到 OK-6410A 开发板上

博客地址 : http://blog.csdn.net/shulianghan/article/details/40299813  本篇文章中用到的工具源码下载 : -- ok-6410A 附带的 Android 光盘 下载地址 : http://pan.baidu.com/share/link?shareid=3662728609&uk=2754759285 ; -- 光盘所含内容 : Android 引导 u-boot 源码, Android 内核 源码, Android 系统源码, 交叉编

【转】Ubuntu 14.04.3上配置并成功编译Android 6.0 r1源码

http://www.linuxidc.com/Linux/2016-01/127292.htm 终于成功把Android 6.0 r1源码的源码编译.先上图,这是在Ubuntu中运行的Android模拟器: 由于我是在Win8中安装虚拟机VMware,然后在虚拟机中安装Ubuntu进行编译,所以遇到诸多麻烦.如果直接在Linux中编译,可能会更顺利. ------------------------------------------------------------------------

Ubuntu14.04 编译 Android 5.1.1源码(采用国内镜像)

之前就有编译android源码的想法,但是由于有GFW的存在,又没有梯子,连开发工具都是经过androiddevtools从百度云弄下来的,前两天发现了清华大学AOSP的镜像站点,就想着从上面git android 源码,然后编译.在这里做个简单的记录,和大家分享一下,毕竟小水管不容易,下载源码加编译花了接近两天. 1.安装openjdk-7-jdk $ sudo apt-get install openjdk-7-jdk 安装好之后修改 /etc/profile 中的环境变量,将openjdk

OSX 10.10.5 编译android 5.1.1源码

1.亲测可用的环境: 系统:OSX 10.10.5 JDK:1.7 Xcode:5.1.1 (自带的Xcode 6 在编译过程中出现了 string 头文件找不到的error,没找到解决方案,换到Xcode 5.1.1后问题解决) Command Line Tools:5.1.1 2.期间遇到的问题: ①.MacPorts下载下来安装一直停留在安装界面不动: 搞来搞去也搞不清楚为什么,看有的说是更新问题,最后换成了Homebrew,飕飕快,挺好(*^__^*) ②.make完源码后,emulat

Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正

一.前言 在之前的破解过程中可以看到我们唯一离不开的一个神器那就是apktool了,这个工具多强大就不多说了,但是如果没有他我们没法涉及到后面的破解工作了,这个工具是开源的,也是使用Java语言开发的,代码相对简单,我们今天就来分析一下他的大体逻辑,注意是大体逻辑哦,因为如果要一行一行代码分析,首先觉得没必要,其次浪费时间,有了源码,谁看不懂呢.至于为什么要分析这个工具其实原因只有一个,就是我们在之前的反编译过程中会发现,总是有那么几个apk应用不让我们那么容易的反编译,他们就利用apktool

Android 4.4 全套源码及子模块源码的下载方法

博文<Android源码下载--用git clone实现单个目录下载>介绍了采用git clone方法下载Android单个目录源码的方法,这篇文章已经有四年的历史,这期间Google对源代码的管理网站已经进行了更改,直接采用原来的方法下载源代码已经失效.本文介绍了在ubuntu下(在Windows下安装Cygwin,通过Cygwin也可在Windows里通过本文的下载步骤下载Android源码)获取目前最新的Android 4.4 全套源码以及单个自模块源码的下载方法,可根据本文方法下载全套

Android 上千实例源码分析以及开源分析

Android 上千实例源码分析以及开源分析(百度云分享) 要下载的直接翻到最后吧,项目实例有点多. 首先 介绍几本书籍(下载包中)吧. 01_Android系统概述 02_Android系统的开发综述 03_Android的Linux内核与驱动程序 04_Android的底层库和程序 05_Android的JAVA虚拟机和JAVA环境 06_Android的GUI系统 07_Android的Audio系统 08_Android的Video 输入输出系统 09_Android的多媒体系统 10_