下载源码

hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 300g ~/android.dmg
hdiutil resize -size 300g ~/android.dmg.sparseimage
hdiutil attach ~/android.dmg.sparseimage -mountpoint /Volumes/android
cd /Volumes/android
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-6.0.1_r77
repo sync

准备docker

1、docker pull ubuntu:14.04

2、源码目录添加/aosp-build 添加Dockerfile

FROM ubuntu:14.04
# Set to 32bit
#RUN dpkg --add-architecture i386
ADD sources.list /etc/apt/sources.list
ADD setup.sh /setup/setup.sh
RUN bash -x /setup/setup.sh
ENV USER=root

3、源码目录/aosp-build 添加sources.list

# Ubuntu14.0 aliyun source:
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

4、源码目录/aosp-build 添加setup.sh

apt-get update || true
apt-get install -y openjdk-7-jdk
apt-get -y 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 python-networkx

5、在源码目录/aosp-build/ 执行

docker build -t aosp-build .   #创建名为aosp-build的image
docker run -v /Volumes/android:/var/aosp -i -t --name aosp aosp-build bash  #创建容器aosp
#docker start -i -a aosp  #再次启动容器aosp

编译

注意:build/core/combo/mac_version.mk中的mac_sdk_versions_supported 增加你的macSDK版本号12.1

source build/envsetup.sh
chmod 777 ~/.jack
export USER=builder
$HOME/.jack中的配置文件中的SERVER设成false

配置完最好退出docker再进一次
lunch
make -j4

刷机

准备

adb reboot bootloader
fastboot erase system -w
export ANDROID_PRODUCT_OUT=/Volumes/android/out/target/product/hammerhead #编译的结果目录

驱动

fastboot flash bootloader bootloader-hammerhead-hhz20h.img
fastboot reboot-bootloader
sleep 5
fastboot flash radio radio-hammerhead-m8974a-2.0.50.2.30.img
fastboot reboot-bootloader
sleep 5

这两个是驱动,可从官方刷机包中获取 https://dl.google.com/dl/android/aosp/hammerhead-mmb29s-factory-6bfcdfa4.tgz

刷机

# fastboot flashall -w # nexus5会报这个错 FAILED (remote: ‘Bogus size sparse and chunk header’) 所以用以下命令
fastboot erase system
fastboot erase boot
fastboot erase recovery
fastboot erase cache
fastboot erase userdata
fastboot flash system system.img
fastboot flash boot boot.img
fastboot flash recovery recovery.img
fastboot flash cache cache.img
fastboot flash userdata userdata.img

搭建环境

1、bootload工具包

fastboot flash recovery twrp-3.2.3-0-hammerhead.img  #https://twrp.me/Devices/里输入自己需要的设备名称
fastboot reboot #先进一下系统看下。有时候需要引导,wifi的时候过不去,这个时候adb进去在一个default.prop,加上一行配置 ro.setupwizard.enable_bypass=true不进行引导

2、root
从这里下载supersu https://download.chainfire.eu/750/SuperSU/BETA-SuperSU-v2.64-20151220185127.zip?retrieve_file=1

#进入Recovery mode
#adb push BETA-SuperSU-v2.64-20151220185127.zip /sdcard/
#选择包install
#装完后询问是不是要装twrp新包 选择不装 do not install

3、vi工具缺失安装busybox
busybox https://busybox.net/downloads/binaries/
nexus5适用busybox-armv7r

adb push busybox-armv6l /data/tmp/
adb shell
su
cp /sdcard/busybox-armv7r /system/xbin/
cd /system/xbin
chmod 777 busybox-armv7r
./busybox-armv7r --install .

