未公開のアプリの実行ファイルapkやGoogle Playに公開されているアプリのapkファイルを別端末、あるいはemulatorでテストしてみたいと思います。
apk ファイルのインストール
apkをGoogle Play以外でのインストールでは2つの状況があると思います。
- 開発中あるいはリリース用のapkをテスト
- 公開されているアプリのapkを取り出し、別のデバイスでのテスト
開発中あるいはリリース用のapkをテスト
アプリを公開する前に実際にapkを作成して、実機で最終テストしてみることが必要です。Androidの場合は機種もたくさんあり、古いOSで使っている人も多いという特徴があります。
最近ではGoogleが様々なテストの仕組みを提供していますので利用しましょう。
オープンテスト版、クローズド テスト版、内部テスト版をセットアップする
ここではもっと気軽にアプリを隣の開発者や友人にインストールしてもらうケースについてです。
アプリの開発環境を持っていればadbコマンドでインストールできます。
Windowsならコマンドプロンプト、MacではTerminalを使ってadb コマンドを打ちます。
1 2 |
// app-release.apkがあるレベルでadb コマンドを入力 adb install app-release.apk |
Android SDKが必要ですがAndroid Studioのインストールが手っ取り早いです。
adbがコマンドやLinuxコマンド、WindowsのDOSが分かっている方がいいでしょう。
以下は実機でのインストールですが、Emulatorを起動しておけばそれにインストールすることも可能
1 2 3 4 5 6 7 8 9 10 |
C:\temp>adb devices List of devices attached 00c928e9ac8f3897 device C:\temp>adb install app-release.apk Performing Streamed Install Success C:\temp> |
これがうまくいかない場合はパッケージ名に変えてみてください
1 2 3 |
// [パッケージ名].apk のインストール // adb install [パッケージ名].apk abd install com.hoge.hageapp.apk |
相手がAndroid Studio等の開発環境が無い場合は、あるいは近くに居ない場合はどうするといいでしょうか
apkをメールに添付
メールにapkファイルを添付して送る。
以前はできましたが、セキュリティが厳しくなってこの方法は使えなくなるでしょう
サーバーからダウンロード
いわゆる偽の佐川急便のような「野良アプリ」にするわけです。apkファイルをサーバーに上げてそのURLを教えて例えば、
https://hoge.com/download/app-release.apk
これをandroid機でタップしダウンロードすると端末のDownloadに落として、そのまま実行すればインストールができます。
ただ今後これらセキュリティの問題でできなくなる方向に進んでいるような気がします。
実機の設定
これはAndroid 8 Oreoまでの端末の場合で、事前に提供元不明のアプリを実行する許可をしておきます。
「設定」「セキュリティ」にて、「提供元不明のアプリ」をチェック
Android 8 Oreo 以降はインストールするアプリ毎にチェックがユーザーに入るようになり、提供元不明のアプリのチェックはなくなりました。よりセキュリティが厳しくなったということです。
公開されているアプリのapkをインストール
セキュリティが厳しくなり最新のアプリでは [INSTALL_FAILED_VERIFICATION_FAILURE]となりエラーになるようです。
ここでは、公開しているものを自分の「端末にダウンロード」して、apkを抜き出し他のアンドロイド環境で起動させることを指しています。
パッケージネーム:
これが重要です。
Google Playで公開中のURLから推測できます
Google Chromeの例
https://play.google.com/store/apps/details?id=com.android.chrome&hl=ja
この場合は「com.android.chrom」が基本的なパッケージネームとなります。
端末にインストールした後で、このパッケージネームからapkが存在するパスを取得します
1 |
$ adb shell pm list packages -f -3 |
これでインストールされているpackage listが表示されます。
例としてこちらのデレステをやってみましょう。
https://play.google.com/store/apps/details?id=jp.co.bandainamcoent.BNEI0242&hl=ja
ダウンロードしてAndroidの中のアプリリストで似たものをさがしてみると
1 2 3 |
... package:/data/app/com.bandainamcoent.shinycolors-xVSDFHb478_4vSyj6Zk7-w==/base.apk=com.bandainamcoent.shinycolors ... |
このようになっていましたので、
…==/base.apk
のbase.apkを取り出します。
このapkをPC側にコピーして引き抜いてみます。
1 2 3 4 |
adb pull /data/app/com.bandainamcoent.shinycolors-xVSDFHb478_4vSyj6Zk7-w==/base.apk C:\tmp\ /data/app/com.bandainamcoent.shinycolors-xVSDFHb478_4vSyj6...ase.apk: 1 file pulled. 9.5 MB/s (3088466 bytes in 0.309s) C:\tmp> |
バージョンによって変わるのでこのままコマンドを打ってもエラーになりますのであしからず
確かにAndroidからPCの C:\tmp\base.apk にpullされました。
この後はadbコマンドでインストールします
1 2 3 4 |
c:\tmp>adb install base.apk Success c:\tmp> |
Android Studio のemulatorや他の端末にインストールできます。
emulator:
Android Studioを起動して、emulatorを選択(なければ作成)して立ち上げます。
Terminalを使ってbase.apkがあるフォルダに移動してインストールコマンドを打ちます。
PATHを通してない場合は、PATHを通すかadb.exeがある場所を指定して実行です。
デレステをAndroid Studioのemulatorにインストールできました。
![[Android] apkファイル をインストールする 1x1.trans - [Android] apkファイル をインストールする](https://akira-watson.com/wp-content/themes/simplicity2/images/1x1.trans.gif)
![[Android] apkファイル をインストールする 1x1.trans - [Android] apkファイル をインストールする](https://akira-watson.com/wp-content/themes/simplicity2/images/1x1.trans.gif)
関連ページ:
- adb コマンド
- Android Studio インストール: Mac
- Android Studio インストール: Windows
- adb コマンドを利用するために PATHを切る、PATHを通す
- エミュレータ AVD Manager の設定
- USBドライバーの設定(Nexus)