android源码编译到刷机过程2

0,vbox挂载共享
sudo mount -t vboxsf H /mnt/H/
1,安装系统
配置:
内存 12G
cpu 16个,峰值 95%
硬盘200G
分区:自动分区

2,配置环境,下载源码
sudo apt-get update

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

sudo apt-get install openjdk-7-jdk

mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

git config --global user.name "fbb"
git config --global user.email "[email protected]"

M4B30Z android-6.0.1_r77 Marshmallow Nexus 5

mkdir android-6.0.1_r77
cd android-6.0.1_r77

## 如果提示无法连接到 gerrit.googlesource.com,可以编辑 ~/bin/repo,把 REPO_URL 一行替换成下面的:
## REPO_URL = ‘https://gerrit-googlesource.proxy.ustclug.org/git-repo‘

//google地址下载困难用,清华的镜像。
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-6.0.1_r77

repo sync -j4

3,(参考)下载nexus 5 的硬件驱动:
关键字:编译android 刷到nexus 5
https://developers.google.com/android/drivers
Nexus 5 (GSM/LTE) ("hammerhead")
Nexus 5 (GSM/LTE) binaries for Android 6.0.1 (MMB29S)
/*
Nexus 5 (GSM/LTE) binaries for Android 6.0.1 (MMB29S)
Hardware Component Company Download SHA-256 Checksum
NFC, Bluetooth, Wi-Fi Broadcom Link 57e056be0925ab0800d5e07b06849322d9a8d3e9e00f0fe1ecebad0387d3f1f1
Camera, Sensors, Audio LG Link 3a8f970fc13330ea54573f2c9002a1071dae56eae5337aa2220efa213b810164
Graphics, GSM, Camera, GPS, Sensors, Media, DSP, USB Qualcomm Link add1a3008faf2a68b44851e7ab193fb5b2e488dd4a92ec0c6b7d391576312a23
*/
过程:
根据链接下载 三个 tgz的文件,
解压后是sh文件放到源码的跟目录,
执行sh文件,会在源码根目录下生存vendor文件夹。
命令:
mkdir drivers
curl https://dl.google.com/dl/android/aosp/broadcom-hammerhead-mmb29s-3a3c03c6.tgz > ~/drivers/broadcom-hammerhead-mmb29s-3a3c03c6.tgz
curl https://dl.google.com/dl/android/aosp/lge-hammerhead-mmb29s-fa0209c9.tgz > ~/drivers/lge-hammerhead-mmb29s-fa0209c9.tgz
curl https://dl.google.com/dl/android/aosp/qcom-hammerhead-mmb29s-bd184be4.tgz > ~/drivers/qcom-hammerhead-mmb29s-bd184be4.tgz

tar -zxf broadcom-hammerhead-mmb29s-3a3c03c6.tgz
tar -zxf lge-hammerhead-mmb29s-fa0209c9.tgz
tar -zxf qcom-hammerhead-mmb29s-bd184be4.tgz

cp ~/drivers/extract-broadcom-hammerhead.sh ~/android-4.4.4_r1/extract-broadcom-hammerhead.sh
cp ~/drivers/extract-lge-hammerhead.sh ~/android-4.4.4_r1/extract-lge-hammerhead.sh
cp ~/drivers/extract-qcom-hammerhead.sh ~/android-4.4.4_r1/extract-qcom-hammerhead.sh

./extract-broadcom-hammerhead.sh
./extract-lge-hammerhead.sh
./extract-qcom-hammerhead.sh
################################################################
打包:tar -cf /mnt/H/android-6.0.1_r77.tar android-6.0.1_r77
################################################################

4,编译android源码
make clobber
source build/envsetup.sh
lunch
输入:19
选择的:
19. aosp_hammerhead-userdebug
make -j16

lunch aosp_hammerhead-user

TARGET_BUILD_VARIANT=user

choosecombo release msm8974 user

