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

2023-06-27 11:30:18 浏览数 (1)

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

作者:千里马

腾讯课堂千里马手把手教你学framework课程地址:https://ke.qq.com/course/package/83580?tuin=7d4eb354

更多内容关注微信公众号:千里马学框架

课程要求:

电脑配置:双核,内存最少 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上,再拷贝到命令行)

代码语言:shell复制
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**

代码语言:shell复制
sudo apt-get install python libncurses5

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

代码语言:shell复制
export LC_ALL=C

最后还需要source命令:

代码语言:shell复制
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进行一下校验,如果和这里不一样请重新下载

代码语言:shell复制
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错,解决方法点击这里) 经历大概几个小时等待 出现如下打印代表成功:

(如果有的机器有dex2oatd 时候报错,直接core dumped了,请使用关闭优化命令:

make WITH_DEXPREOPT=false)

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

4、执行命令:emulator,出现如下图界面

在这里插入图片描述在这里插入图片描述

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文件生成)

学完8.1后,aosp12/13高版本android环境搭建:

[ubuntu 20.04 android 12/13

https://blog.csdn.net/learnframework/article/details/121345533](https://blog.csdn.net/learnframework/article/details/121345533)

[手把手教你aosp android 12 pixel 解锁oem 编译刷入大全

https://blog.csdn.net/learnframework/article/details/125269456](https://blog.csdn.net/learnframework/article/details/125269456)

[aosp 12/13/lineageos19.1 framework学习编译刷入小米手机,努比亚

https://blog.csdn.net/learnframework/article/details/128438325](https://blog.csdn.net/learnframework/article/details/128438325)

0 人点赞