最近因为 Windows 11 打算原生支援 Android Apps,
所以在 Arch Linux 安装了 linux-zen 来试试 Anbox,
试着下载 EhViewer 来看看,安装完全正常执行,
但是尝试安装 LINE 的时候出现了以下错误:
==============================================================
Performing Streamed Install
adb: failed to install line.apk:
Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
==============================================================
找了找 Google 看到一堆人说在 build.gradle 新增以下程式码就可以:
android {
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a','x86_64'
universalApk true
}
}
}
但是大家死都不提及要去哪边用,快疯掉了!
一个可以跑 x86/x86-64 binary 的 android
那没用 houdini 的 anbox 算是什么?
我不知道你的 android image 出了什么问题android x86 要跑 arm/arm64 都是透过 binfmt support把 binary 导去 houdini 执行。houdini 你就当它模拟器吧
你不是说不能直接比?那为什么原本可以跑的用了 Houdini 后反而不能跑哪?很疑惑话说 intel bridge 和 proton wine 这类技术类似吗?
什么技术?你 houdini 跟你 host 跑同一个 kernel 啊
我用 ehviewer,没用 Houdini 可以跑,用了反而不能跑那 Linux 没这种技术吗?
简单说就是无授权使用 gapps(Google) & houdini(intel)
作者:
Adama (So Say We All.)
2021-06-29 16:12:00Win11是开Hyper-V去跑android啊,Anbox是容器不能直接比吧但现在Linux上好像没有模拟器有包含gapps的 除非付费Win11的android是接amazon store,也不会有gapps
anbox 默认又没支援 arm就算你装 houdini 也没有保证一定能跑
现在 AUR 的 anbox-git 基本上是废了,只能从 snap安装,惨!要不然 AUR 那边的好像直接支援 Google Play
作者:
Adama (So Say We All.)
2021-06-30 21:58:00houdini应该就是x86->ARM translation layer,指令转译器anbox是一个容器,用的就是host的kernel。如果host是x86那容器里就是跑x86 android。要跑arm binary就要转译(Asus zenfone 1/2也是intel cpu + x86 android + 转译器)
结果 AUR 中的 anbox-git 有人开始维护后,配上anbox-image-gapps 就 OK 了