2022年8月18日木曜日

AndroidアプリUpdate

初版公開時から気になってたとこをようやく改善。

なのだけど。

やろうとしてたUIのちょっとした改善のためのコード修正はやり方調べて5分で終わったのだけども、環境再構築してるのとAndroidアプリ関係は久しぶりで忘れてるし事情変わってるしみたいなのが悪かったようで、ビルドやら署名やらでやたらエラーと格闘させられた。

ソース修正と違ってAndroid Studioの使い方もビルドや署名の仕組みも土地勘が不足してるし(以下略)。

ビルド関係はIDEのお勧め修正でおおむね何とかなったのだけど、問題は署名周り。

公式doc読んでも、どーも概略は書いてあるけど詳細が無いと言うか、これだけ読んでも正しいやり方は分からない感じ。

通常なら新規作成時にWizardがうまくやってくれるのかも知れないけど、更新時にWizard再使用できる気がしない(少なくとも方法は知らない)、エラーメッセージやdoc読んでもどこが気に食わんのか何となくは分かるけど、どー直せば良いのかは分からず、ぐぐったらどっかの掲示板に「ちゃんと設定したら動いた」みたいなことが書いてあって、いやその「ちゃんと設定」がどうすれば良いのか分からないんですけどとか、

android - What is INSTALL_PARSE_FAILED_NO_CERTIFICATES error? - Stack Overflow

To anyone who stumbles upon this question - read all of the answers below! It seems like this error message is more of a "something is wrong" type of error.

39もあるAnswersを前に頭抱えてみたりしながらじたばたした結果、

  • debugでもreleaseでもビルドが通るようにはなった。
  • debugビルドをAVDで動かすことはできる。
  • releaseビルドは上記のエラーが出て動かない。

ネット上に同じような状況の人がいて、でもPlay Consoleから公開することはできてる、って書いてたのでPlay Consoleに突っ込んでみたら受け取ってはくれた。現在審査中。さて無事に公開されるのかどうか。

これで無事に公開されるなら、とりまこのまま続けるのもあり。どーしてもreleaseビルドしたものをAVDで動かさなければいかんようなアプリでは無いし、夏休み終わったらこの辺の調査やら対策やらに使える時間の余裕は激減するし。

てかせっかくの夏休み、まとまった時間を使える貴重な機会、こんなとこに時間食われてないで、もっとコード書いたりしたかったのだが、そこに到達する前の段階でじたばたするだけでほぼ終わってしまった。何だかなー。

追記:無事更新版公開された。実デバイスで更新して動作するのも確認した。


2022年8月13日土曜日

scrcpyでcameraプレビュー

以前スマホで作業風景の記録を撮ってみて、画角が合ってなくて困った。リアルタイムにプレビューを確認したいが、一人でスマホ単体でやってると無理。

というわけで、カメラプレビューを飛ばして別画面に表示させて確認したい。

世の中そういうことのためのカメラアプリもあるようなのでそれを使うのも手だが、そうなるとせっかくのPixel 4a(5G)標準Google Cameraの威力が使えなくなりそうなので、標準のカメラアプリをそのまま使えないか試してみる。

まずadbをWi-Fiで接続。 今回

adb tcpip 5555
adb connect <端末のIP-Address>

でやったけど、調べなおしたら実は古い方法だった模様。

https://developer.android.com/studio/command-line/adb

繋がったらscrcpy実行。カメラアプリ起動。

ちゃんとプレビューもPC画面に表示される。

ただ、プレビューを表示してるだけでも高温警告が出るので、長時間の撮影に耐えられそうな気はしない。となると短時間のちょっとした作業でぱっと撮るだけならスマホ、とか、scrcpyはこまめに切ったり入れたりするとか、工夫は必要そう。

もしくはもう素直に普通のカメラを引っ張り出すか。それはそれでこのごちゃついた魔窟でどう設置するかって問題が。

あと、Wi-Fiではなく長いUSBケーブルだとマシになるかどうか?ってのは確認してみたい。同時に充電されるとむしろ熱的には厳しくなりそうな気もするけど。

あと世の中のそういうことのためのカメラアプリだとどうかってのも試しておきたい。通信量(及びそれに起因する発熱)とかは違いそうな気がする。