ユーザ用ツール

サイト用ツール


サイドバー

最新の10件
一覧
linux:android:anbox

AnBox

エミュレーションではなくコンテナ(LXC)で動作するので高速. ただ,moduleが別途必要なのが少し面倒.

Install

Debian sid amd64

Kernel module の導入

※Linux 5.7 以降で動かなくなっている.

UbuntuだとPPAがあるが,他の環境だと無いのでDKIMに頑張ってもらう.

$ git clone https://github.com/anbox/anbox-modules
$ cd anbox-modules
$ sudo cp anbox.conf /etc/modules-load.d/
$ sudo cp 99-anbox.rules /lib/udev/rules.d/
$ sudo cp -rT ashmem /usr/src/anbox-ashmem-1
$ sudo cp -rT binder /usr/src/anbox-binder-1
$ sudo dkms install anbox-ashmem/1
$ sudo dkms install anbox-binder/1
$ lsmod | grep -e ashmem_linux -e binder_linux
binder_linux          118784  0
ashmem_linux           16384  0
$ ls -alh /dev/binder /dev/ashmem
crw------- 1 root root  10, 58 Mar 16 20:05 /dev/ashmem
crw------- 1 root root 511,  0 Mar 16 20:05 /dev/binder

Linux 5.7以降でanboxが動作するようにLinux Kernelを構成する

# Android
#
CONFIG_ASHMEM=y
# end of Android
# Android
#
CONFIG_ANDROID=y
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
CONFIG_ANDROID_BINDER_IPC_SELFTEST=y
# end of Android

pkg版

$ sudo apt install anbox

snap版

snap版もある

$ snap install --devmode --beta anbox

adbを導入

$ sudo apt install adb

サービスの手動起動(通常は必要ない)

$ sudo systemctl start anbox-container-manager.service
$ systemctl --user start anbox-session-manager.service

アプリケーションマネージャの起動

$ anbox.appmgr

アプリケーションを直に実行

$ anbox launch --package=org.anbox.appmgr --component=org.anbox.appmgr.AppViewActivity

AnBox shellに入る

pkg版

$ sudo /usr/share/anbox/anbox-shell.sh

snap版

$ /snap/bin/anbox.shell

apkパッケージの取得

F-Droid

$ wget https://f-droid.org/FDroid.apk https://f-droid.org/FDroid.apk.asc
$ gpg --verify ./FDroid.apk.asc 
gpg: assuming signed data in './FDroid.apk'
gpg: Signature made Thu 11 Apr 2019 09:41:19 PM JST
gpg:                using RSA key 7A029E54DD5DCE7A
gpg: Can't check signature: No public key
$ gpg --receive-keys 7A029E54DD5DCE7A
gpg: key 41E7044E1DBA2E89: public key "F-Droid <admin@f-droid.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
$ gpg --verify ./FDroid.apk.asc 
gpg: assuming signed data in './FDroid.apk'
gpg: Signature made Thu 11 Apr 2019 09:41:19 PM JST
gpg:                using RSA key 7A029E54DD5DCE7A
gpg: Good signature from "F-Droid <admin@f-droid.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 37D2 C987 89D8 3119 4839  4E3E 41E7 044E 1DBA 2E89
     Subkey fingerprint: 802A 9799 0161 1234 6E1F  EFF4 7A02 9E54 DD5D CE7A
$ adb -s emulator-5558 install ./FDroid.apk
Success

別端末から取り出し

$ adb devices
List of devices attached
PM1LHMA861101791        device
emulator-5558   device

欲しいパッケージを探す

$ adb -s PM1LHMA861101791 shell pm list packages -f | grep comic
package:/data/app/jp.co.kodansha.comicdays-Q-xIdOYHkVEGgkHH-8M-hg==/base.apk=jp.co.kodansha.comicdays
package:/data/app/com.comic_fuz-i3qukKn--k5Xjvzmpexe4g==/base.apk=com.comic_fuz
$ adb -s PM1LHMA861101791 shell pm list packages -f | grep walker
package:/data/app/jp.bookwalker.kreader.android.epub-HrJQAeWh4nj91NNzBfk2Cg==/base.apk=jp.bookwalker.kreader.android.epub
package:/data/app/jp.magazinewalker.app01-E7JWcZBrlfOYUjMA4v6Wjw==/base.apk=jp.magazinewalker.app01

取り出し

$ adb -s PM1LHMA861101791 pull /data/app/jp.co.kodansha.comicdays-Q-xIdOYHkVEGgkHH-8M-hg==/base.apk
/data/app/jp.co.kodansha.comicdays-Q-xIdOYHkVEGgkHH-8M-hg==/base.apk: 1 file pulled. 30.4 MB/s (14266802 bytes in 0.447s)

導入

$ adb -s emulator-5558 install ./base.apk 
Success

archtectureの違いでの失敗

$ adb -s emulator-5558 install ./base.apk 
adb: failed to install ./base.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]

ABI(Application Binary Interface)の違いで動作しないパターンだと思うのでAnBoxでは恐らく無理.同じArchtectureでAnBoxを動かすかバイナリエミュレーションする環境で動かすしかなさそう.

そして未だamd64以外ではAnBoxは動かないよう…….

このパターンで動かなかったアプリ.

  • Amazon Kindle
  • Slack
  • マガジン☆WALKER

インストールできても動かないアプリもある

  • コミックDAYS
    • 起動しても画面が真っ黒

少し動きの怪しいアプリ

  • マンガPark
    • 読み込み中のページを表示してしまうと一度ページを戻って表示し直さないとページが表示されない(実機では読み込みが終わると表示される)
  • サンデーウェブリ
    • マンガ閲覧中に画面リサイズすると表紙が表示される.次,前のように画面遷移すると治る.

問題がなさそうなアプリ

  • ガンガンonline

コメント

コメントを入力. Wiki文法が有効です:
   __ __   ____   ____   ___   _____
  / // /  / __/  / __/  / _ \ / ___/
 / _  /  _\ \   / _/   / // // /__  
/_//_/  /___/  /_/    /____/ \___/
 
linux/android/anbox.txt · 最終更新: 2021/09/18 08:59 by matoken