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

R软件windows下如何安装tar.gz的包 1、下载Rtools工具 tar.gz的安装需要借助于Rtools工具,下载地址:https://cran.r-project.org/bin/windows/Rtools/ 2、安装Rtools 在安装过程中,会有选项让你配置环境变量,直接勾选。如果你没有勾选的话,也没有关系,直接去环境变量path里面添加路径这2个路径 C:\Rtools\bin;C:\Rtools\g 阅读详情
编译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驱动编译成功并能运行的,但我尝试了,很多错误到目前为止还没解决(已于2014-5-4已搞定),因此先尝试了4.3的源码+4.3的驱动。下面就是整个过程:

注:关于编译环境设置等细节参考我的前一篇< 基于Ubuntu 14.04 LTS编译Android4.4.2源代码>.
第一步:获取android-4.3.1_r1的源码
[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. $mkdir android-4.3.1_r1  
  2. $cd android-4.3.1_r1  
  3. $repo init -u https://android.googlesource.com/platform/manifest -b android-4.3.1_r1  
  4. $repo sync  
第二步:编译android-4.3.1_r1的源码
[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. dennis@dubuntu1404:~/devenv/android-4.3.1_r1$ . build/envsetup.sh  
  2. including device/asus/deb/vendorsetup.sh  
  3. including device/asus/flo/vendorsetup.sh  
  4. including device/asus/tilapia/vendorsetup.sh  
  5. including device/generic/armv7-a-neon/vendorsetup.sh  
  6. including device/generic/mips/vendorsetup.sh  
  7. including device/generic/x86/vendorsetup.sh  
  8. including device/lge/mako/vendorsetup.sh  
  9. including device/samsung/maguro/vendorsetup.sh  
  10. including device/samsung/manta/vendorsetup.sh  
  11. including device/samsung_slsi/arndale/vendorsetup.sh  
  12. including device/samsung/toroplus/vendorsetup.sh  
  13. including device/samsung/toro/vendorsetup.sh  
  14. including device/ti/panda/vendorsetup.sh  
  15. including sdk/bash_completion/adb.bash  
  16. dennis@dubuntu1404:~/devenv/android-4.3.1_r1$ lunch  
  17. You're building on Linux  
  18. Lunch menu... pick a combo:  
  19.      1. aosp_arm-eng  
  20.      2. aosp_x86-eng  
  21.      3. aosp_mips-eng  
  22.      4. vbox_x86-eng  
  23.      5. aosp_deb-userdebug  
  24.      6. aosp_flo-userdebug  
  25.      7. full_tilapia-userdebug  
  26.      8. mini_armv7a_neon-userdebug  
  27.      9. mini_mips-userdebug  
  28.      10. mini_x86-userdebug  
  29.      11. full_mako-userdebug  
  30.      12. full_maguro-userdebug  
  31.      13. full_manta-userdebug  
  32.      14. full_arndale-userdebug  
  33.      15. full_toroplus-userdebug  
  34.      16. full_toro-userdebug  
  35.      17. full_panda-userdebug  
  36. Which would you like? [aosp_arm-eng] 12  
  37. ============================================  
  38. PLATFORM_VERSION_CODENAME=REL  
  39. PLATFORM_VERSION=4.3.1  
  40. TARGET_PRODUCT=full_maguro  
  41. TARGET_BUILD_VARIANT=userdebug  
  42. TARGET_BUILD_TYPE=release  
  43. TARGET_BUILD_APPS=  
  44. TARGET_ARCH=arm  
  45. TARGET_ARCH_VARIANT=armv7-a-neon  
  46. TARGET_CPU_VARIANT=cortex-a9  
  47. HOST_ARCH=x86  
  48. HOST_OS=linux  
  49. HOST_OS_EXTRA=Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty  
  50. HOST_BUILD_TYPE=release  
  51. BUILD_ID=JLS36I  
  52. OUT_DIR=out  
  53. ============================================  
  54. dennis@dubuntu1404:~/devenv/android-4.3.1_r1$ make -j4  
注1:如果这一步直接刷机,会出现提示flash成功,但是重启之后出现google的logo之后就黑屏,无法启动。原因就是因为驱动没有加进来,必须完成第三步之后再开始刷机。
注2:编译过程中可能会出现如下错误:
[plain]  view plain copy
  1. Can't locate Switch.pm in @INC (you may need to install the Switch module) (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at external/webkit/Source/WebCore/make-hash-tools.pl line 23.  
  2. BEGIN failed--compilation aborted at external/webkit/Source/WebCore/make-hash-tools.pl line 23.  
解决办法:
[plain]  view plain copy
  1. $sudo apt-get install libswitch-perl  
第三步:下载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之下。
然后再次依次执行如下命令重新编译,本次编译时间会比较短。
[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. $. build/envsetup.sh  
  2. $lunch 12  
  3. $make -j4  
第四步 将编译好的img刷到i9250手机上
(1) 修改~/.bashrc中的环境变量ANDROID_PRODUCT_OUT为:
[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. export ANDROID_PRODUCT_OUT=/home/dennis/devenv/android-4.3.1_r1/out/target/product/maguro  
(2) 重新进入命令行,然后开始刷机
[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. $ adb reboot bootloader  
  2. $ fastboot flashall -w  
刷好之后,系统会自动重启,如果没什么其他问题,你可以看到你的劳动成果了!

作者:雨水 转载请注明出处: http://blog.youkuaiyun.com/gobitan/article/details/24792589
参考资料:
1.   http://blog.youkuaiyun.com/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS编译Android4.4.2源代码
2.   http://blog.youkuaiyun.com/zjmdp/article/details/7737802 Android 4.1 (Jelly Bean) 源码编译过程总结
Android 4.3.1 sdk API18 解压后放入sdk\platforms\ 文件夹下即可 Android 4.3.1 sdk API18 立即下载

相关推荐

Kubernetes集群环境搭建与初始化

Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。

m0_75254642的博客 1524

利用国内镜像源下载、编译Android源码

在国内下载Android可是不太容易,不过从Google断断续续地下载了几天源码后发现清华大学有个TUNA镜像源可以下载Android源码,甚是方便。 参考网站: http://source.android.com/index.html https://aosp.tuna.tsinghua.edu.cn/   一.环境准备: 现在Android源码的下载和编译在

JiezhiG的专栏 9014

Unity轻量级框架QFramework:四层架构与命令事件驱动的实战指南

在Unity游戏开发中,软件架构是确保项目可维护性和可扩展性的核心。通过分层架构(如MVC、DDD)和事件驱动设计,开发者能够有效管理代码复杂度,实现模块间的解耦与高效通信。QFramework作为一个轻量级框架,精准地运用了这些原理,通过严格定义的四层架构(表现层、系统层、数据层、工具层)和命令/事件通信规则,为中小型项目提供了“约束下的自由”。其核心价值在于以极简的代码(不足1000行)强制实施清晰的职责分离,如使用命令模式集中管理状态变更,并通过事件驱动实现响应式更新。这种设计特别适用于解决项目规模扩

weixin_42521032的博客 262

R语言学习(1)——Windows系统下安装R及Rtools

由于我们前面安装的是R 4.3.1,所以我们应选择安装Rtools 4.3。点击选择任意一个中国的CRAN镜像。在上述安装R的第4步的页面,选择。4.运行相应的Rtools安装包。选择相应版本的Rtools。

随缘更新 1万+

【Azure 架构师学习笔记】- Azure Private Endpoint

公有云的其中一个特点是默认允许公网访问, 这就对企业环境带来风险,也是很多年前企业对公有云抵触的其中一个原因,现在这类问题已经很少,因为有了很多技术来确保云上的资源被安全地访问。其中Private endpoint(PE)就起到了很重要的作用。云上的某个资源如VM会创建在特定的网络(VNet/Subnet)上, 而其他如Storage Account , Azure SQL等PaaS服务则没有。如果你需要用VM 来访问这些PaaS资源,VM 就会通过资源的公网IP 来访问。

MVP黄钊吉(發糞塗牆) 1788

Label Studio + SAM2分割半自动标注与yolo11训练

Label Studio + SAM2分割半自动标注与yolo11训练

schFallingCloud 1408

R-生物初学者:软件包安装

R语言作为数据可视化和处理的利器之一,如何安装和利用packages是入门必备技能。 软件包安装 1. conda 平台进行安装(相对独立的环境) conda create -n envnames; conda activate envnames conda install packages 例如:单细胞处理常用软件包安装 conda install -c conda-forge r-base=4.1.1 conda install -c conda-forge r-ggpubr conda

Egg-gene 3192

基于Spring Boot在线远程考试系统的设计与实现

结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。目前的信息时代,对信息的管理趋于高效化,便捷化,这也是计算机大力普及所带来的便利,此程序软件在设备选用上,依靠的是比较大众的电脑设备,对电脑的配置没有过多要求,一般学校的计算机机房的电脑都可以满足程序开发需求,另外,开发出此款程序,让信息处理变得高效率,其所带来的高效益是远超程序开发的低成本的,因此程序开发的资金投入是可以忽略不计的。

ITbiyesheji的博客 1215

如何基于android4.4.2的源码和android-4.3.1_r1的驱动编译I9250的ROM

如何基于android4.4.2的源码和android-4.3.1_r1的驱动编译I9250的ROM 作者:雨水  2014-05-04 联系方式:dennis.hu.cd at gmail.com 说明:经过多番折腾,终于把自己编译的Android4.4.2的源代码成功地跑在我的三星Galaxy Nexus I9250手机上了。期间离不开一位外国朋友的帮助,也就是参考资料[1]的

家辉自留地 4721

logisim中,如何设计一个位于十字路口的交通信号灯控制系统?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1342

华为OD机试 - 商品推荐多属性排序 - 数组(Python/JS/C/C++ 双机位A卷 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。双十一来临,小王准备买某个购物平台买坚果。在输入坚果时,页面默认按照综合推荐列表。小王想知道这个综合排序时如何完成的,于是便开始思考算法题。经过一番操作后,完成它的多个关键词排序算法。希望你给小王提供一份正确的排序结果,验证其实现算法结果的准确性

学Java,找哪吒 622

编译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版本...

weixin_33940102的博客 175

26. 如何给 SAP BTP Cloud Foundry 环境分配运行时内存

摘要:本文解答了SAP BTP Cloud Foundry环境中Space可用内存为0MB的问题。指出Space内存配额取决于Org配额分配,其计算方式为Org总配额减去所有运行中应用实例的内存预留总和。详细解释了SAP BTP的资源分配层级(Global account→Subaccount→Environment→Org→Space),并说明如何通过Global account的Entity Assignments查看Memory Plan配额分配(以GB为单位)。最后建议遇到问题的用户检查Subacc

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1262

怎样基于android4.4.2的源代码和android-4.3.1_r1的驱动编译I9250的ROM

怎样基于android4.4.2的源代码和android-4.3.1_r1的驱动编译I9250的ROM 作者:雨水  2014-05-04 联系方式:dennis.hu.cd at gmail.com 说明:经过多番折腾,最终把自己编译的Android4.4.2的源码成功地跑在我的三星Galaxy Nexus I9250手机上了。期间离不开一位外国朋友的帮助,也就是參考...

weixin_34205826的博客 159

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

手把手教你在Windows环境下升级R

[-] 1加载installr包2在installr菜单中选择update R3installr将会检测是否发布了新版本的R如果检查到有单击确定即可更新R4如果想了解新版本R的相关特性介绍单击是可在浏览器中打开这个信息5下载并安装最新版本R单击是6等待R的下载7单击安装向导中的下一步按钮8等待完成R的安装9将旧版本R中的包复制到新版本R单击是10保留包到旧版本的R为了安全起见单击是11复制旧

kilolo_w的博客 3770

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

切换镜像源 r 选择镜像 调用chooseCRANmirror函数:

bioconductor其实也是有镜像的。如果是默认的R安装一般会很慢。

生信小博士的博客 2303

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

R语言4.3.0安装及使用教程(非常详细),从零基础入门到精通,看完这一篇就够了(附安装包))

具有索引值的对象,如。

qq_44005305的博客 5222

Android 4.3源码的下载和编译环境的安装及编译

关键字 Android4.3源码 Android 4.3源码下载 Android 4.3源码编译 Android最新源码  本文的目录结构 1、源码的下载 2、编译环境的搭建 3、编译源代码 4、允许模拟器 5、相关出错的处理方法 Google于2013.07.25发布了Android4.3的源码及其相关产品,下面把本人在ubuntu10.04 的64位系统上下载源码,和编译源码做

无为 1335

在Eclipse中编译运行Android4.3应用源码——Launcher2和Gallery2

Google在7月25发布了Android4.3源码——最后一个版本的JB,开发者很多时候需要研究源码,每次都在Linux环境下编译难免有些烦躁,尤其对于上层应用开发者,4.3里的app有不少经典案例,能够把他们移到Eclipse下进行编译调试,效率会高很多,下面以Launcher和Gallery2源码为例,一简一繁,简要总结下“移植”思路,供参考~        需完成准备工作:

klpchan的专栏 5391

linux上rstudio更换R版本无效(无root)

今天要下载一个包remotes::install_github("carmonalab/UCell")然后就成功了,但是在切换rstudio时,发现必须要root权限,没办法,只有直接启动4.3.1跑了。系统提示我服务器上的R语言版本为4.1.0,而UCell要4.3.0以上。输入代码即可,或者直接在新环境下使用脚本。拷贝R包,把原来4.1拷贝过来。所以首先下载了4.3.1。

m0_46336667的博客 727

Android源码编译(一)环境配置,下载源码

作为Android程序员还是应该有一套自己的源码 本文为记录成功编译Android源码4.3的整个过程,希望帮到大家。 先上一张成果: 环境:ubuntu 14.04(非虚拟机) 原本机器上装的是jdk1.8,但是编译Android4.3系统必须使用jdk1.6所以先去更改了jdk版本,所以你也需要配置1.6版本的jdk 需

lbpeisen的博客 365
上一篇: Android线程:Message和Runnable
下一篇: 基于Ubuntu 14.04 LTS编译Android4.4.2源代码
hookfeng
博客等级 码龄12年 4粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值