Ubuntu 14.04下Android系統源碼編譯

ubuntu 14.04系统 Android 4.0.1 源码编译过程 Android 401 源码编译过程 一环境准备 二下载源代码 Installing Repo Initializing a Repo client Downloading the Android Source Tree 三编译源码 初始化环境 选择target 编译源码 错误处理在编译源码时会出现不少错误 运行 Android 4.01 源码编译过程一、环境准备 系统:ubuntu 14.04 6 阅读详情

Ubuntu 14.04下Android系統源碼編譯

日期:2017/2/28 13:44:32      编辑:Linux教程

Android源碼編譯需要Linux環境,我這裡用的是Ubuntu 14.04,雖然Ubuntu 16.04出來很久了。但是16.04有些依賴沒解決得了,所以用14.04版本方便很多。下面將用Ubuntu 14.04環境為大家講述源碼的下載、編譯和刷機。

1、安裝curl、repo和git

安裝curl

sudo apt-get install curl        //install curl tool

安裝curl

sudo curl http://commondatastorage.googleapis.com/git-repo-downloads/repo  //download repo

如果你用這個下載安裝不了,你可以直接sudo apt-get install repo,按照上面的提示安裝即可。

安裝Git

sudo apt-get install git

git配置

sudo git config --global user.email "your@example.com"
sudo git config --global user.name "Your Name"

這個配置是否真實性對於下載源碼影響不大,你也可以直接填寫your@example.com和Your Name這樣的字樣下載源碼。

2.下載源碼

下載源碼之前先建好一個文件夾,然後用命令進入該文件夾,最後才建倉下載。這樣的做的好處就是沒那麼混亂。

repo init -u git://codeaurora.org/platform/manifest.git -b release -m LA.BR.1.2.3-10210-8x09.0.xml --repo-url=git://codeaurora.org/tools/repo.git --repo-branch=caf-stable
repo sync

我這裡下載的是高通安卓源碼,
下載地址見:https://wiki.codeaurora.org/xwiki/bin/QAEP/release
上面的LA.BR.1.2.3-10210-8x09.0.xml對應的是Android5.1.1版本。你也可以選擇你要下載的版本。
另外你也可以從谷歌和清華下載源下載。
谷歌源碼下載:https://source.android.com/source/downloading.html#initializing-a-repo-client
清華下載源:https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
一個系統的源碼大概是40多GB,編譯也要部分的空間,你的磁盤注意要留有足夠的空間。

3.依賴包下載

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip
  • 1
  • 1

安裝openjdk7

sudo apt-get install openjdk-7-jdk

4.編譯源碼

在命令行裡進入該源碼的目錄裡。

source build/envsetup.sh
lunch

它會顯示可選編譯cpu架構,然後選擇對應的cpu結構,一般選0,你也可以根據你需要來選。

Lunch menu... pick a combo:
     1. aosp_arm-eng
     2. aosp_arm64-eng
     3. aosp_mips-eng
     4. aosp_mips64-eng
     5. aosp_x86-eng
     6. aosp_x86_64-eng
     7. mini_emulator_mips-userdebug
     8. mini_emulator_x86_64-userdebug
     9. m_e_arm-userdebug
     10. mini_emulator_arm64-userdebug
     11. mini_emulator_x86-userdebug
     .......

aosp_arm64-eng
- arm CPU架構。
- 64代表64位系統
- eng代表engineer版本
- user正式版,權限受限制
- userdebug版本,在user版本的基礎上開放了root權限和debug的權限。

最後開始編譯

make -jn (“n” means the thread numbers of CPU)

這裡的n表示線程數,一般是cpu數目的兩倍。比如說make -j8。
編譯好的文件在work/LINUX/Android/out/target/product/xxx/裡面,
這裡的目錄根據因你的項目目錄不同而不同。一般來說,emmc_appsboot.mbn、boot.img、userdata.img、system.img、recovery.img是你最終需要的產物。

5.部分編譯

部分編譯一般用於修改代碼後在原來已經有編譯好的資源下進行差異化編譯。這樣的編譯速度快很多。
預備

source build/envsetup.sh
lunch

