Anbox 折腾记录

最近突然想折腾下 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 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    121 引用 • 167 回帖 • 475 关注

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...