ubuntu 18.04 64bit下如何源码编译安装anbox
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
最新文章
- win7 打印机共享
- 分割超大Redis数据库例子
- RxJava 和 RxAndroid 五(线程调度)
- 基于 IdentityServer3 实现 OAuth 2.0 授权服务【客户端模式(Client Credentials Grant)】
- Zend Debugger 配置
- RHEL 6.4中解决xx用户不在sudoers列表,此事将被报告的问题
- java 求取某一段时间内的每一天、每一月、每一年
- 实例详解 EJB 中的六大事务传播属性--转
- PAT (Advanced Level) 1061. Dating (20)
- 视频流PS,PS封装H264
- 【雷神源码解析】无基础看懂AAC码流解析,看不懂你打我
- python数据结构总结
- 20165231 2017-2018-2 《Java程序设计》第2周学习总结
- java技术突破要点
- TCP网络协议通信原理(客户端和服务器端)
- [Vue warn]: Do not use built-in or reserved HTML elements as component id: header
- python-部分redis
- c#: List.Sort()实现稳固排序(stable sort)
- linux下如何查看多核负载情况【转】
- 面向对象OO第15次作业总结