Anbox 折腾记录

本贴最后更新于 1247 天前,其中的信息可能已经事过景迁

最近突然想折腾下 anbox,主要想在 ubuntu touch 上用 anbox。

现在 anbox 有两个不好的方面:只支持 gles2.0 、不支持摄像头。

想在 ubuntu touch 上跑 QQ WX ZFB 这些有强依赖的 APP。

想包 ubuntu touch 做为日常使用系统来用。

在小米 6 上测试发现 QQ 可以跑起来。

微信不能跑:因为登录是的安全认证是通过 webview 加载的,正好 webview 有不能用

webview 在是用 gles 渲染界面时,直接崩溃。

于是在 anbox 的 gles 相关支持代码不断的加日志,期间,在米 6 上弄测试比较慢,就在电脑上用 ubuntu 16.04 来测试。

最后定位到以下原因:

1.egl.getGLString 查询 GL_SHADING_LANGUAGE_VERSION 时返回宿主机实际的值:

2.egl.eglGetConfigAttrib 查询 EGL_RENDERABLE_TYPE 时返回宿主机实际值

3.GLESv2 编码库中 glGetShaderPrecisionFormat_enc 会崩溃并打出 crash 日志

以上修改在电脑 ubuntu16.04 和小米 6 上验证通过。修改内容为 anbox 所使用 android.img 之中的东西。

现在结果,WX、QQ 运行成功。ZFB 未测试。使用米 6 的 ubuntu touch 跑 anbox 后明现比不跑 anbox 卡

接下来就是摄像头的支持。计划把安卓模拟器的摄像头支持代码摘出来合带 anbox 中。计划将 https://github.com/aosp-mirror/platform_external_qemu/tree/emu-2.0-release 中的 android/camera 下代码合并到 anbox 中。预期效果为电脑端可以使用照相机 APP。

PS:现在 ubuntu touch 上 有两个方案在为 ubt 支持安卓软件

https://github.com/ubports/anbox 老方案跑安卓 7.1,定制 LXC 容器。这边测试就是这个。

https://github.com/Anbox-halium/ 新方案 跑安卓 10 ,标准 LXC 容器。但有要求必须是 halium9.0 及以上适配的 ubuntu touch 才支持,新方案会更快。https://github.com/erfanoabdi 为主力在开发。感兴趣的可以持续关注。

  • Anbox
    3 引用 • 4 回帖
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    126 引用 • 169 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 其他回帖
  • kuailexs 1 评论
    作者

    刚刚发现 anbox 的 camera 有人在弄了。https://github.com/alecbarber/anbox

    思路方法一样的。哈哈。我们只管等着用就是了。别人都快弄好了

    等他调好了。我们再在上面搞搞 ubuntu touch 的摄像头就可以了
    kuailexs
  • kuailexs
    作者

    嘿嘿。webview 解决就可以登录 WX 了。等空了打个包出来。ubuntu touch 可以玩 QQWX 了。不过仅在 MI6 上测试过

  • kuailexs
    作者

    哈哈。修改的地方有问题。所以删了。没有修改到根源

kuailexs
喜欢玩C,却靠Java吃饭的码农。 成都

推荐标签 标签

  • etcd

    etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。

    5 引用 • 26 回帖 • 529 关注
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 3 关注
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 160 关注
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖 • 3 关注
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    142 引用 • 442 回帖
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    92 引用 • 899 回帖
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    105 引用 • 127 回帖 • 369 关注
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    223 引用 • 474 回帖 • 1 关注
  • 职场

    找到自己的位置,萌新烦恼少。

    127 引用 • 1706 回帖
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖 • 1 关注
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖 • 3 关注
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    107 引用 • 153 回帖 • 1 关注
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 173 关注
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    51 引用 • 25 回帖 • 2 关注
  • 分享

    有什么新发现就分享给大家吧!

    248 引用 • 1795 回帖
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 3 关注
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 48 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    53 引用 • 40 回帖
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    238 引用 • 224 回帖
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    71 引用 • 535 回帖 • 789 关注
  • V2Ray
    1 引用 • 15 回帖
  • 安全

    安全永远都不是一个小问题。

    200 引用 • 816 回帖
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    20 引用 • 7 回帖 • 1 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 371 关注
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    149 引用 • 257 回帖 • 1 关注
  • 一些有用的避坑指南。

    69 引用 • 93 回帖 • 1 关注