Android
gmail
adb
GoogleDrive
GooglePlay
56
どのような問題がありますか?

この記事は最終更新日から1年以上が経過しています。

投稿日

更新日

Google Play 以外の Android アプリの配信方法(インストールとアップデート)を試してみる

0.はじめに

自作した Android アプリを実機でテストするにあたり、
Google Play 以外にどういう配信方法があるのか、色々と試してみました。

1.APK デジタル署名したパッケージファイル(.apkファイル)を準備する

  1. Android Studio からデジタル署名したパッケージファイル (.apk ファイル) を作成します。

2.配信方法

以下の配信方法を試してみたいと思います。

  1. パソコンから ADB (Android Debug Bridge) を使って USB ケーブル経由で配信
  2. メール (Gmail) で配信
  3. クラウドストレージサービス (Google Drive) を通じて配信
  4. チャットなどのクラウドサービス (Chatwork) で配信
  5. ウェブサイト (Amazon S3) で配信

2−1.パソコンから ADB (Android Debug Bridge) を使って USB ケーブル経由で配信

  1. パソコンに ADB をインストール

    $ cd
    $ ls -la
    $ sudo cp -p .bash_profile .bash_profile.ORG
    $ ls -la
    $ sudo echo 'export PATH="$PATH:/Users/{ユーザー名}/Library/Android/sdk/platform-tools"' >> ~/.bash_profile
    $ source .bash_profile
    $ which adb
    


  2. パソコンに USB ケーブルで実機を接続

  3. ADB から パッケージファイル (.apk ファイル) をインストール

    $ adb install app-release.apk 
    Success
    


  4. ADB から パッケージファイル (.apk ファイル) をアップデート

    $ adb install -r app-release.apk 
    Success
    


ざっくりと、まとめ

  • メリット
    • 無料。
      • ただ、パソコン必要だけどね…。
    • インストール時、ネット接続不要。
      • あくまで、インストール時の話…。
    • 端末側で「提供元不明のアプリ」の許可設定を行う必要がない。

  • デメリット
    • USB ケーブルとパソコンが必要。
    • パソコンに ADB をインストールしないといけない。
    • ターミナルからコマンドを打たないといけない。
    • アプリの更新の通知や配信は別途必要。
      • っていうか、この手順はあくまでインストールの手順だけ…。
      • 何か無駄なことしてるだけの気が…。

2−2.メール (Gmail) で配信

  1. 事前に、端末側で「提供元不明のアプリ」の許可設定を行う。
  2. パッケージファイル (.apk ファイル) をメールに添付して送ります。

  3. 端末側で Gmail からメールを確認します。
    • 0001.jpg

    • 0002.jpg

    • 0003.jpg

  4. 添付されているパッケージファイル (.apk ファイル) をタッチします。
    • 0004.jpg

  5. インストールの確認画面が表示されるので、「インストール」リンクをタッチします。
    • 0005.jpg

      事前に、端末側で「提供元不明のアプリ」の許可設定を行っていないと、以下の画面が表示されます。
    • 0005-x.jpg

  6. インストールが開始され、インストールが完了すると以下の画面が表示されるので、「開く」リンクをタッチするとアプリが起動します。
    • 0007.jpg

    • 0008.jpg

  7. アプリを更新したい場合は、同様の手順でアップデートできます。

ざっくりと、まとめ

  • メリット
    • 無料。
    • アプリの更新の通知と配信を一回のメール送信で出来る。
    • 特定のユーザーへの配信ができる。
      • 逆に不特定多数への配信は出来ない。

  • デメリット
    • 端末側で「提供元不明のアプリ」の許可設定を行う必要がある。
    • 事前に配信先のメールアドレスを知っておく必要がある。
    • メール添付ってセキュリティ的にどうなんだろう…。宛先ミスったりすると恐い…。
    • それなりに大きいファイルをメール添付で送ると、場合によっては受信できないこともある気がする…。ネットワーク的にも何か…。

2−3.クラウドストレージサービス (Google Drive) を通じて配信

