Android 系统源码编译

这篇具有很好参考价值的文章主要介绍了Android 系统源码编译。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


Android系统源码编译网上流传着很多优秀的文章,为什么我要写这个呢,主要的原因是记录编译系统的过程,这里以Android9.0,手机设备Piexl一代为例来讲述编译和刷机过程。

一、环境准备

ubuntu18.04
内存至少12G RAM
硬盘空间至少200GB

二、下载Android源码

(1) 安装python

apt-get install python (Repo 是基于 Python 2.x 中的特定功能构建的,与 Python 3 不兼容。要使用 Repo,请安装 Python 2.x:)

(2)安装Git & 配置Git信息

sudo apt-get install git 
git config --global user.name (Your Name)
git config --global user.email (you@example.com)

(3)安装curl

sudo apt-get install curl

(4) 下载repo


curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=~/bin:$PATH

(5)创建源码存放目录

 mkdir /home/ubuntu/aosp  (根据实际情况来新建目录)
 cd /home/ubuntu/aosp

(6)初始化仓库

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest

(7) repo指定Android版本

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-9.0.0_r46

(8)同步源码

repo sync  (等待源代码下载完成,长时间等待,若失败请检查网络等情况)

三、系统编译

(1)安装openjdk8

sudo apt-get install openjdk-8-jdk  (安装不成功检查ubuntu是否换源、是否有更新软件包列表)

(2)安装依赖

sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386 

sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib 

sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 

sudo apt-get install dpkg-dev libsdl1.2-dev libesd0-dev

sudo apt-get install git-core gnupg flex bison gperf build-essential

sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib 

sudo apt-get install libc6-dev-i386 

sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev 

sudo apt-get install lib32z-dev ccache

sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4

(3) 设置启用ccache (加快重新编译源码时的速度。可选)

sudo apt install vim

export USE_CCACHE=1  (在你home主目录的.bashrc中加入)
export CCACHE_DIR=/home/ubuntu/.ccache  (指定一个缓存目录,也可以不指定,默认目录为你当前用户目录下的.ccache)
aosp/prebuilts/misc/linux-x86/ccache/ccache -M 50G (这个命令在Android源码中,缓存大小按照自己的硬盘来适当调整)
source ~/.bashrc  (source命令使修改立即生效)

(4)下载手机驱动

a. 查看源代码标记和 build版本,用于查看下载适合的驱动版本。
android源码,移动安全,移动安全、工具、技术
b. 从上图可知要下载QP1A.190711.019的驱动(这里以piexl 2、android10.0.0_r1为例,请按照实际情况下载),查找驱动并下载。
android源码,移动安全,移动安全、工具、技术
c. 将下载的文件解压放在源码根目录,授权执行sh文件,运行后,会提示你查看证书,按Enter键一行行的查看,出现输入提示时,输入 I ACCEPT,解压到了vendor 目录下

./extract-google_devices-sailfish.sh
./extract-qcom-sailfish.sh

(5)开始编译

source build/envsetup.sh

lunch

lunch 47 (lunch选定的版本按照实际情况来)
make -j16  (和cpu有关,适当调整数字)

(6)完成编译标识

#### build completed successfully (01:35:28 (hh:mm:ss)) ####

四、刷机

当给真机编译好系统后,可以在/aosp/out/host/linux-x86/bin目录下找到fastboot工具

(1)设置环境变量

编译出的系统镜像所在目录

export Android_PRODUCT_OUT=/home/jhan/aosp/out/target/product/sailfish

(2)刷入镜像

fastboot flashall -w  (手机要解BL锁且进入bootloader后执行此命令)

五、报错整理

Process will be GID/EGID=0 in the global user namespace, and will have group root-level access to files

报错点往上找“/bin/bash”

https://www.yisu.com/zixun/366049.html文章来源地址https://www.toymoban.com/news/detail-723298.html

到了这里,关于Android 系统源码编译的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《移动互联网技术》 第十章 系统与通信: 掌握Android系统的分层架构设计思想和基于组件的设计模式

    🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬

    2024年02月16日
    浏览(55)
  • 【移动计算技术(Android)】期末复习(HITWH)

    目录 选择题 选择题知识点汇总 Activity Intent Broadcast BroadcastReceiver 如何自定义Receiver 如何注册接收器 Service SharedPreferences 三种访问模式 如何创建 如何存储/修改 如何读取 内部存储 openFileOutput openFileInput SD卡 资源文件 SQLite SQLiteOpenHelper(创建数据库) SQLiteDatabase(进行具体操作

    2024年02月03日
    浏览(39)
  • 手机移动开发技术,,Android开发经典实战

    面试题库 按照系统分类 按照大厂分类 《2017-2020字节跳动Android面试真题解析》 大神手写整理笔记类 《Android框架体系架构》 书籍类 不需要太多,精就好! 《第一行代码第二版》 技能提升资料库 一共十个专题,包括了Android进阶所有学习资料,Android进阶视频,Flutter,java基础

    2024年04月13日
    浏览(45)
  • 《Android 移动应用基础教程(Android Studio)(第2版)》【学习笔记】【2023春】【附源码】

    《Android 移动应用基础教程(Android Studio)(第2版)》黑马程序员 源代码 Android——六大基本布局总结/CSDN@小马 同学 【Android】线性布局(LinearLayout)最全解析/CSDN@Teacher.Hu 一个不错的计算器界面👇 Android Studio App LinearLayout多层布局嵌套/CSDN@pythontojava 一个简单的布局👇 Andro

    2024年02月01日
    浏览(60)
  • Android 源码编译方法

    和你一起终身学 习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、查看项目所在分支 二、切换到目标分支 三、查看当前所在分支 四、编译Android源码 五、source Android 编译环境 六、lunch 所需的编译项目 七、单编 模块 八、push 模块 验证修改是

    2024年02月07日
    浏览(45)
  • android 反编译工具使用

    记录一下dex2jar和ByteCode viewer的使用。 下载dex2jar 官方地址是https://github.com/pxb1988/dex2jar,下载完成后解压到特定的目录中,然后将其配置到环境变量中。 准备我们要反编译的apk,通过如下命令将apk反编译成jar文件 接下来就是查看jar文件的内容了,可视化工具也有不少,我使用

    2024年01月17日
    浏览(42)
  • AOSP 源码编译android 12

    目录 一、python安装      a. python2安装     b. python3安装 二、repo管理多个git    a.第一步,   新建一个空白文件夹保存repo引导文件,并包含你的路径    b.下载启动器  c.将git-repo中的repo文件复制到 1 创建的.bin目录中  d.修改权限 e. 执行版本检查 三、初始化工程   a.执行创建文

    2024年01月16日
    浏览(50)
  • Android源码的下载,编译,刷机

    上篇说到《framework开发环境搭建》,本篇继续介绍Android源码的下载、编译、刷机 先贴上Android源码官网地址:https://source.android.com/docs/setup/start/,俗称AOSP,Android开源项目,这里我总结一下具体该怎么操作。 1、安装repo Android源码同时使用git和repo进行管理,repo是基于git的代码

    2024年02月02日
    浏览(54)
  • Android apktool反编译工具

    使用下面的命令反编译apk: java -jar apktool_2.7.0.jar d test.apk -o testDir 如果不涉及资源文件的修改,所以加上 -r 参数不会反编译资源文件 java -jar apktool_2.7.0.jar -r d test.apk -o testDir 修改完成后使用下面的命令回编译: java -jar apktool_2.7.0.jar b  testDir

    2024年02月13日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包