android6.0-nexus5 mac上docker 编译刷机相关推荐

  1. mac上docker pull是报错Error response from daemon: Get https://xx.xx.xx.xx/v2/: Service Unavailable

    执行docker pull xx.xx.xx.xx/xx/xx,下载私有库的镜像时报错如下: Error response from daemon: Get https://xx.xx.xx.xx/v ...

  2. 安卓ASOP编译刷机

    最近研究定制AOSP源码,自己编译刷机,写一个简单的环境搭建过程,记录下 我的ubuntu 18.04虚拟机配置如下 内存:8G 处理器:4核(编译主要看这个指标) 硬盘:270G 装完虚拟机后,开始 ...

  3. 酷开系统和鸿蒙,酷开电视史上最强刷机攻略

    原标题:酷开电视史上最强刷机攻略 史上最全的酷开智能电视刷机功率,酷粉们千万别错过!什么是"刷机"?就是重新安装智能电视内置操作系统,今天小编就为广大的酷开智能电视粉丝们汇总了一批 ...

  4. Ubuntu16.04编译Android8.0系统源码,并刷机 (Pixel XL)

    机子 CPU: 6核 内存: 16G 硬盘:500G SSD 系统:裸的 Ubuntu 16.04 试了Mac和Ubuntu 14.04,Mac中需要安装一堆工具,Ubuntu 14安装Java8很麻 ...

  5. mac上tflite编译

    准备工作 为编译TensorFlow Lite的iOS版静态库, 需要用到MacOS上的终端. 如果还没达标, 那么须先安装 Xcode 8 or later and the tools using ...

  6. android12.0(S) Pixel 3XL (QCOM 845) 编译刷机

    androidS 发布已经有一段时间了,作为一名搞机人,咱也不能落后,今天就来开盘 12 代码. 下载这个 S 代码前前后后搞了快一个月,哈哈我不愧是树懒本懒.唉,其实是中间遇到了不少问题, 环境都搞 ...

  7. mac虚拟机linux性能测试,Veertu 1.0.4 – Mac上最轻便的虚拟机,可以运行Windows/Linux。...

    在Mac上运行 Windows / Linux Veertu简单.轻.安全的虚拟化软件设计的MAC. 与Veertu你可以运行你喜欢的窗口或Linux分布直接在OS X的系统管理框架Veertu供电和 ...

  8. mac for docker访问宿主机服务

    pod访问mac主机网络 Docker For Mac的Docker Daemon是运行于虚拟机(xhyve)中的, 而不是像Linux上那样作为进程运行于宿主机,因此Docker For Mac没有 ...

  9. 记录AOSP源码编译刷机(pixel 4a)

    查找pixel 4a所对应的branch分支 我选择了第二行,其补丁级别也是比较新的. build ID 标记 版本 支持的设备 安全补丁程序级别 RQ2A.210505.003 android-11 ...

最新文章

  1. Codeforces 955C Sad powers(数论)
  2. 游戏数学中的数学思想
  3. Spring框架第一天知识总结
  4. python正则匹配所有的中文,数字和英文
  5. shell复习笔记----命令与参数
  6. JavaScript eval() 函数,计算某个字符串,并执行其中的的 JavaScript 代码。
  7. 创造与魔法最新服务器怎么进,创造与魔法进不了服务器 | 手游网游页游攻略大全...
  8. Maven常用命令-创建Web项目
  9. 这个机器人不学数据集,“纯玩”get各类家务技能,LeCun觉得很赞
  10. 打印1000张大概多少钱,打印费多少钱一张
  11. H.264 NAL语法语意以及字节流的语法语意
  12. MDKA5D3x-EK开发板I2C扩展ADC_ADS1110,cortex a5 linux3.6.9,Device Tree(DTB,FTD)
  13. 为什么RISC-V在中国岌岌可危?
  14. UE5 C++ Rider 编程指南 1.编辑器基础
  15. Kaggle TMDB 票房预测挑战赛
  16. SmartRF04EB修复与修改ID号
  17. python算法1加1_【Python爬虫作业】- 第一周01 笨方法0-10加分题
  18. 我的世界服务器货币充值系统,《我的世界》中国版正式开启了充值功能
  19. axios每次发送请求会有两次,多一次Request Method: OPTIONS是怎么回事?
  20. containerd配置下载镜像

热门文章

  1. 差评回复话术,拿来吧你!
  2. 通过css设置canvas背景图片
  3. 计算机如何授权访问局域网,局域网权限怎么设置?局域网访问权限设置软件哪个好...
  4. Ubuntu用户管理原理
  5. k8s安装dashboard及账号密码登陆
  6. 成为一个大数据开发工程师的学习步骤--文字版
  7. 机器学习中样本不平衡,怎么办?
  8. web前端开发10大战略性技术蓝图
  9. Key exchange was not finished,connection is closed近期遇到这个错误sshd更新导致的
  10. iPhone备忘录清除缓存