基本的には、「2−2.メール (Gmail) で配信」と同じ様な感じですが、配信がメール (Gmail) ではなく、クラウドストレージサービス (Google Drive) を使います。

  1. 事前に、端末側で「提供元不明のアプリ」の許可設定を行う。

  2. クラウドストレージサービス (Google Drive) でパッケージファイル (.apk ファイル) をアップロードし、ファイルやフォルダを共有します。
  3. 端末側でクラウドストレージサービス (Google Drive) を確認します。

  4. パッケージファイル (.apk ファイル) をタッチします。

  5. インストールの確認画面が表示されるので、「インストール」リンクをタッチします。

  6. インストールが開始され、インストールが完了すると以下の画面が表示されるので、「開く」リンクをタッチするとアプリが起動します。

  7. アプリを更新したい場合は、同様の手順でアップデートできます。

ざっくりと、まとめ

2−4.チャットなどのクラウドサービス (Chatwork) で配信

基本的には、「2−2.メール (Gmail) で配信」と同じ様な感じですが、配信がメール (Gmail) ではなく、チャットなどのクラウドサービス (Chatwork) を使います。

  1. 事前に、端末側で「提供元不明のアプリ」の許可設定を行う。

  2. チャットなどのクラウドサービス (Chatwork) でパッケージファイル (.apk ファイル) をアップロードします。

  3. 端末側でチャットなどのクラウドサービス (Chatwork) を確認します。

  4. パッケージファイル (.apk ファイル) をダウンロードします。

  5. インストールの確認画面が表示されるので、「インストール」リンクをタッチします。

  6. インストールが開始され、インストールが完了すると以下の画面が表示されるので、「開く」リンクをタッチするとアプリが起動します。

  7. アプリを更新したい場合は、同様の手順でアップデートできます。

ざっくりと、まとめ

  • メリット
    • 無料のものも。有料のものも
      • 各種サービスの料金形態によるかな。
    • 特定のユーザーのみへの配信が出来る。
      • 不特定多数への配信は、各種サービスの共有の設定の仕様によるかな?
    • アプリの更新の通知と配信を一回で出来る。
      • 各種サービスの仕様にもよるけど。

  • デメリット
    • 端末側で「提供元不明のアプリ」の許可設定を行う必要がある。
    • 配信先と配信元が同じサービスを利用していることが前提。

2−5.ウェブサイト (Amazon S3) で配信

基本的には、「2−2.メール (Gmail) で配信」と同じ様な感じですが、配信がメール (Gmail) ではなく、ウェブサイト (Amazon S3) を使います。っていうか、ウェブサイトの構築をするのか?って感じもあるけど…。

  1. 事前に、端末側で「提供元不明のアプリ」の許可設定を行う。

  2. ウェブサイト (Amazon S3) を構築し、パッケージファイル (.apk ファイル) をアップロードします。
  3. 端末側でウェブサイト (Amazon S3) を確認します。

  4. パッケージファイル (.apk ファイル) をダウンロードします。

  5. インストールの確認画面が表示されるので、「インストール」リンクをタッチします。

  6. インストールが開始され、インストールが完了すると以下の画面が表示されるので、「開く」リンクをタッチするとアプリが起動します。

  7. アプリを更新したい場合は、同様の手順でアップデートできます。

ざっくりと、まとめ

  • メリット
    • 不特定多数への配信が出来る。
      • 逆に、特定のユーザーのみへの配信は出来ない。
      • IP アドレスでの制限とか、IAM や Lambda とか使ってどうこうっていうのは出来る気がするけど…。

  • デメリット
    • 有料。
      • 多少お金は掛かる。
    • サーバーの構築や運用の手間が掛かる。
    • 端末側で「提供元不明のアプリ」の許可設定を行う必要がある。
    • アプリの更新の通知と配信をプッシュ出来ない。
      • Lambda とか使って何か出来そうだけど…。
      • ユーザー側が勝手に見に行くか、
      • アプリ側に更新チェックの機能を付ける?

99.ハマりポイント

  • 特にハマったところはなかったんですが、さすがにまとめるのが大変でした…。

XX.まとめ

全般的なまとめです。

