1. 准备工作

  1.1 安装gcc 7.x版本

  sudo apt-get install gcc-7 -y

  1.2 安装依赖的库及其工具

  1. sudo apt install build-essential cmake cmake-data debhelper dbus google-mock \
  2. libboost-dev libboost-filesystem-dev libboost-log-dev libboost-iostreams-dev \
  3. libboost-program-options-dev libboost-system-dev libboost-test-dev \
  4. libboost-thread-dev libcap-dev libsystemd-dev libegl1-mesa-dev \
  5. libgles2-mesa-dev libglm-dev libgtest-dev liblxc1 \
  6. libproperties-cpp-dev libprotobuf-dev libsdl2-dev libsdl2-image-dev lxc-dev \
  7. 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. 鼠标悬停设置layui tips提示框

    官方介绍:吸附层,灵活判断出现的位置,默认在元素的右侧弹出. layer.tips(content, follow, options) layer.tips(msg, '#id',{tips: 1}) ...

  2. visio的形状默认是蓝色的填充色,怎么设置为白色为默认色?

    如图所示: 设计->主题->选黑白那个 效果如下:

  3. 十四,K8s集群网络flannel及canal策略

    目录 k8s网络CNI之flannel k8s网络通信模型 常见CNI插件(Container,Network,Interface) 插件通信一般的解决方案 网络插件的应用 Flannel插件 fla ...

  4. Jmeter (二) 参数化

    一.数据 用户 参数化 1.添加 用户参数 添加——>前置处理器 ——>用户参数 2.设置 目标参数 3.变量代替 ${name} 4.线程组 设置循环次数,查看结果数中查看结果 thre ...

  5. 调用libusb_control_transfer 出错,返回-8

    写入 0x81读出 0x01 对USB输出端点进行初始化,包括端点地址.传输类型和最大包长度 注意一下,USB初始化时,也有读/写之分. 写入: cyusb_bulk_transfer(writeha ...

  6. 小程序wx.showToast()方法实现文字换行

    小程序wx.showToast()方法实现文字换行 在文字中间加上  '\r\n' 真机中生效 wx.showToast({ title: `换行前内容\r\n换行后内容`, icon: 'none' ...

  7. vue项目搭建和开发流程 vue项目配置ElementUI、jQuery和Bootstrap环境

    目录 一.VUE项目的搭建 1. 环境搭建 2. 项目的创建和启动 二. 开发项目 1. 配置vue项目启动功能 2. 开发vue项目 (1)项目文件的作用 (2)vue项目开发流程 (3)vue项目 ...

  8. Hadoop-No.11之元数据

    元数据的重要性 三个重要理由,让我们不得不在意元数据 元数据允许用户通过一张表的高一级逻辑抽象,而不是HDFS中文件的简单几何,或者HBase中的表来与数据交互.这意味着用户不比关心数据是如何存储的, ...

  9. BZOJ 2882: 工艺 (SA/SAM/最小表示法)

    我写的O(nlogn)O(nlogn)O(nlogn)的SA 8000ms 被 O(n)O(n)O(n)的SAM 2800ms 和 O(n)O(n)O(n)的最小表示法 500ms 头都锤爆- COD ...

  10. Flyway对比Liquibase(转)

    数据库迁移工具. 很多应用的运行是需要数据库支持的,而随着快速迭代,产品更替的节奏加快,除了产品本身需要不断更新以外,数据库也需要做出合适的管理了. 为什么需要数据库迁移管理 比如第一个版本的产品只包 ...