AIによるバイブコーディングを試すべく、Android StudioとAntigravityでAndroidアプリを作ってみた。 今回の目的はRideWithGPSのルート情報を取得して、OruxMapsが理解できるgpxファイルを生成し、OruxMapsを起動するアプリを作ること。 Android Studioでテンプレートを選び、空のプロジェクトを作る。 Antigravityでこれを開く。 JDKを入れろというが、Kotlinのコンパイルは普通のJDKでできるのか不明。Geminiに聞いたら動くらしいが、 Android Studioのコンパイラを指定したほうがいいと思うので、JAVA_HOMEにAndroid StudioのJDKのパスを書いて何とかした。 生成コードの管理のため生成コードはgitに入れる。Android StudioからCommitする。 最初に日本語でやり取りすることを宣言すれば、以後日本語でやり取りできる。Geminiの思考中は英語のメッセージが出てくるが、まとめ終われば日本語で説明してくれる。 Agentモードで作りたいアプリを説明する。 Geminiが開発方針を説明してくれる。よくなければ変更を指示する。 作成を指示すれば方針に従って作ってくれる。 できたと言ったらAndroid Studioでビルドし、エラーが出たらエラーログをAntigravityにコピペすれば直してくれる。実行して死ぬようなときはLogcatのログ(システムログ)のException部分をコピペしてあげれば原因を調べて直してくれる。 RWGPSのAPIはOAuth認証して利用できるが、ログアウトしても再ログイン時にブラウザのCookieが効いてログイン画面にならない不具合が発生。 GeminiはログアウトAPIを探したり、WEBページのログアウトを呼んだり、あきらめたりしてイマイチ。結局こっちから提案してWebViewでOAuthを実行し、WebViewのセッションCookieを消してしまうことでログアウト後のログインができるようになった。このあたりはGemini任せではなく、一緒に解決した感じ。ただ、Geminiに聞いたらアプリ登録できないかも、ということで、Chrome custom tabsのやり方に戻した。 RWGPSは自身でg...