1.
PCから
USB接続で
2.
メール
(Gmail)
3.
ストレージサービス
(GoogleDrive)
4.
チャットサービス
など
5.
ウェブサイト
(Amazon S3)
費用 不要 不要 不要 場合によっては
サービス利用料が掛かる
ウェブサイト(Amazon S3)
の運用費用が掛かる
その他
付属物品や
サービス
PC,
USBケーブル
不要 ストレージサービス
(GoogleDrive)
チャットサービス
など
ウェブサイト
(Amazon S3)
ネット インストール時は不要
※通知&配信に関しては別途
必要 必要 必要 必要
「提供元不明のアプリ」
の許可設定
不要 必要 必要 必要 必要
手間や
難易度
[中] [小] [小] [小] [大]
ADBのインストール
コマンド実行
など
※通知&配信に関しては別途
対象数にもよるが、
ただのメール送信
アップロードするだけ
※通知に関しては別途
投稿するだけなので
一番簡単
ウェブサイトの構築
運用など
※通知に関しては別途
インストール
の通知
別途必要 一通のメール送信で
通知&配信
別途必要
※作り込めば…
一度の投稿で
通知&配信
別途必要
※作り込めば…
インストール
の配信
ストレージサービス
(GoogleDrive)
ウェブサイト
(Amazon S3)
アップデート
の通知
別途必要
※作り込めば…
別途必要
※作り込めば…
アップデート
の配信
ストレージサービス
(GoogleDrive)
ウェブサイト
(Amazon S3)
対象 ※通知&配信方法に寄る 特定ユーザ:○
※事前にメールアドレスの取得が必要
特定ユーザ:○
※事前にメールアドレスの取得が必要
特定ユーザ:○
※同じサービスを利用が前提
特定ユーザ:×
※かなり頑張って作り込めば…
不特定多数ユーザ:× 不特定多数ユーザ:○
※サービスの共有設定の仕様に寄る
不特定多数ユーザ:△
※サービスの共有設定の仕様に寄る
不特定多数ユーザ:○

備考
何か無駄なことしてる気が… メール添付って
最近セキュリティ的に…

Google Play を使わないとなると、
やはり基本的には本当に少人数への数回程度の、っていう感じかなと思います。

1 の PC 経由の ADB でのインストールは、どちらかというと本格運用後の検証等で利用する手順みたいですね。

ウェブサイト経由の配信は、本格運用でも使える様にも思いますが、やっぱり「提供元不明のアプリ」としての配信となってしまうのは、気持ち悪さがありますね。

ただ、不特定多数へ配信したくないのであれば、こういうやり方もいいのかもしれません。でも、その際はアプリ側に更新チェックの機能をつけた方がいい気がします。じゃないとユーザーが利用するアプリのバージョンをあまりにも管理できなくて辛くなるかなと。

とりあえず今回は、Google Play 以外の配信方法を試してみたので、

次は Google Play での配信を試してみたいと思います。

↓↓↓

ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
kusokamayarou
鹿児島市の企業に勤めて、枕崎でテレワークしてる IT エンジニアです。 最近、自分で事業をしようとちょっとずつ動き始めました。
この記事は以下の記事からリンクされています

コメント

リンクをコピー
このコメントを報告

丁度探していた情報を丁寧にわかりやすくありがとうございます!
総合的にGmailが良さそうですね

1
リンクをコピー
このコメントを報告

@Yoji0806 さん
わざわざコメントありがとうございます! 🙇‍♂️
ご参考になれば、幸いです。
アプリの開発頑張ってくださいね♪

0
どのような問題がありますか?
あなたもコメントしてみませんか :)
ユーザー登録
すでにアカウントを持っている方はログイン
記事投稿イベント開催中
データに関する記事を書こう!
~
56
どのような問題がありますか?
ユーザー登録して、Qiitaをもっと便利に使ってみませんか

この機能を利用するにはログインする必要があります。ログインするとさらに下記の機能が使えます。

  1. ユーザーやタグのフォロー機能であなたにマッチした記事をお届け
  2. ストック機能で便利な情報を後から効率的に読み返せる
ユーザー登録ログイン
ストックするカテゴリー