Android源码环境搭建(aosp Ubuntu 16.04)

FrameWork入门课视频链接:https://edu.csdn.net/course/detail/30298
FrameWork实战课1视频链接:https://edu.csdn.net/course/detail/30275
专题博客系列:
Android 8.1 zygote 启动过程源码
Android Framework实战视频–Zygote的fork进程篇
Android Framework实战视频–SystemServer启动篇
Android Framework实战视频–SystemServer启动FallbackHome篇
Android Framework实战视频–FallbackHome进程启动及Activity启动篇
Android Framework实战视频–FallbackHome结束启动Launcher篇

作者:千里马
课程要求:
电脑配置:双核,内存最少 16G,硬盘 200G 以上,独立安装 Ubuntu16.4 系统(http://releases.ubuntu.com/16.04/下面的ubuntu-16.04.7-desktop-amd64.iso,如果网速慢自己百度找一个阿里镜像)
(优先考虑直接电脑安装Ubuntu > windows和Ubuntu双系统 > windows上安装VMware方式,不要不建议安装virtualbox)
学员要求:最少 1 年以上应用开发经验,推荐在 3 年左右 Android 应用开发经验,
熟悉 Java 语言,可以看懂 C/C++
1、安装 ubuntu16.04(因为这个版本可以直接安装 openjdk-8,如果其他版本自行找方法)
2、openjdk 8 的安装
sudo apt-get install openjdk-8-jdk
3、设置默认 java 和 javac(可选)
由于本人当前 Ubuntu 上没有安装其他版本的 jdk,所以跳过此步骤
sudo update-alternatives --config java
sudo update-alternatives --config javac
4、 检查版本
java -version
打印如下:
openjdk version “1.8.0_252”
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~16.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
5、安装所需的软件软件包(注意一定要拷贝换行问题,最好先拷贝到txt上,再拷贝到命令行)

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 libgl1-mesa-dev libxml2-utils xsltproc unzip

注意:如果是ubuntu 20.04编译需要额外配置一些:
1、安装两个包:python 和 libncurses5

sudo apt-get install python libncurses5

2、同时还需要在用户目录下的 .bashrc文件中加入以下一行,用vi命令既可以:

export LC_ALL=C

最后还需要source命令:

source .bashrc

6、源码下载
6.1 网络下载方法:
国内不可以访问 google 故无法下载 aosp 源码,国内清华大学源有相关镜像
参考链接:
https://mirror.tuna.tsinghua.edu.cn/help/AOSP/
6.2 本地解压方式
下载链接地址:https://pan.baidu.com/s/1Jwsrb-zwrQO-HEHo5eo9Jg 提取码:uu1j
注意下载完成后md5进行一下校验,如果和这里不一样请重新下载

test@test-Lenovo:~$ md5sum android-8.1.0_r1.7z
9c68e5b226494e8ba3accd0d4bcdd744  android-8.1.0_r1.7z

百度云下载相关的源码包,进行本地解压,下载我提供的百度云链接 android-8.1.0_r1.7z 文件

  1. sudo apt-get install p7zip
  2. 7zr x android-8.1.0_r1.7z
    会有一个 overwirte 提示直接输入:y 同意既可以 (注意:这里最后会出现一个Sub Item error大家可以忽略)
    7、编译 aosp 代码
    1、 . build/envsetup.sh
    2、lunch
    这里我们选择:6 –-- > aosp_x86_64
    3、make ANDROID_COMPILE_WITH_JACK=false (建议直接 :make,但是会产一个jackserver错,解决方法点击这里)
    经历大概几个小时等待
    出现如下打印代表成功:

build completed successfully (05:44:08 (hh:mm:ss))

4、执行命令:emulator,出现如下图界面
(注意只要terminal关闭后就需要重新进行
1、 . build/envsetup.sh
2、lunch
然后可以直接emulator,没有修改不需要make,有修改需要make
)

8、修改自己的第一行代码,在框架运行
安装 vim:
sudo apt-get install vim
下载 android studio:http://www.android-studio.org/
9、初始化仓库(因为压缩包只有代码,没有 git仓库,因为 git仓库空间太大,只需要对会修改地方建
立仓库)
cd framework
git init
git add *
git commit -m “init first version”
如过还没有设置 git邮箱等
git config --global user.email “test@example.com”
git config --global user.name “test”
10、添加自己的一句 log打印在 framework上
cd framework/base
find -name Activity.java
vi ./core/java/android/app/Activity.java
在添加 onCreate中添加一句 android.util.Log.i(“test1”, “Activity is onCreate”);
回到根目录:
make
或者单独编译单模块make framework,然后push framwork.jar(但是不适合模拟器,只适用于实体debug手机)
11、加载源代码到 AndroidStudio
执行以下四条命令:

  1. “. build/envsetup.sh” (source可以用 .代替,即". build/envsetup.sh")
  2. “lunch”,并选择要编译的项目
  3. “make idegen -j4” (这里的 -j4表示用 4线程来编译,可以不加)
  4. “development/tools/idegen/idegen.sh” (报错find: ‘out/target/product/generic_x86_64/root/d’: Permission denied没有关系不影响ipr和iml文件生成)

android系统框架知识技术交流
https://blog.csdn.net/learnframework/article/details/127483545

Android源码环境搭建(aosp Ubuntu 16.04)相关推荐

  1. linux下嵌入式编译环境搭建,ubuntu系统下嵌入式开发环境搭建(ubuntu 16.04)

    1.安装git sudo apt-get install git 2.安装vim sudo apt-get install vim 3.安装arm-linux-gcc (1) arm-linux-gc ...

  2. datax源码环境搭建

    文章目录 datax源码环境搭建 写在前面 环境 下载源码并编译 错误1 错误2 运行 生产模式 debug模式 datax源码环境搭建 写在前面 DataX 是阿里巴巴集团内被广泛使用的离线数据同步 ...

  3. spring boot 源码_SpringBoot2.1.x源码环境搭建详解

    前言 笔者试着从GitHub上拉取SpringBoot源码.然鹅,在本地IDEA打开后,爆各种编译错误,各种问题.经过反复操作,现在总结一下SpringBoot源码环境搭建的实践,便于后期对于源码的学 ...

  4. Android:源码环境编译自定义的APP到ROM(System Image)中

    有时候我们需要在源码环境中增加自己的应用或模块,随ROM一起发布. 下面讲述相关步骤: 1. 首先可以在SDK环境下进行编码设计(如果你的APP不涉及到emulator无法模拟的硬件的话) 也可以参考 ...

  5. zookeeper3.5.4源码环境搭建

    zookeeper3.5.4源码环境搭建 1. 准备工作 渠道 地址 网盘 zk源码下载地址 提取码:5555 注意:因为zookeeper是由ant来构建的,所以需要使用ant命令来转换成工程,然后 ...

  6. Kafka源码环境搭建

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  7. ZooKeeper源码阅读心得分享+源码基本结构+源码环境搭建

    首发CSDN:徐同学呀,原创不易,转载请注明源链接.我是徐同学,用心输出高质量文章,希望对你有所帮助. 一.心得分享 如何阅读ZooKeeper源码?从哪里开始阅读?最近把ZooKeeper源码看了个 ...

  8. win10环境下的spark2.4源码环境搭建

    spark2.4源码环境搭建 1.概述 2.版本信息及环境 3.基础环境准备 4.源码准备 5.IDEA设置 5.1 IDEA内maven插件设置与更新 5.2 IDEA内导入spark各个模块 6. ...

  9. android源码环境下编译fourthling.cling库的依赖问题

    记录下,编译fourthline.cling静态库的依赖问题. 1,因为需要在android的源码环境下调试依赖cling的投屏,需要将fourthline.cling编译为静态库. 首先预制依赖的. ...

最新文章

  1. python写完程序保存_Python学习笔记——文件处理
  2. 苹果首席设计官离职!这个被称为“强纳肾”的男人,设计了iMac、iPhone等无数产品...
  3. 为任务关键型Java应用优化垃圾回收
  4. v2.matchTemplate图片尺寸问题
  5. 58同城创始人姚劲波:未来十年是中国创业最好机会
  6. 增大Linux的socket最大连接数(针对select,要编译内核)
  7. ML之LoRBaggingRF:依次利用LoR、Bagging、RF算法对泰坦尼克号数据集 (Kaggle经典案例)获救人员进行二分类预测(最全)
  8. 5.intent_activity
  9. 应届算法岗,选择巨头还是AI明星创业公司
  10. 什么是Eureka注册中心
  11. Linux操作系统的性能将主要取决于,大学计算机基础试题题库及复习资料
  12. sudo apt update提示某个源超时
  13. 【实践】CTR预估在动态样式建模和特征表达学习方面的进展
  14. 如何通过 Siri 播放视频?且看优酷技术接入实践
  15. java day60【 Spring 中的 JdbcTemplate[会用] 、Spring 中的事务控制 、Spring5 的新特性[了解] 】...
  16. 数字图像处理笔记——Snakes算法、活动轮廓以及水平集(Snakes, active contours, and level sets)
  17. python3随机种子的使用及理解
  18. Selenium+Appium底层原理
  19. vue如何在一个工程里判断h5还是pc,(利用在一个页面显示不同router-view内容原理,本文只使用于单页面项目,多页面项目请查看我另一篇博文)
  20. QEMU-KVM 安装方法

热门文章

  1. 如何下载某些IT培训机构上课视频——可以发送/保存
  2. 【LVGL(6)】显示中文设置,制作中文字库
  3. 数据分析实战之超市零售分析(附python代码)
  4. 【调剂】东华理工大学2020年硕士研究生预调剂信息
  5. 昇腾Mindstudio官方样例黑白图片上色
  6. 单例模式(Singleton) 1
  7. matplotlib画会动的椭圆
  8. 【CXY】JAVA基础 之 Map
  9. JSP 电影共享网站系统jsp编程语言mysql数据库myeclipse开发
  10. 微信订阅号申请与使用