function choosecombo()
{
choosetype $1
echo
echo
chooseproduct $2
echo
echo
choosevariant $3
echo
set_stuff_for_environment
printconfig

choosevariant

choosevariant

user版本需要先打开USB debug开关,打开方式如下:
1、打开usb调试 build/core/main.mk
请将user版本下也改为ro.debuggable = 1

ifeq (true,(strip(enable_target_debugging)))
# Target is more debuggable and adbd is on by default
ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=1
# Include the debugging/testing OTA keys in this build.
INCLUDE_TEST_OTA_KEYS := true
else # !enable_target_debugging
# Target is less debuggable and adbd is off by default
ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=1 //这边改成1
endif # !enable_target_debugging

语言:
/home/fbb/android-6.0.1_r77/build/target/product/languages_full.mk

原文地址:https://www.cnblogs.com/daimaodeheshang/p/9340800.html

时间: 2024-07-29 23:07:22

android源码编译到刷机过程2的相关文章

android源码编译到刷机过程1

0,vbox挂载共享 sudo mount -t vboxsf H /mnt/H/1,安装系统 配置: 内存 12G cpu 16个,峰值 95% 硬盘200G 分区:自动分区 2,配置环境,下载源码 sudo apt-get update sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i3

Android源码编译_真机烧写

参考网址: 1.http://bbs.gfan.com/android-360754-1-1.htmlhttp://bbs.gfan.com/android-363492-1-1.htmlhttp://bbs.gfan.com/android-365768-1-1.html http://www.eoeandroid.com/forum.php?mod=viewthread&action=printable&tid=97581&_dsign=5788c825 2.http://m.

Android源码修改与刷机介绍

原文地址:https://blog.51cto.com/haidragon/2388820

Android源码编译之Nexus5真机编译

1.   前言 在Android安全的研究工作中,我们时常要对Android进行改进并对其进行源码编译,由于目前几乎所有的手机厂商均对其底层驱动实行封闭政策,导致我们在完成Android编译后无法将我们编译好的系统刷到普通的Android手机上,因此在一般的科学实验中我们更多的是将修改好的android源码编译成模拟器,以模拟器的形式证明实验的成功与否. 事实上,Android作为一款开放源代码的移动设备操作系统,Google最初就考虑到了真机编译的问题,而关于这个问题的解决方案体现在每次Goo

Android源码编译过程

http://my.oschina.net/zhoulc/blog/170698 http://jingyan.baidu.com/article/c85b7a641200e0003bac95a3.html 注意: 1,不要使用64位ubuntu 2,务必分配4g或者以上的swap空间 系统定制基本流程:获取源码 --> 修改源码(包括修改和裁剪)--> 编译修改后的源码 --> 得到目标系统文件 --> 移植系统 --> 测试成功 --> 完成 一,源码下载 谷歌搜索

Android源码编译

Android源码编译学习小结 内容 系统源码编译 笔者之前在学习安卓系统源码的编译,为了能够印象深刻,粗略的总结了以下内容,希望对我一样的初学者有一些帮助. 系统编译的初始化指令 对android编译环境进行初始化很简单,分为两步.第一步打开终端输入source build/envseup.sh加载所需的文件. $ source build/envseup.sh including device/asusource build/envseup.shs/grouper/vendorsetup.s

基于Hi3716cV200的Android源码编译问题---fastboot-burn.bin

在编译源码时有时会报与"fastboot-burn.bin"有关的错误. 解决办法如下: 进入device/hisilicon/bigfish/sdk目录,一次执行 make hiboot_clean; make hiboot_install. 如果在这个过程中报弄cfg.mak文件的错误,解决办法之一是在Android源码根目录进行一次完整编译,直到出错停止,此时会生成cfg.mak文件:解决方法之二是从sdk/configs拷贝单板配置文件到sdk目录并改名为cfg.mak. ==

Docker环境下编译android源码|编译可运行xposed

前言 因为我的电脑是Ubuntu18的版本,成功编译xposed刷入手机之后无法启动,检查了所有的环境,没有问题,发现可能是Ubuntu系统的兼容库的问题,但是我不可能重新安装系统吧,毕竟有点蠢,所以最好的方式就是在docker的Ubuntu容器中编译,统一环境问题,也可以隔离环境平时 工作开发环境,下面开始操作 安装配置docker docker加速,采用对国人友好的镜像地址 通过修改daemon配置文件/etc/docker/daemon.json来使用加速器,执行以下命令: 您可以配置 D

android 源码编译及其运行模拟器相关问题记录

最近一直在看android源码相关的文档,包括编译源码,还有framework层的代码,本人很懒,一直没有写博客,今天想自己在编译一下源码,并且运行在模拟器中. 源码的版本不同,需要的jdk可能也有所不同,一切都参照官方给与的文档,下载源码的方法也参考官方文档. 注意点:1.环境变量要设置正确,不要出现错误 2.基本没有一次就能顺利编译源码的,多少都会出错,根据提示修改错误,安装一些包和库就可以搞定,具体问题具体查找,我遇到的问题也可多了,都是按官方文档解决的.有些问题可能和你的编译环境相关,这