這裡的命令意義同上。差別在最後一步。下面每一步執行前請先執行source build/envsetup.sh和lunch。

1)編譯about(生成emmc_appsboot.mbn)

make aboot -jn(“n” means the thread numbers of CPU)

目標文件夾work/LINUX/android/out/target/product/xxx/
這裡根據因你的項目目錄不同而不同,如果你的命令執行不了,可能是你輸入的命令字符格式不對,”-jn”需要是英文格式的

2)編譯內核(生成boot.img)

make bootimage -jn

目標目錄work/LINUX/android/out/target/product/xxx/,下面幾個目錄都是在這個目錄下,就不一一重復了。
3)編譯system(生成system.img)

make systemimage –jn

4)編譯userdata(生成userdata.img)

make userdataimage –jn

5)編譯recovery(生成recovery.img)

make recoveryimage –jn

6.刷機

這裡我假定你配置好adb環境,如果沒有請先下載Android SDK搭建環境。然後連上機子在電腦上讓電腦識別,在命令行裡輸入下面命令進行燒寫。
1)燒寫emmc_appsboot.mbn

adb reboot bootloader
fastboot flash aboot <path to emmc_appsboot.mbn >
fastboot reboot

path to emmc_appsboot.mbn 是你的emmc_appsboot.mbn目錄路徑,下同。

2)燒寫boot.img

adb reboot bootloader
fastboot flash boot <path to boot.img>
fastboot reboot

3)燒寫system.img

adb reboot bootloader
fastboot flash system <path to system.img>
fastboot reboot

4)燒寫userdata.img

adb reboot bootloader
fastboot flash userdata <path to userdata.img>
fastboot reboot

5) 燒寫 recovery.img:

adb reboot bootloader
fastboot flash recovery <path to recovery.img>
fastboot reboot

相關鏈接:
谷歌下載源:https://source.android.com/source/downloading.html#initializing-a-repo-client
清華下載源:https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/ 

更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved


【DAY11】超参数调整专题1 核心优势: 它不是随机选择下一个点,而是根据先前评估的结果建立一个概率模型(通常是高斯过程),预测哪些参数组合可能产生更好的结果,并据此选择下一个评估点。这使得它在寻找最优解方面通常比随机搜索更高效(用更少的迭代次数达到相似或更好的性能),特别是当模型训练(单次评估)非常耗时的时候。实际上,有着非常多的方式可以实现贝叶斯优化,上面的代码比较简洁美观,贝叶斯优化和网格搜索的代码书写风格高度一致。- 需要定义参数的搜索空间,与随机搜索类似,当搜索空间非常大时,它通常比网格搜索和随机搜索更有效。 阅读详情

相关推荐

从LLaMA到LLaMA-MoE:轻量级混合专家模型构建与实战指南

混合专家(Mixture-of-Experts, MoE)是一种先进的神经网络架构,其核心原理是通过门控网络动态地为不同输入选择不同的专家子网络进行计算,从而实现模型容量的指数级扩展,同时保持推理时的计算量基本不变。这种稀疏激活的特性赋予了MoE极高的技术价值,使其成为解决大模型训练与推理成本矛盾的关键技术之一,在自然语言处理、多模态学习等场景中展现出巨大潜力。本文聚焦于**LLaMA-MoE**这一具体实践,深入探讨了如何基于成熟的稠密模型(如LLaMA),通过**专家构建**与**持续预训练**两大关键

weixin_28730549的博客 565

Android系统源码编译

Android系统源码编译

Android framework 1694

保姆级教程:手把手教你用记事本修改DNF私服PVF,打造毕业级自定义装备

本文提供了一份详细的DNF私服PVF文件修改教程,教你如何使用记事本轻松打造毕业级自定义装备。从PVF文件结构解析到基础属性修改,再到高级特效设置,手把手教你实现装备属性的全方位定制,无需编程基础即可完成。

weixin_42525385的博客 1198

make -jN

今天又一次尝试编译安卓,想测试一下编译的速度如何?

不喜欢debug的疯子 1万+

超越数据手册:深入Zynq XADC的DRP接口与PL端自定义采样逻辑

