◉ANTIGRAVITY LABEN
記事一覧/AIツール
⚙ AIツール/2026-06-13中級

iOS の画面コードは Kotlin にどこまで自動移行できるか — Android Studio 移行エージェント検証記

iOS コードをネイティブ Kotlin へ自動移行する Android Studio の移行エージェントを、浮世絵壁紙アプリの一画面で検証しました。生成コードの精度、手直しが必要だった12箇所、受け入れ前の検査ワークフローまでの記録です。

android-studio3migration-agentkotlin6ios37antigravity459

✦ プレミアム記事

浮世絵壁紙アプリの iOS 版と Android 版を、私は10年近く別々のコードベースで保守してきました。同じ機能を2回ずつ実装する暮らしにすっかり慣れてしまっていたので、Android Studio の移行エージェント — React Native・Web フレームワーク・iOS のコードを解析してネイティブ Kotlin アプリへ自動移行するというプレビュー機能 — の発表を見たときは、期待より先に疑いが湧きました。

「数週間かかる移行が数時間になる」という触れ込みを、自分のコードで確かめずに信じるわけにはいきません。そこで実際のアプリから一画面だけを切り出して移行エージェントに渡し、生成された Kotlin を1行ずつ読みました。結論を先に書くと、構造の移植は想像以上、ライフサイクルの解釈は想像どおり危険、広告と課金には一切立ち入らない、という三層の結果でした。

「数週間が数時間に」の中身 — 移行エージェントは何をするのか

移行エージェントの動きは、大きく3段階に分かれています。

  • 解析: 既存コードの画面構成・データフロー・依存ライブラリをマッピングし、移行レポートを作る
  • 計画: 画面・モジュール単位の移行プランを提示し、対応関係(UIKit のどの部品を Compose のどの部品に移すか)を示す
  • 生成: Kotlin + Jetpack Compose のプロジェクトとして出力する

対象は React Native・Web フレームワーク・iOS の3系統で、今回は対応関係の推論が最も難しいはずの iOS → Kotlin を選びました。同時に「Android Bench」という LLM の Android 開発性能を測るベンチマークも公開されており、生成品質を外から測られる前提でこの機能を出してきた、という Google 側の自信も読み取れます。

ただしプレビュー段階の機能ですから、ここに書く挙動は今後変わる可能性があります。本稿は2026年6月時点の、個人開発の現場から見た一つの定点観測として読んでいただければと思います。

検証対象 — 浮世絵壁紙アプリの「カテゴリ一覧」を一画面だけ移す

最初からプロジェクト全体を食わせることはしませんでした。エージェントへの依頼はレビューできる単位で切るのが私の基本方針で、移行エージェントも例外ではありません。生成物の癖が分からないうちに数百ファイルを受け取っても、検収のしようがないからです。

題材に選んだのはカテゴリ一覧画面です。理由は、個人開発アプリの典型がこの一画面に詰まっているからです。

  • UICollectionView によるグリッド表示と非同期の画像読み込み
  • 課金状態(広告非表示を購入済みか)によって広告セルの有無を切り替える分岐
  • 画面に戻ってくるたびに購入状態を再評価するライフサイクル処理

実測値も残しておきます。対象は関連クラスを含めて Swift 約2,100行。解析レポートの生成からビルドが通る状態まで約40分(うちエージェントの処理時間が約25分)、生成されたファイルは38本でした。「数時間」という触れ込みは、一画面単位で見るかぎり誇張ではありません。問題は所要時間ではなく、生成されたコードの中身です。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦iOS から Kotlin への自動移行で、エージェントに任せられる範囲と必ず手作業が残る範囲を、実際の生成結果に基づいて自分のコードベースで見極められる
✦生成された Kotlin を受け入れる前に通す「4点検査」のワークフローを、Antigravity のレビュー用エージェント設定ごと再現できる
✦自動移行を「Android 版の叩き台」と「二重保守の解消」のどちらの目的で使うべきか、保守コストの観点から判断できる
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

関連記事

⚙ AIツール2026-10-01
コマンドが読めなくても、エージェントの作業で見る場所は3か所で足ります
エージェントがターミナルに流す文字列が読めず、承認ボタンを押すのが怖い方へ。作業前の戻り口・実行前の動詞・終了後の差分という3か所だけを見る、非エンジニア向けの確認線の引き方です。
⚙ AIツール2026-08-28
ステータスラインでコストを追えるようにするまでに、3か所でつまずきました
Antigravity CLI のステータスラインに自分のセッションコストを出そうとして詰まった3か所を、実測しながら順に直していきます。stdin の読み方・フィールドの有無の確かめ方・利用量台帳の作り方をまとめました。
⚙ AIツール2026-08-19
Antigravity の既定モデルが入れ替わっても壊れないのは、出力を先に狭めてある仕事です
Gemini 3.7 Flash が Antigravity のエージェント既定モデルになりました。設定を触っていない箇所ほど静かに影響を受けます。既定に依存している場所を機械的に洗い出し、乗せる仕事と据え置く仕事を出力の自由度で切り分ける手順を、3つの検査スクリプトとともに記します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます