/
b. 编译安卓7.1.1系统anbox_arm64-userdebug版本img镜像

b. 编译安卓7.1.1系统anbox_arm64-userdebug版本img镜像

0. 编译环境

  • 代码分支:anbox分支源码

  • 系统:Ubuntu22.04

  • 内存:16G

1. 下载repo工具

mkdir -p ~/.bin PATH="${HOME}/.bin:${PATH}" curl https://storage.googleapis.com/git-repo-downloads/repo > ~/.bin/repo chmod a+rx ~/.bin/repo

创建phyton软连接,否则repo下载源码时会报错。

sudo ln -s /usr/bin/python3 /usr/bin/python

2. 通过repo工具下载安卓系统anbox分支源码

mkdir anbox-work cd anbox-work/ repo init -u https://github.com/anbox/platform_manifests.git -b anbox repo sync -c -j6

3. 安装编译依赖

4. 编译安卓系统anbox分支源码

首先使用envsetup.sh脚本初始化环境

使用lunch初始化构建

提供如下全部构建目标列表。

开始全部编译

5.打包android.img镜像

构建完成后,我们需要获取结果并创建一个适合Anbox的镜像文件

(如果是编译的其他架构,使用您的目标架构名称替换arm64)
最后在$HOME/anbox-work/vendor/anbox得到一个android.img

6.写在最后

编译过程中遇到的一些问题以及解决办法。

  • 问题1

在Ubuntu20.04遇到了,You asked for an OpenJDK based build but your version is java version "1.8.0_77" Java(TM) SE Run

解决方法:原因是编译Android的源码时要安装 openjdk而不是jdk,安装openjdk即可。

  • 问题2

解决方法:这个错误是由于本地LC_ALL变量导致的,可以在编译前将这个值设置为C即可,即:export LC_ALL=C

  • 问题3

编译报错:SSL error when connecting to the Jack server......recipe for target 'ninja_wrapper' failed

解决方法:

1、cd /etc/java-8-openjdk/security/到该目录下;
sudo vim java.security(注意需要用root用户去打开并修改);
remove "TLSv1, TLSv1.1"这两个配置;

2、重启server

  • 问题4

编译报错Error: Could not find or load main class com.tonicsystems.jarjar.Main

解决方法:

然后按上面的步骤4重新编译

  • 问题5

编译anbox_arm64-userdebug版本报错,
external/libavc/decoder/arm/ih264d_function_selector.c:67: error: undefined reference to 'ih264d_init_function_ptr_av8'

解决方案:

修改文件,./external/libavc/Android.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
ARCH_ARM_HAVE_NEON:=true       //增加这一行
# encoder
include $(LOCAL_PATH)/encoder.mk
# decoder
include $(LOCAL_PATH)/decoder.mk

 

Add label

Related content

b. 搭建anbox运行环境(x100笔记本和d2000pc机)
b. 搭建anbox运行环境(x100笔记本和d2000pc机)
More like this
AOSP镜像和Linux程序编译
AOSP镜像和Linux程序编译
More like this
4.2.4 使用FDE仓库编译waydroid
4.2.4 使用FDE仓库编译waydroid
More like this
4.2.5 使用FDE仓库编译redroid镜像
4.2.5 使用FDE仓库编译redroid镜像
More like this
Android APK编译
Android APK编译
More like this
Android Studio 在 arm64 上的适配说明
Android Studio 在 arm64 上的适配说明
More like this