本文深入探讨Zynq-7000系列XADC模块的DRP接口机制与PL端自定义采样逻辑实现。通过硬件级多通道轮询、触发采样和实时校准技术,突破传统软件驱动限制,为高精度电压测量和通讯应用提供极致灵活性和响应速度。

xxx12的博客 770

RK3568平台开发系列讲解(UBOOT篇)u-boot启动流程

U-Boot(Universal Bootloader)是一种开源的引导加载程序,广泛用于嵌入式系统中。它的主要功能是初始化硬件设备,加载操作系统内核,并将控制权交给操作系统。U-Boot的启动流程可以分为多个阶段,以下是典型的U-Boot启动流程:

内核笔记 1234

最近在ubunt下搞android遇到的一些坑,持续更新

没办法,不舍得换笔记本,电脑在win下越来越慢,看到身边的朋友也渐渐用起来了高逼格的ubuntu,于是在一个月高风黑的晚上,我也换上了,废话不多说,下面开始. 希望也在用ubuntu的小伙伴呢,可以把遇到的坑,在下面评论区域交流一下,很是欢迎。 分享几个好用的指令集网站(也会随着见识而不断更新): UbuntuSkills 超级全超级详细 SubVersion SVN相关 [TOC] ...

weixin_34228617的博客 201

TC3XX - MCAL知识点(二十):CAN MCAL配置及代码实战(CAN/CANFD/extenen CAN)

CAN驱动程序负责提供AUTOSAR指定的标准CAN通信服务。M_CAN单元是底层的CAN硬件单元,它由共享消息RAM(在AUTOSAR中称为硬件对象)的节点(在AUTOSAR中称为控制器)组成。CAN驱动提供以下服务:·初始化CAN控制器以控制CAN控制器的行为和状态·设置和修改CAN控制器的波特率配置·支持CAN和CAN FD帧的收发·在轮询和中断模式下,成功的帧传输通知,专用和FIFO消息的接收和总线事件通知·数据接收使用接收FIFO功能·假装网络模式处理·支持多读/写周期功能。

梦想技术家 3940

Ubuntu14.04环境编译vlc源码for安卓Android系统

一、准备虚拟机 1、所需软件 deamon:DTLite4491-0356.1394761051.exe VMware-workstation-full-12.1.0-3272444_for_x64.exe 序列号5A02H-AU243-TZJ49-GTC7K-3C61N ubuntu...

chenshukui8300的博客 195

这种绑定设备的文件拷贝出来了,怎么放到一台新的P100上使用

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1136

(十五)CX20106A 中超声波测量的应用

(十五)CX20106A 中超声波测量的应用

m0_52555663的博客 4513

二.系统编译--Ubuntu14.04上搭建android源码编译环境

最近整理了一下关于系统源码编译的笔记,并且迁移到csdn.方便以后自己编译使用. -----代码编辑小工具: //安装代码文件管理软件 sudo add-apt-repository ppa:webupd8team/sublime-text-3 sudo apt-get update sudo apt-get install sublime-text-installer 使用方法:...

insist_hui的博客 3036

最新2026年《网络数据安全风险评估办法》条款解读

大型企业集团IT变革下的零信任安全体系建设方案(55页).pptx。以数据安全为核心的安全立体防御体系解决方案(41页).pptx。让数据安全合规地创造价值(15页 PPT).pptx。大型集团数据安全应急预案(57页).docx。数据安全治理与评估服务业务介绍.pptx。数据安全管理实践(17页).pptx。大数据安全架构设计方案.pptx。大数据安全规划总体方案.pptx。数据库安全综合治理方案.pptx。医疗数据安全建设方案.pptx。数据安全框架规划图.pptx。数据安全治理方案.pptx。

cdfunlove的博客 47

Ubuntu 14.04下Android系统源码编译

Ubuntu 14.04下Android系统源码编译 Android源码编译需要Linux环境,我这里用的是Ubuntu 14.04,虽然Ubuntu 16.04出来很久了。但是16.04有些依赖没解决得了,所以用14.04版本方便很多。下面将用Ubuntu 14.04环境为大家讲述源码的下载、编译和刷机。 1、安装curl、repo和git 安装curl sudo apt-g...

