-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_AndroidDeployment
Androidのデプロイについてまとめる。
- 汎用的なアプリケーションを世界市場に対して配信するようなケース。
- Googleの審査を受けてGoogle Playに登録し、
AndroidデバイスからGoogle Play経由でインストール。
-
Googleの審査を受けず、
- 実機テスト
- 特定ドメイン向けのアプリケーションを特定ドメインに対して配信する。
- 開発中のアプリをテストや一定のユーザのみで試用する目的で配信する。
などのケースで使用できる。
-
方法としては、
の2つの方法がある。
ADB (Android Debug Bridge)(Androidのデバッグの該当節を参照)
-
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を押す。
※ ココの手順は、スマホ・デバイスごとに異なるので、個別にググる。
-
-
端末への転送
以下コマンドを実行(PATH環境変数の設定が必須。Android Studioの該当節を参照)-
デバイスの接続状態を確認する。
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」
を指定する必要がある。
-
この手順は、以下のケースで必要になる。
-
恐らく「Google Play (公式ストア)」の場合は、
正式なコードサイニング証明書を使用する。
以下のコマンドを実行し、署名を行うキーストア・ファイルを作成する。
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 -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 Studio】Windows7で実機デバッグを行う! | iDEACLOUD/dev
https://ideacloud.co.jp/dev/windows_android_studio_debug.html -
novo7aurora review
- USBドライバーの導入手順
http://novo7aurora.seesaa.net/article/254811111.html - USBドライバーの導入手順part2
http://novo7aurora.seesaa.net/category/12915501-1.html
- USBドライバーの導入手順
-
ADBドライバのインストールとUSBデバッグのセットアップ - Qiita
https://qiita.com/couzie/items/2dd854df9c8c74317078 -
PCのシステム環境変数の設定で、ADB へのパスを追加する。
http://andmem.blogspot.jp/2014/04/installjdkandroidsdkadb.html#chapter-5 -
AndroidのUSB デバッグを有効化する。
http://andmem.blogspot.jp/2012/10/androiddebugmode.html
補足:Google Play では 2021 年 8 月以降、新規アプリの公開形式が APK から Android App Bundle(AAB)に切り替わっており、 署名も Play App Signing(アップロード鍵と配布鍵の分離)が既定になっている。 本文の APK + keytool / jarsigner の手順は、 サイドローディングや自社配布のケースを前提としたものとして読むとよい。 また「提供元不明のアプリ」の一括設定は Android 8.0 で廃止され、 インストール元アプリごとの許可(不明なアプリのインストール)に変更されている。
移行メモ
- 元 Wiki では見出しそのものが他ページへのリンクになっていた箇所 (「ADB (Android Debug Bridge)でインストールする。」「Androidの実機」 「Androidのエミュレータ」「Cordova - ビルドとデプロイ」 「Flutter - ビルドとデプロイ」「ReactNative - ビルドとデプロイ」)は、 GitHub Wiki では見出しからアンカが生成されるため、 見出しをプレーン・テキストとし、リンクは直下の本文(箇条書き)に置いた。
- 同名の見出し(「概要」「(例)」)が複数あり GitHub Wiki でアンカが衝突するため、 括弧などで文脈を補って一意にした。
- マイクロソフト系技術情報 Wiki(techinfoofmicrosofttech.osscons.jp)への URL リンクは、移行済みの PKCS に張り替えた。
- PukiWiki のページ内アンカ(
#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替え、 他ページのアンカを指すリンクは「〜(ページ名の該当節を参照)」の形に置き換えた。
Tags: 移行, Android, デプロイ, Google Play, サイドローディング, ADB, apk, keytool, jarsigner, 署名
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。