1. 准备工作

  1.1 安装gcc 7.x版本

  sudo apt-get install gcc-7 -y

  1.2 安装依赖的库及其工具

sudo apt install build-essential cmake cmake-data debhelper dbus google-mock \
libboost-dev libboost-filesystem-dev libboost-log-dev libboost-iostreams-dev \
libboost-program-options-dev libboost-system-dev libboost-test-dev \
libboost-thread-dev libcap-dev libsystemd-dev libegl1-mesa-dev \
libgles2-mesa-dev libglm-dev libgtest-dev liblxc1 \
libproperties-cpp-dev libprotobuf-dev libsdl2-dev libsdl2-image-dev lxc-dev \
pkg-config protobuf-compiler -y

  1.3 安装snapcraft打包工具

   sudo apt-get install snapcraft -y

2. 获取源码

git clone https://github.com/anbox/anbox.git ~/anbox

cd ~/anbox

3. 创建编译目录

mkdir ~/anbox/build

cd ~/anbox/build

4. 生成Makefile

cmake ..

5. 编译

make -j4

6. 打包成snap包

mkdir ~/anbox/android-images

wget -O ~/anbox/android-images/android.img https://build.anbox.io/android-images/2018/07/19/android_amd64.img

cd ~/anbox

snapcraft

  错误处理:

  6.1 Failed to fetch stage packages: Error downloading packages for part 'anbox': The
 package 'libboost-program-options1.58.0' was not found..

  直接修改~/anbox/snap/snapcraft.yaml文件中的软件包名

    stage-packages:
          - libboost-log1.58.0 -> - libboost-log1.62.0
          - libboost-iostreams1.58.0 -> - libboost-iostreams1.62.0
          - libboost-program-options1.58.0 -> - libboost-program-options1.62.0
          - libboost-thread1.58.0 -> - libboost-thread1.62.0

  6.2 Cloning into '/home/jello/develop/source/github/anbox/parts/swiftshader/src'...
fatal: unable to access 'https://swiftshader.googlesource.com/SwiftShader/': Fai
led to connect to swiftshader.googlesource.com port 443: Connection timed out   
Sorry, an error occurred in Snapcraft:

    修改~/anbox/snap/snapcraft.yaml中的以下内容:

        swiftshader:
          plugin: cmake
          source: https://swiftshader.googlesource.com/SwiftShader -> https://github.com/google/swiftshader.git

  6.3 The linker version '2.23' used by the base 'core' is incompatible with files in this snap:

    sudo snap install lxd

    sudo lxd init

    sudo snapcraft cleanbuild

 7. 安装生成的snap包

snap install --dangerous --devmode ~/anbox/*.snap

ubuntu 18.04 64bit下如何源码编译安装anbox的更多相关文章

  1. Ubuntu 14.04 LTS 下使用源码编译安装 Sagemath 6.7 x64 (小结)

    原先博客放弃使用,几篇文章搬运过来 下载源码包 系统的最低要求: 6GB 硬盘 : 2GB RAM. 命令行工具: A C/C++ compiler: Since Sage builds its ow ...

  2. ubuntu 18.04 64bit下如何安装安卓虚拟机anbox?

    一. 安装snapd sudo apt-get install snapd 二. 安装adb sudo apt-get install adb 三. 安装必要的内核模块 wget https://la ...

  3. ubuntu下mysql源码编译安装

    建议:cpu4核以上,内存4G以上 1. 安装环境:Ubuntu Server 14.10MySQL-5.6.23.tar.gz 2. 安装必备的工具sudo apt-get install make ...

  4. Ubuntu系统下OpenDaylight源码编译安装

    操作系统:Linux x64 / Ubuntu 14.04 研究领域:软件定义网络SDN (Software-defined Networking) 开发组件:OpenDaylight 声明:转载请注 ...

  5. 在Linux下用源码编译安装apache2

    Linux下安装一个软件,最好去看下它的官方guide,apache2.4的安装安装guide 0. installation guide http://httpd.apache.org/docs/2 ...

  6. Mac下使用源码编译安装TensorFlow CPU版本

    1.安装必要的软件 1.1.安装JDK 8 (1)JDK 8 can be downloaded from Oracle's JDK Page: http://www.oracle.com/techn ...

  7. centos7下比特币源码编译安装

    今天我们介绍比特币的源码安装过程,是利用编译安装的 首先安装依赖 1 yum install -y boost-devel qt-devel protobuf-devel qrencode-devel ...

  8. 001_centos7下比特币源码编译安装

    今天我们介绍比特币的源码安装过程,是利用编译安装的 首先安装依赖 yum install -y boost-devel qt-devel protobuf-devel qrencode-devel l ...

  9. linux下如何源码编译安装vim

    1. 获取源码 git clone https://github.com/vim/vim.git ~/vim cd ~/vim 2. 配置 ./configure --prefix=/home/jel ...

随机推荐

  1. fetch的文件流下载及下载进度获取

    下载过程中,获取进度,fetch API并没有提供类似xhr和ajax的 progress所以用 getReader()来循环读取大小 let size = 0; fetch( URL() + `/s ...

  2. 关于api接口以及页面数据通信域名,缓存cdn设置优化

    以B站为例: 主域名:www.bilibili.com 账户登录注册相关域名,包括app登录:passport.bilibili.com 静态资源css,js,img等相关域名:static.bili ...

  3. Winfrom TextBox 添加水印文字 + 字体颜色

    using System.Drawing; using System.Windows.Forms; namespace KK.WaterMark.Control { public partial cl ...

  4. PAT Basic 1051 复数乘法 (15 分)

    复数可以写成 ( 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 1:也可以写成极坐标下的指数形式 (,其中 R 是复数模,P 是辐角,i 是虚数单位,其等价于三角形式 (. 现给定两 ...

  5. css 模块化

    什么是css模块化思想?(what) 为了理解css模块化思想,我们首先了解下,什么是模块化,在百度百科上的解释是,在系统的结构中,模块是可组合.分解和更换的单元.模块化是一种处理复杂系统分解成为更好 ...

  6. jpa @Query()参数设置,:冒号方式、?NO.问号方式、实体类对象参数设置

    一.service层事务(update/delete) @Transactional(rollbackFor = Exception.class) 二.@Query()参数设置 ?x  和:XX不能混 ...

  7. vs调试时,不显示局部变量

    为了测试一个函数的返回值,就在某个函数里加了一个局部变量,调试却不显示所添加变量的信息. 你一定设置成了release 模式.改为debug就可以了. 比较弱智的问题,mark一下.

  8. 卸载nginx

    sudo apt-get remove nginx nginx-common # 卸载删除除了配置文件以外的所有文件. sudo apt-get purge nginx nginx-common # ...

  9. 01_3大配置管理工具、SaltStack安装、修改minion_id

    1.配置管理 1.1 puppet /'pʌpɪt/  木偶:傀儡:受他人操纵的人 使用自有的puppet描述语言,可管理配置文件.用户.cron任务.软件包.系统服务等. 问题: 学习曲线非常陡峭 ...

  10. [React] Always useMemo your context value

    Have a similar post about Reac.memo. This blog is the take away from this post. To understand why to ...