wangjian0310的专栏 299

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

计算机控制技术及应用

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

基于Ubuntu14.04 64位系统编译vlc-android源码

(一)VideoLAN 介绍:  VideoLAN  是一个开发播放器软件和多种多媒体格式流的非营利基金会组织,其最具有影响力的一个产品就是VLC媒体播放器。 VideoLAN 官方wiki网址:://wiki.videolan.org/AndroidCompile#Get_VLC_Source (二)编译环境搭建: (1)建立64-bit  Ubuntu 14.04环境 在window

SerenityHan的专栏 2010

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Ubuntu14.04 U盘启动盘的制作、Ubuntu14.04操作系统的安装、android开发环境的配置和android源码下载、编译

Ubuntu14.04 U盘启动盘的制作、Ubuntu14.04操作系统的安装、android开发环境的配置和android源码下载、编译我目前的操作系统为 ubuntu16.04,昨天编译android源码6.0,会出现问题,所以还是使用google官方推荐的配置较好。一般最新版的系统和软件,出现问题,网上的解决方案较少,不容易解决问题。google 官方系统推荐链接:https://source

Jack_SivenChen的博客 2957

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

ubuntu14.04 配置 AOSP(android open source project)android系统源码编译环境

先说明下, 该文章主要是参考 android 官方文档总结的, 主要参考以下两个链接: http://source.android.com/source/requirements.html  和 http://source.android.com/source/initializing.html 的文章。           一,搭建软件的编译环境,首先是操作系统,因为我用的linux

a62894310的专栏 2849

Ubuntu14.04系统搭建Android源码编译环境

1.安装下面软件及lib库 $sudo apt-get install bison flex xsltproc gperf gcc-multilib libxml2-utils g++ gcc git-core gnupg build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:

没有应该获得的成功,只有不肯放弃的梦想 580

Ubuntu14.04 增加Swap分区

解决android系统源码编译错误:错误内容:collect2: error: ld terminated with signal 9 [Killed] Ubuntu14.04增加SWAP分区的原因:在电脑虚拟机内存设置为3G的时候,进行android源码编译,内存空间不足,引起虚拟机卡住和停机的情况。为解决虚拟机编译问题,增加swap分区。 Swap空间的作用可简单描述为:当系统的物理内存不...

hanping1020的专栏 423

android源码编译相关

记一下,方便查找 1,Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程

suningning的专栏 239

Android学习系列(38)--Android源码下载和编译

前面多篇文章介绍到如何下载和编译Android或者CM源码,不过一直都是放在《拓展系列》里。随着学习的深入,android源码是非常有参考和学习价值,强烈推荐大家都去下载,编译,学习,所以把它提到《学习系列》专讲一章基础篇。刚装了UBUNTU14.04,所以尝试在新环境下编译一下android源码。因为和谐原因,我临时买了个VPN,推荐一下(还算稳定):http://a.wy002.com/347...

weixin_34178244的博客 368

Android笔记------Android编译环境的搭建

前言这个东西也是老生常谈了,在这里只是记录下自己搭建环境的一个过程。 本次搭建环境是Ubuntu 14.04,请提前备份资料,以免造成损失。 * 下载镜像 Ubuntu 14.04.5 Desktop (64-bit) * 制作引导u盘 请点这里 * 安装 最好在安装过程中拔掉网线 Ubuntu分区建议(实际大小请根据自身硬盘容量配置): 分区 文件系统格式 大小 /(

baifaqingsi的博客 443

Android 源码编译环境搭建 实现一台服务器同时能够编译从4.4到10.0的Android源码

我这边自己使用Ubuntu 14.04 搭建了一个android源码的编译环境,并打包成系统镜像,送给不会搭建编译环境的同学们。 链接:https://pan.baidu.com/s/1boDxdbL Android 1.6 到9.0 最新版本的Android全套源码,持续更新中: 地址1:http://pan.baidu.com/s/1ngsZs 地址2:https://...

长乐居士 1274
上一篇: kernel版本号的修改
下一篇: 快速排序原理解剖
土豆嘎嘣脆
博客等级 码龄11年 20粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值