Linux上でAnBoxを利用してAndroidアプリを実行

May 2, 2020 | Publisher: matoken | Category: Technology & Engineering |  | Collection: KagoshimaLUG | Views: 16 | Likes: 1

Linux上でAnBoxを利用してAndroidアプリを実行 Kenichiro Matohara https://matoken.org/ 2020-04-29(Sat) 鹿児島Linux勉強会 2020.04 発表. Licence CC BY-NC-SA 4.0 経緯 Android端末のバッテリーを1年足らずで消耗させて無償交換してもらった.Android端末のバッテリーを労りた い.満充電しないようにしよう.できた. < 2月の発表 LinuxからAndroidの充電を制御する | edocr 同じ端末使っているけど3年目でまだバッテリー8割生きてるという方を見かけました.その方はほぼ電話の待受 にしか使ってないそう. Android端末の利用頻度を減らすとバッテリーの消耗を防げそうです. AccuBatteryというAndroidアプリで確認する とバッテリーを一番沢山消費しているのは画面でした.アプリの中でバッテリー利用量が多くPCでも大丈夫そう なアプリは漫画や小説が多いのでこれらをPCに移行出来ると良さそうです. なろう小説とかは古い別端末で問題なさそうです.(2012年発売の端末だがこういった用途やGPSロガーとして活 躍中) 漫画アプリは古い端末では解像度や画面サイズの問題で無理.ウェブブラウザでOKなサービスもありますがアプ リでしか読めないものが多いです. そういえばPCでAndroidアプリを動かすものがいくつかあったな……. < 今ココ AndroidアプリをAndroid端末以外で動かす 4年ほど前に試してそれ以来の挑戦. Shashlik | Android Simulated Environment 開発が止まってしまっているよう(◞‸◟) Android-x86 - Porting Android to x86 Androidをx86に移植 VirtualBoxやQemuKVMで試したけどVESAでしか動かせていない → リソース食う&遅い (ただPlayStoreが導入済みなのでアプリの導入が楽&AnBoxで動かないものも動いたりする) 勉強会中にvirtio-gpuで高速動作できると教えて貰った > virtio-gpu環境でopenGL-ES入りandroid-x86を動か す - それすらもコアの果て Anbox - Android in a Box 開発が活発に見える LXDの上で動くので軽量 AnBoxの導入 Linux kernel 4.17 以降が必要なようです. 今回導入した環境 : Debian sid amd64 5.5.0-2-amd64 AnBox の導入 AnBox パッケージが存在するのでこれを使います. Kernel moduleの導入 AnBox の利用には ashmem_linux と binder_linux というkernel module が必要です. 導入はUbuntuだとPPAがあるの ですが,自分の環境だと無いのでsource をclone してDKIM に頑張ってもらいます. anbox/anbox-modules: Anbox kernel modules アップデートはReleaseをチェックしておく リリースされたらアップデートしましょう. $ sudo apt install anbox $ 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 adbを導入 hostPCとAnBoxの通信(アプリ導入等)はadbを利用するので導入しておきます. アプリケーションマネージャの起動 インストールしたアプリがここから起動できます. apkパッケージの取得 基本的にPlayStoreは動作しないので実端末から.apkを取り出して使ったりF-Droidを使ったりすることにします.そ のへんに落ちているものは怖いので使わない. 別端末から取り出し 実機とのadbの設定が済んでいる前提です.以下の PM1LHMA861101791 が実端末. emulator-5558 がAnBoxの端末名 です. $ sudo apt install adb $ anbox.appmgr adbコマンドで.apk取り出し pm list packages コマンドで取り出し元のAndorid端末の中から欲しいパッケージを探します. adb pull コマンドで取り出します. apk導入 取り出したパッケージをAnBoxに導入します. 動かす anbox.appmgr から起動します.動いた :) 導入に失敗するアプリがある archtectureの問題かと思いAndorid-x86(同じamd64 archtecture)から取り出した.apkでも試してみましたがNGでし た…….→ Android-x86や実機で動かしましょう. この現象が出たアプリ $ 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 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 $ 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] Amazon Kindle Slack マガジン☆WALKER インストールでたけど動かないアプリ コミックDAYS 起動しても画面が真っ黒 F-Droid の導入 ダウンロード,ファイルの検証,インストール.後は`anbox.appmgr` から起動して好きなアプリを導入する. まとめ 導入や使い方がとても簡単になっている 使えるアプリは増えているけど未だ動かなかったり動きの怪しいものも多い 動くアプリだと便利に使える UIの違いがめんどくさい特にスワイプ タッチパネル端末だと良さそう ごろごろしながら読みたい バッテリー健康なジャンクタブレット?やセール時にKindle Fireとか買うのがいいのだおうけども……. $ 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 " 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 " [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 https://amzn.to/2VL2LsY (matokenアフェリエイトリンク) Last updated 2020-05-02 04:35:18 +0900

鹿児島らぐの鹿児島Linux勉強会2020.04で発表したもの

https://kagolug.connpass.com/event/174375/
http://kagolug.org/

Comments

You must log in to comment

×

Modal Header

Modal body