メインコンテンツまでスキップ

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 StudioCursor
レイアウトエディタ(XMLビジュアル)ありなし
エミュレーター統合内蔵外部
Gradle同期およびビルドネイティブターミナルのみ
Logcatビューア内蔵なし
APKアナライザー内蔵なし
データベースインスペクタ内蔵なし
AIコード支援基本(Gemini)高度(Claude、GPT)
自然言語チャットなしあり
Composer複数ファイル編集なしあり
VS Code拡張機能なしあり
カスタマイズ可能なキーバインド限定的完全

この決定は二者択一ではありません。多くの開発者はコード作成にCursorを、ビルド、デバッグ、およびエミュレーター実行にAndroid Studioを使用しています。

CursorでのAndroid開発環境のセットアップ​

1. 必要な拡張機能のインストール​

CursorはVS Code拡張機能をサポートしています。Android開発には以下をインストールしてください:

  1. Cursorを開く
  2. 拡張機能(Ctrl+Shift+X / Cmd+Shift+X)に移動
  3. 検索してインストール:
    • Kotlin Language by mathiasfrohlich —— シンタックスハイライトと基本IntelliSense
    • Kotlin by fwcd —— 高度なKotlinサポート(どちらかを選択)
    • Android iOS Emulator by DiemasMichiels —— エミュレーターランチャー
    • Gradle Language Support —— build.gradleおよびsettings.gradleファイル用
    • XML Tools —— Androidマニフェストおよびレイアウトファイル用
// .vscode/extensions.json で推奨される拡張機能
{
"recommendations": [
"mathiasfrohlich.kotlin",
"vscjava.vscode-gradle",
"redhat.vscode-xml",
"diemasmichiels.emulator"
]
}

2. AndroidプロジェクトをCursorで開く​

Androidプロジェクトは他のフォルダと同様にCursorで開くことができます:

# プロジェクトに移動
cd ~/Projects/MyAndroidApp

# Cursorで開く
cursor .
Gradleファイル

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 Daemon

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のステータスバーにエミュレーターランチャーを追加します。

  1. 拡張機能をインストール
  2. ステータスバーのエミュレーターアイコンをクリック
  3. ドロップダウンから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コードの作成CursorAI支援、優れた編集体験
XMLレイアウトの編集どちらでもCursorは機能する;Android Studioにはプレビューがある
ビルドおよびデプロイAndroid Studio信頼性の高いGradle同期およびエミュレーター
ブレークポイントを使ったデバッグAndroid Studio優れたデバッガーおよびLogcat
Compose UI開発Cursorコードのみ、プレビュー不要
プロファイリングおよび分析Android StudioCPU/メモリ/ネットワークプロファイラー

推奨ワークフロー​

  1. 両方のIDEでプロジェクトを開く
  2. Cursorでコードを編集 —— 説明にはチャット、リファクタリングにはComposerを使用
  3. Android Studioでビルド —— エミュレーターへのデプロイ用に実行ボタンをクリック
  4. Android Studioでデバッグ —— Logcatおよびデバッガーを使用
  5. どちらからでもコミット —— 両方の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月