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

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月