Kanade Labo

かなで研究所

Android Studio カメラアプリ作成その14(APK作成)

こんにちは かなで です。

プレビューが横向きに表示なってしまう問題を解決しようといろいろ調べてたんですが、

Android Studio上で、PCカメラを映してるから横向きにみえるだけであって、実は実機で見れば正しく表示されるんではないかと思い始めたので、今回はAPKファイルを作成して実機で動作確認をしてみようと思います。

ちなみに、そう思ったきっかけですが…

こちらの画像なんですが…そうなんです。

PCカメラ映像では横向きですが、Android Studioに準備されている「カメラを模している画像」ではちゃんと横向きに見えてるんです。

そんなわけで、APK作成の本題に入りたいと思います。

ビルド→「Generate Signed Bundle /APK...」をクリック

Build a signed APK that you can deploy to device
デバイスにデプロイできる署名付きAPKを作成します

APKにチェックして次へ。

「Create new」をクリック。

※これはKeyを作る操作であり、一度作ったら、隣の「Choose existing...」から、そのKeyを選択すればよさげです。

「New Key Store」の

「Key store path」→鍵の保存場所/ファイル名を指定します。このアプリ限定のものではなく、作成したアプリ全てで使うものなので、今回でいうとCamフォルダではなく、ほかの場所を指定した方がいいと思います。

「Password」→適当なパスワードを決めます。忘れないようにしましょう。

「Confirm」→↑と同じものを入れます。

Key枠の

「Alias」→文字列なんでもいいらしいです。

「Password」→上とは別のものにしましょう。

「Confirm」→↑と同じものを入れます。

Certificate枠の

「Firest and Last Name」氏名を入力します。

他は入れなくても大丈夫なようですのでこれでOKを押します。

Key was created with errors:
警告:PKCS12キーストアでは、ストアのパスワードと鍵のパスワードが異なる状況はサポートされません。ユーザーが指定した-keypassの値は無視します。

と、エラーが出てしまいました…

とりあえず「OK」しか選択肢がないので、OKを押すと…

Error: Get Key failed: Given final block not properly padded. Such issues can arise if a bad key is used during decyption.
エラー:キーの取得に失敗しました:最後のブロックが適切に埋め込まれていません。このような問題は、解読中に不正なキーが使用された場合に発生する可能性があります。

さらにこんなエラーも出てきました。不正なキー… 直前で出たエラーと関係してるんでしょうか。

とあるサイトでは、「上のパスワードと下のパスワードは違うものにしろ」と書いてあったんですが、それがダメみたいなエラーなので、試しに同じパスワードで入れ直すと、どちらのエラーも発生しませんでした。

なので、そこから続けます。

これが、Create newでOKを押した直後の画面です。

Key store passwordだったり、Key aliasだったり、Key passwordだったりが勝手に入力されました。

※aliasはマスクする必要があるのかよくわからないのでとりあえずマスクしてます。

次の画面では、「Build Variants」というもので「debug」か「release」が選べます。

両方選ぶこともできて、この場合、「(デバッグするために自分で準備した)debug用のapkと(リリースするために自分で準備した)release用のapkを同時に作成できる」と読めるようです。

現状、releaseを選択して、問題なかったので、いったんここはreleaseを選択して「完了」を押すことにします。

さて…完了を押したのですが…何が起こったのでしょうか?

完了を知らせるなにかは全く出てきませんでしたが、以下フォルダにapkファイルが作成されました。(2回目以降は右下にメッセージは出てきました)

C:\Users\***\AndroidStudioProjects\Cam\app\release
app-release.apk

たぶんこれです(笑

これを実機にインストールしてみます。

※USBで繋ぐとか方法はいろいろあると思いますが、私は野良APKをアップロードできるサイトを経由したいと思います(説明は割愛)

…実はこの後、またうまくいかず、署名だの、デバッグだの、APIレベルだの、
 Androidバージョンだの、いろいろ調べまくって…
 やっとこさ解決したという流れがあるのですが
 結局のところ、スマホが悪かっただけで、アプリは全く悪くなかったということがわかって…
 なので、これには触れないでおこうと思います…(泣

ということで、気を取り直して、実機で試した結果ですが、

ちゃんと、正しい向きで表示されてました!(そもそもUIは表示されてないので向きはわからない

やほい!

これでやっと次に進めますね!

最後までお読みいただきありがとうございました。
気になることがあったら、コメント頂けると嬉しいです。
自主学習も兼ねて記事にするかもしれません。

-AndroidStudio