.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

Androidのデプロイについてまとめる。

Google Play (公式ストア)

  • 汎用的なアプリケーションを世界市場に対して配信するようなケース。
  • Googleの審査を受けてGoogle Playに登録し、
    AndroidデバイスからGoogle Play経由でインストール。

サイドローディング

概要

  • Googleの審査を受けず、
    • 実機テスト
    • 特定ドメイン向けのアプリケーションを特定ドメインに対して配信する。
    • 開発中のアプリをテストや一定のユーザのみで試用する目的で配信する。

などのケースで使用できる。

の2つの方法がある。

方法

ADB (Android Debug Bridge)でインストールする。

  • Debugの際は、
    • ADBと言うコマンド ライン ツールを使用して、
    • 端末・PC 間で、各種の通信・処理を行う。
  • Windows側の設定
    USBドライバのインストール
  • Android Studioを開き、
  • [File]-[Setting]の左ペインから
  • [Appearance&Behavior]-[System Setting]-[Android SDK]を開く。
  • [SDK Tools]タブから「Google USB Driver」にチェックを入れ、ダウンロードする。
    (ドライバは「%USERPROFILE%\AppData?\Local\Android\Sdk\extras\google\usb_driver」にダウンロードされる。)
  • 端末をUSB接続した状態でデバイス・マネージャを開く。
    • 接続した端末の状態を確認する。
    • Google USB Driverの更新が必要な場合は更新する。
  • 端末側の設定
  • [設定]-[開発者向けオプション]を開き、

    (開発者向けオプションが表示されていない場合は、
    端末情報のビルド番号を表示し、7回タップすると表示される)

  • 「USBデバッグ」をONにする。
    端末画面に「USBデバッグを許可しますか?」と表示された場合は、OKを押す。
  • 以下コマンドを実行し、デバイスの接続状態を確認する。
    adb shell
  • 端末への転送
  • 以下コマンドを実行する。
    adb install -r [apkファイル]
  • (例)
    adb install -r .\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk

業務アプリの配布専用のマーケットを自社で立ち上げる。

  • apkファイルを管理するようなサイト
  • ダウンロード・リンクをユーザーに知らせる。
  • この場合、以下の設定が必要になる。

設定:提供元不明のアプリの提供を許可する。

  • 各Androidデバイスで、
    設定 > セキュリティ > 提供元不明のアプリ をONにすると、
    方法を問わず、apkファイルをインストールできるようになる。
  • なお、WWWサーバのMIME Typeには、
    「*.apk」:「application/vnd.android.package-archive」
    を指定する必要がある。

apkファイルの署名

  • 恐らく「Google Play (公式ストア)」の場合は、
    正式なコードサイニング証明書を使用する。

キーストア・ファイル作成

以下のコマンドを実行し、署名を行うキーストア・ファイルを作成する。

keytool

keytool -genkey -v -keystore [任意の文字列].keystore -alias [任意の文字列] -keyalg RSA -keysize 2048 -validity 10000

(例)

PKCS #12

>keytool -genkey -v -keystore sample.keystore -alias sample -keyalg RSA -keysize 2048 -validity 10000
キーストアのパスワードを入力してください:
新規パスワードを再入力してください:
姓名は何ですか。
  [Unknown]:  hogehoge
組織単位名は何ですか。
  [Unknown]:  hisho
組織名は何ですか。
  [Unknown]:  seigi
都市名または地域名は何ですか。
  [Unknown]:  hiroshima
都道府県名または州名は何ですか。
  [Unknown]:  hatsukaichi
この単位に該当する2文字の国コードは何ですか。
  [Unknown]:  ja
CN=hogehoge, OU=hisho, O=seigi, L=hiroshima, ST=hatsukaichi, C=jaでよろしいですか。
[いいえ]:  y // ココ、おかしいけど、y/nでyをこたえる。
10,000日間有効な2,048ビットのRSAの鍵ペアと自己署名型証明書(SHA256withRSA)を生成しています
ディレクトリ名: CN=hogehoge, OU=hisho, O=seigi, L=hiroshima, ST=hatsukaichi, C=ja
<sample>の鍵パスワードを入力してください
        (キーストアのパスワードと同じ場合はRETURNを押してください):
新規パスワードを再入力してください:
[sample.keystoreを格納中]

Warning:
 JKSキーストアは独自の形式を使用しています。
 "keytool -importkeystore -srckeystore sample.keystore -destkeystore sample.keystore -deststoretype pkcs12"
 を使用する業界標準の形式であるPKCS12に移行することをお薦めします。

キーストアでapkファイルを署名

jarsigner

次に以下コマンドを実行し、署名付きapkファイルを作成する。

jarsigner -verbose -keystore [署名ファイル名] [apkファイル] [エイリアス名]

(例)

>jarsigner -verbose -keystore sample.keystore .\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk sample
キーストアのパスワードを入力してください:
更新中: ...
追加中: ...
署名中: ...
jarは署名されました。

警告:
-tsaまたは-tsacertが指定されていないため、このjarにはタイムスタンプが付加されていません。
タイムスタンプがないと、署名者証明書の有効期限(2045-12-04)後または将来の失効日後に、ユーザーはこのjarを検証できない可能性があります。

参考

実機・エミュレータ

Androidの実機

Androidのエミュレータ

開発ツール毎

Cordova - ビルドとデプロイ

ReactNative - ビルドとデプロイ


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-02-26 (水) 17:28:55 (37d)