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. django 使用mysql数据库

    一 修改settings里面的配置文件 import pymysql # 一定要添加这两行!通过pip install pymysql! 或者pycharm 里面安装 pymysql.install_ ...

  2. java_day02_标识符等

    ch02 目标: 1. 标识符.关键字和类型介绍 2. 如何构建类---------------------------------1.注释 作用:使部分内容只为程序员可见,不为编译器所编译.虚拟机所 ...

  3. Linux下Mysql 不能访问新数据文件夹问题

    新挂载的盘,打算将数据文件夹配置到 /data/mysql,却无法启动mysqld. 除了将目录授权给mysql用户和组以外 chown -R mysql:mysql /data/mysql 太需要将 ...

  4. MySQL查询多行重复数据SQL

    1 详见如下 SELECT day_time,`city_code`,count(1) as num FROM t_user_register_analyse GROUP BY `day_time`, ...

  5. 3.Shell 接收用户的参数

    1.Shell 传递参数 我们可以在执行 Shell 脚本时,向脚本传递参数,Linux系统中的Shell脚本语言已经内设了用于接收参数的变量,变量之间可以使用空格间隔. 例如$0对应的是当前Shel ...

  6. python操作kafka实践

    1.先看最简单的场景,生产者生产消息,消费者接收消息,下面是生产者的简单代码. ------------------------------------------------------------ ...

  7. NOIP2016 Day1 T2 天天爱跑步(树上差分,LCA)

    原文链接 原题链接 题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.<天天爱跑步>是一个养成类游戏,需要玩家每天按时上线,完成打卡任务. 这个游戏 ...

  8. codeforces 576C Points on Plane 相邻两点的欧拉距离

    题意:给出n个点,要求排序后,相邻两点的欧拉距离之和小于等于2.5e9做法:由于0≤ xi, yi ≤ 1e6,所以可以将x<=1000的点分成一份,1000<x<=2000的点分成 ...

  9. PHP程序员的技能图谱

    PHP知识图谱      

  10. Redis 安装 与 使用

    下载Redis压缩包.地址:https://github.com/MicrosoftArchive/redis/releases 下载完成后,双击运行安装程序. 点击 Next . 点击 Next 等 ...