Cursorを使ったAndroid開発:セットアップとヒント
Android開発は伝統的にAndroid Studioに結びついてきました。これはGoogleがIntelliJ IDEAをベースに構築した公式IDEです。AI機能を持つVS CodeフォークであるCursorは、異なる体験を提供します —— 一部のAndroid固有ツールと強力なAI支援を交換するものです。本ガイドでは、CursorでのAndroid開発環境のセットアップ、使用が理にかなう場面、およびAndroid Studioが依然として不可欠な場面を説明します。
Android Studio vs Cursor:得られるものと失うもの
CursorにAndroid開発を切り替える前に、トレードオフを理解してください:
| 機能 | Android Studio | Cursor |
|---|---|---|
| レイアウトエディタ(XMLビジュアル) | あり | なし |
| エミュレーター統合 | 内蔵 | 外部 |
| Gradle同期およびビルド | ネイティブ | ターミナルのみ |
| Logcatビューア | 内蔵 | なし |
| APKアナライザー | 内蔵 | なし |
| データベースインスペクタ | 内蔵 | なし |
| AIコード支援 | 基本(Gemini) | 高度(Claude、GPT) |
| 自然言語チャット | なし | あり |
| Composer複数ファイル編集 | なし | あり |
| VS Code拡張機能 | なし | あり |
| カスタマイズ可能なキーバインド | 限定的 | 完全 |
この決定は二者択一ではありません。多くの開発者はコード作成にCursorを、ビルド、デバッグ、およびエミュレーター実行にAndroid Studioを使用しています。
CursorでのAndroid開発環境のセットアップ
1. 必要な拡張機能のインストール
CursorはVS Code拡張機能をサポートしています。Android開発には以下をインストールしてください:
- Cursorを開く
- 拡張機能(Ctrl+Shift+X / Cmd+Shift+X)に移動
- 検索してインストール:
- Kotlin Language by
mathiasfrohlich—— シンタックスハイライトと基本IntelliSense - Kotlin by
fwcd—— 高度なKotlinサポート(どちらかを選択) - Android iOS Emulator by
DiemasMichiels—— エミュレーターランチャー - Gradle Language Support ——
build.gradleおよびsettings.gradleファイル用 - XML Tools —— Androidマニフェストおよびレイアウトファイル用
- Kotlin Language by
// .vscode/extensions.json で推奨される拡張機能
{
"recommendations": [
"mathiasfrohlich.kotlin",
"vscjava.vscode-gradle",
"redhat.vscode-xml",
"diemasmichiels.emulator"
]
}
2. AndroidプロジェクトをCursorで開く
Androidプロジェクトは他のフォルダと同様にCursorで開くことができます:
# プロジェクトに移動
cd ~/Projects/MyAndroidApp
# Cursorで開く
cursor .
Cursorは.gradleおよび.ktsファイルを編集できますが、Android StudioのようにGradleを同期したり依存関係を解決したりすることはできません。Gradleコマンドはターミナルから実行する必要があります。
3. Gradleビルドタスクの設定
一般的なGradle操作用にVS Codeタスクを設定します:
// .vscode/tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Build Debug APK",
"type": "shell",
"command": "./gradlew",
"args": ["assembleDebug"],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "Run Tests",
"type": "shell",
"command": "./gradlew",
"args": ["test"]
},
{
"label": "Install Debug APK",
"type": "shell",
"command": "./gradlew",
"args": ["installDebug"]
},
{
"label": "Clean Build",
"type": "shell",
"command": "./gradlew",
"args": ["clean"]
}
]
}
タスクは Ctrl+Shift+B(macOSではCmd+Shift+B)で実行します。
CursorでのGradleセットアップ
GradleはAndroidビルドの基盤です。Android StudioではGradle同期は自動的に行われます。Cursorでは手動で管理する必要があります。
一般的なGradleコマンド
# プロジェクトをビルド
./gradlew build
# Debug APKをビルド
./gradlew assembleDebug
# Release APKをビルド
./gradlew assembleRelease
# ユニットテストを実行
./gradlew test
# インストルメントテストを実行
./gradlew connectedAndroidTest
# ビルド成果物をクリーン
./gradlew clean
# 利用可能なすべてのタスクを表示
./gradlew tasks
Gradle Wrapperの問題
Wrapperスクリプトが実行可能でない場合:
chmod +x gradlew
Windowsでは、./gradlewの代わりにgradlew.batを使用してください。
依存関係管理
build.gradleまたはbuild.gradle.ktsに依存関係を追加しても、Cursorは自動同期しません。以下を実行する必要があります:
./gradlew build
またはGradleデーモンを使用して後続のビルドを高速化:
./gradlew --daemon build
Gradleデーモンはメモリに常駐し、ビルドを大幅に高速化します。~/.gradle/にgradle.propertiesファイルを作成し、org.gradle.daemon=trueを設定することでデフォルトで有効にします。
エミュレーター統合
CursorにはAndroid Studioのような内蔵エミュレーターはありません。2つのオプションがあります:
オプション1:ターミナルからエミュレーターを起動
# 利用可能なエミュレーターを一覧表示
emulator -list-avds
# 特定のエミュレーターを起動
emulator -avd Pixel_7_API_34
これをVS Codeタスクとして追加してクイックアクセス:
{
"label": "Launch Emulator",
"type": "shell",
"command": "emulator",
"args": ["-avd", "Pixel_7_API_34"]
}
オプション2:エミュレーター拡張機能を使用
DiemasMichielsによるAndroid iOS Emulator拡張機能は、Cursorのステータスバーにエミュレーターランチャーを追加します。
- 拡張機能をインストール
- ステータスバーのエミュレーターアイコンをクリック
- ドロップダウンからAVDを選択
オプション3:Android Studioを開いたままにする
多くの開発者は、エミュレーターとLogcat用にAndroid Studioを実行したままにし、Cursorでコードを編集します。これが最も信頼性の高いアプローチです。
KotlinおよびJavaサポート
CursorはKotlinとJavaの両方をうまく処理しますが、コミュニティツールのサポートによりKotlinのサポートが強化されています。
Kotlin
- Kotlin拡張機能でシンタックスハイライトが機能
- Cursor Tab自動補完はKotlinのイディオムに効果的
- AIチャットはKotlinコルーチン、Flow、およびComposeを理解
Kotlinのプロンプト例:
"KotlinでRetrofitを使用してユーザーデータを取得し、
StateFlowとして公開するViewModelを作成してください。
ローディングおよびエラーステートを処理してください。"
Java
- CursorでのJavaサポートは優れている(VS Codeには成熟したJava拡張機能がある)
- MicrosoftのExtension Pack for Javaをインストールして完全なIDE機能を得ることができます
- CursorのAIはJavaとKotlinで同様に効果的に機能
// 完全なJavaサポート
{
"recommendations": [
"vscjava.vscode-java-pack"
]
}
Android Jetpack Compose
Jetpack ComposeはCursorが輝く場所です。Composeはコードのみ(XMLレイアウトなし)であるため、UI全体をCursorで作成および洗練させることができます:
@Composable
fun UserProfileCard(user: User) {
Card(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp),
elevation = CardDefaults.cardElevation(defaultElevation = 4.dp)
) {
Column(modifier = Modifier.padding(16.dp)) {
Text(text = user.name, style = MaterialTheme.typography.headlineSmall)
Text(text = user.email, style = MaterialTheme.typography.bodyMedium)
}
}
}
CursorはComposeコードを効果的に生成、リファクタリング、および説明できます。なぜならそれは純粋なKotlinだからです。
デュアルIDEワークフロー
コミュニティのフィードバックに基づくと、Android開発の最も生産性の高いセットアップは以下です:
| タスク | ツール | 理由 |
|---|---|---|
| Kotlin/Javaコードの作成 | Cursor | AI支援、優れた編集体験 |
| XMLレイアウトの編集 | どちらでも | Cursorは機能する;Android Studioにはプレビューがある |
| ビルドおよびデプロイ | Android Studio | 信頼性の高いGradle同期およびエミュレーター |
| ブレークポイントを使ったデバッグ | Android Studio | 優れたデバッガーおよびLogcat |
| Compose UI開発 | Cursor | コードのみ、プレビュー不要 |
| プロファイリングおよび分析 | Android Studio | CPU/メモリ/ネットワークプロファイラー |
推奨ワークフロー
- 両方のIDEでプロジェクトを開く
- Cursorでコードを編集 —— 説明にはチャット、リファクタリングにはComposerを使用
- Android Studioでビルド —— エミュレーターへのデプロイ用に実行ボタンをクリック
- Android Studioでデバッグ —— Logcatおよびデバッガーを使用
- どちらからでもコミット —— 両方のIDEがファイルシステムを介してファイル変更を検出
制限事項
CursorがAndroid開発でできないこと
| 制限事項 | 影響 | 回避策 |
|---|---|---|
| レイアウトエディタなし | XMLをビジュアル編集できない | XMLを手動で編集するかAndroid Studioを使用 |
| 内蔵エミュレーターなし | 直接アプリを実行できない | ターミナルを使用するかAndroid Studioを開いたままにする |
| Logcatビューアなし | ログを表示できない | ターミナルでadb logcatを使用するかAndroid Studioを使用 |
| APKアナライザーなし | APKを検査できない | Android Studioのビルドアナライザーを使用 |
| データベースインスペクタなし | Roomデータベースを検査できない | Android StudioまたはStethoを使用 |
| Gradle同期が自動でない | 手動でビルドを実行する必要がある | ターミナルまたはタスクショートカットを使用 |
既知の問題
問題:Kotlin拡張機能が有効なコードに対してエラーを表示
解決策:VS Code用Kotlin拡張機能はAndroid Studioほど成熟していません。一部のエラーは誤検出です。実際のコンパイル状態についてはGradleビルドを信頼してください。
問題:Composeプレビューが機能しない
解決策:Android StudioのComposeプレビューはCursorでは利用できません。UI変更を確認するにはエミュレーターを使用するかアプリをビルドしてください。
問題:R.java参照が未解決として表示される
解決策:生成されたコードが作成されるように一度./gradlew buildを実行してください。Kotlin拡張機能は警告を表示し続ける場合がありますが、コードはコンパイルされます。
ベストプラクティス
1. 可能な限りComposeを使用
Jetpack ComposeはXMLレイアウト編集の必要性を排除し、CursorをAndroid UI作業のより実行可能な主要エディターにします。
2. 一般的なタスク用にシェルスクリプトを作成
反復的なGradleコマンドを自動化:
#!/bin/bash
# scripts/build.sh
./gradlew clean assembleDebug && adb install app/build/outputs/apk/debug/app-debug.apk
3. ターミナルからADBを使用
クイックなデバイス操作のためにADBコマンドを学びましょう:
# APKをインストール
adb install app/build/outputs/apk/debug/app-debug.apk
# アプリのログを表示
adb logcat -s "MyAppTag:D"
# アプリデータをクリア
adb shell pm clear com.example.myapp
# スクリーンショット
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png
4. CursorのAIをボイラープレート生成に活用
Androidには相当なボイラープレートが含まれます。Cursorを使って以下を生成:
- RecyclerViewアダプター
- Retrofitサービスインターフェース
- RoomデータベースエンティティおよびDAO
- ViewModelファクトリー
- Dagger/Hiltモジュール
Cursorプロンプト:
"id、title、description、dueDate、およびisCompletedフィールドを持つ
TodoアイテムのRoomデータベースエンティティを生成してください。
CRUD操作を含むDAOと、完了したtodoを取得するクエリを含めてください。"
まとめ
CursorはAndroid開発の実行可能なツールであり、特にKotlinおよびJetpack Composeプロジェクトに適しています。Android Studioの完全な代替ではありませんが、コード作成、リファクタリング、およびAI支援開発で優れています。
主なポイント:
- Cursorで基本的なIDE機能を得るためにKotlinおよびGradle拡張機能をインストール
- ターミナルからGradleコマンドを使用 —— 自動同期はない
- ターミナルからエミュレーターを起動するか、エミュレーター拡張機能を使用
- デュアルIDEワークフロー(Cursorでコード作成、Android Studioでビルド/デバッグ)が最も信頼性が高い
- Jetpack ComposeプロジェクトはCursorで最も効果的(コードのみであるため)
- リリース前に常にAndroid Studioでビルドを確認
ワークフローがビジュアルレイアウト編集、広範なデバッグ、またはプロファイリングに大きく依存している場合、Android Studioは依然として不可欠です。純粋なコード作成とAI支援の場合、Cursorは強力な代替手段です。
最終更新:2025年6月