背景
10年以上前にAndroid Studioとか入れて、お試しアプリ作って
いつか不便になったらツール作ろう!!!とか思って早10年
不便だなと思いつつ、重い腰が上がらなかったところ
時代はAI使ったコーディングだよ!!!
といろんな人に言われたのでやってみることにした。
という備忘録
本当に備忘録なので、得るものは薄め
やった時に困ったこと、できたことだけ後で見返すために書いてます。
AIの記事なんてありふれてるんだ、うるせぇ!ってなった人ごめんなさい。
※Androidは久々ですが、普通にWebアプリとかとか作ってたのでプログラミングはまぁまぁ?
不便だったこと
デュアルSIM端末を使っていると、「今どっちのSIMがデフォルトだっけ?」「設定画面に行くのが面倒」という場面がよくありました。
まぁ実際どっちがデフォルト?というより、今すぐ切り替えたい!という気持ちの方が強かったと思います。
そこで、SIMの状態を一目で確認してワンタップで切り替えられるアプリを作れたらいいのに・・・と思っていた。
少し調べて分かったこと
ちょっとだけ調べたら下記みたいな感じだった
- 権限的に、ワンボタンでSIM切替は無理ということ
- 昔懐かしのRoot化だのなんだのしたら行けるらしいこと
今更毎回Root化するほど面倒なことしたくないし、これのためだけにRoot化もちょっと……
てなところで、
せめて設定画面に1発で飛べるアプリでいいや!
と思ったのが始まりでした。
本題
下記流れで実施。
1. JetBrainsのIDEダウンロード
今更Eclipseもなぁと思ったのでCommunity Edition探して三千里
なんか体験版が終わったら自動切換えらしい……
2. Claudeの設定
Claudeの契約は持ってたので、拡張機能(ただターミナル出てくるだけ?)を設定
3. CLAUDE.md
今回は難しいアプリではないので、あんまり書いてない。
ちゃんと検証して、コード書いてくらい?(ざっくり)
というか個人なのでとりあえず放置。MCPも設定なし
4. やりたいことまとめてGo
- SIM切替をやりたい
- 権限的には難しいので、SIM切替画面のショートカットを作りたい
- まずはアプリとして、SIM情報の取得とSIM設定画面を開くボタンのあるアプリを作ってくれ
とざっくり指示してみた。
5. やるだけやって、adb等インストール
なんとなくビルドまでやっていて、Androidへのインストールとかデバッグ環境とかなかったので
全部よくあるものインストール
今ならこれもClaudeに全部お願いしてもいいんだろうけど、復習がてら少し見直した。
6. デバッグかねて、インストール、動作確認
通常のエミュレータと実端末両方にインストールして、実施。
必要に応じて、自動操作の権限も与えてデバッグ
できたこと
- Androidで起動するアプリ
しばらくMaven使ってたのでGradleってこんなだっけ?って思いながら眺める羽目に - SIM情報取得
できた。電話に使ってるだの、データに使ってるだの書いてある - ざっくり指示
あれやりたい、これやりたいを書くだけで終わった。すごい
できなかったこと
- SIM設定画面開く
できない。できないというか飛ぶ先が間違っていた。
感想でも書くけど、バージョンによっても違うし、まぁ大変だなって思いながらさまよった
ここが曲者で、もしかしたらMCPちゃんと探してればAndroid開発用のでうまくやれたのかも?と思いながら眺めた
動かなかった時の対処法
adbでひたすら画面のSSと操作をさせて、正しい画面が出てくるまで飛び先を返させてみた。
何回か繰り返して、いい感じに飛べたのでよし。
飛び先を探すけど、OSによってもちょっと違うし、第3候補まで出してスイッチ文書いて、みたいな発想になってしまったけど
ブラウザ判定みたいだなとちょっと思ったり思わなかったり
ブラウザに比べて、バージョンアップ頻度とかを考えると
SDK周りの更新を簡単に追える仕組みとかを書いて、テストしてっていう自動環境が大変なんだろうなと思いました。
感想
コードはほぼ触ってない。(単純なのでそれもそう)
中身読んでると昔と違っていろいろ変わってた
ていうかKotlinになってからほぼ触れてないのでそれはそうだった。
こういうことをしてると、X界隈で個人開発がーってなるのも同意
簡単だけど細かいところに手が届けばいいみたいなアプリはこれだけで確かに作れる
ちゃんとストアに出すかどうかはまた別のところだとは思いますけども
いわゆる条件文(if)の整理とかとか・・・は今回やらずに終わった。
もしこういうのをAIにやらせるとしたら、その辺のルール作りから始めるんだろうなと思いつつ、コーディング規約考えるのと同じ、ですか。
handlerがあって、画面切り換えて、悪戦苦闘して・・・っていう10数年前の記憶がよみがえったけど、なかなか楽しかった。