انتقل إلى المحتوى الرئيسي

تطوير Android باستخدام Cursor: الإعداد والنصائح

لطالما ارتبط تطوير Android بـ Android Studio، IDE الرسمية من Google المبنية على IntelliJ IDEA. يقدم Cursor، وهو فرع من VS Code مع ميزات الذكاء الاصطناعي، تجربة مختلفة تتبادل بعض الأدوات الخاصة بـ Android بدعم ذكاء اصطناعي قوي. يشرح هذا الدليل كيفية إعداد Cursor لتطوير Android، ومتى يكون استخدامه منطقياً، وأين لا يزال Android Studio ضرورياً.

Android Studio مقابل Cursor: ما تكسبه وتخسره

قبل الانتقال إلى Cursor لـ Android، افهم المقايضات:

الميزةAndroid StudioCursor
محرر التخطيط (XML مرئي)نعملا
تكامل المحاكيمدمجخارجي
مزامنة وبناء Gradleأصليطرفي فقط
عارض Logcatمدمجلا
محلل APKمدمجلا
مفتش قاعدة البياناتمدمجلا
دعم كود بالذكاء الاصطناعيأساسي (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 بواسطة mathiasfrohlich — تمييز بناء الجملة و IntelliSense الأساسي
    • Kotlin بواسطة fwcd — دعم Kotlin متقدم (اختر واحداً)
    • Android iOS Emulator بواسطة 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

يمكنك فتح مشاريع Android في Cursor مثل أي مجلد آخر:

# انتقل إلى المشروع
cd ~/Projects/MyAndroidApp

# افتح في Cursor
cursor .
ملفات Gradle

يمكن لـ Cursor تحرير ملفات .gradle و .kts، لكنه لا يمكنه مزامنة Gradle أو حل التبعيات مثل Android Studio. تحتاج إلى تشغيل أوامر Gradle في الطرفية.

3. تكوين مهام بناء Gradle

قم بإعداد مهام VS Code لمهام Gradle الشائعة:

// .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 (Cmd+Shift+B في macOS).

تكوين Gradle في Cursor

Gradle هو العمود الفقري لبناء Android. في Android Studio، تحدث مزامنة Gradle تلقائياً. في Cursor، تديرها يدوياً.

أوامر Gradle الشائعة

# بناء المشروع
./gradlew build

# بناء APK debug
./gradlew assembleDebug

# بناء APK release
./gradlew assembleRelease

# تشغيل الاختبارات الوحدوية
./gradlew test

# تشغيل الاختبارات المُجهزة
./gradlew connectedAndroidTest

# تنظيف أثر البناء
./gradlew clean

# عرض جميع المهام المتاحة
./gradlew tasks

مشاكل Gradle Wrapper

إذا كان سكربت Wrapper غير قابل للتنفيذ:

chmod +x gradlew

في Windows، استخدم gradlew.bat بدلاً من ./gradlew.

إدارة التبعيات

عند إضافة تبعية إلى build.gradle أو build.gradle.kts، لا يقوم Cursor بالمزامنة تلقائياً. تحتاج إلى تشغيل:

./gradlew build

أو استخدم Gradle Daemon لبناء أسرع لاحقاً:

./gradlew --daemon build
Gradle Daemon

يبقى Gradle Daemon في الذاكرة ويسرع البناء بشكل كبير. فعّله افتراضياً بإنشاء ملف gradle.properties في ~/.gradle/ وتعيين org.gradle.daemon=true.

تكامل المحاكي

لا يحتوي Cursor على محاكي مدمج مثل Android Studio. لديك خياران:

الخيار 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: استخدام امتداد المحاكي

يضيف امتداد Android iOS Emulator لـ DiemasMichiels مشغل محاكي إلى شريط حالة Cursor.

  1. ثبّت الامتداد
  2. انقر على أيقونة المحاكي في شريط الحالة
  3. حدد AVD من القائمة المنسدلة

الخيار 3: إبقاء Android Studio مفتوحاً

يحتفظ العديد من المطورين بـ Android Studio يعمل للمحاكي و Logcat بينما يحررون الكود في Cursor. هذه هي الطريقة الأكثر استقراراً.

دعم Kotlin و Java

يتعامل Cursor بشكل جيد مع Kotlin و Java، لكن دعم Kotlin أقوى بفضل أدوات المجتمع.

Kotlin

  • يعمل تمييز بناء الجملة مع امتدادات Kotlin
  • الإكمال التلقائي Tab في Cursor فعال في اصطلاحات Kotlin
  • يفهم الذكاء الاصطناعي الدردشة coroutines Kotlin، و Flow، و Compose

مثال على موجه Kotlin:

"أنشئ ViewModel Kotlin يجلب بيانات المستخدم باستخدام Retrofit
ويعرضها عبر StateFlow. تعامل مع حالات التحميل والخطأ."

Java

  • دعم Java في Cursor ممتاز (VS Code لديه امتدادات Java ناضجة)
  • ثبّت Extension Pack for Java من Microsoft للحصول على وظائف IDE كاملة
  • يعمل الذكاء الاصطناعي في Cursor بشكل متساوٍ في Java و Kotlin
// للحصول على دعم Java كامل
{
"recommendations": [
"vscjava.vscode-java-pack"
]
}

Android Jetpack Compose

Jetpack Compose هو حيث يتألق Cursor. Compose يعتمد فقط على الكود (لا تخطيطات XML)، لذا يمكنك كتابة وتحسين واجهة المستخدم بالكامل في 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/JavaCursorدعم الذكاء الاصطناعي، تحرير أفضل
تحرير تخطيط XMLكلاهمايعمل Cursor؛ Android Studio لديه معاينة
البناء والنشرAndroid Studioمزامنة Gradle والمحاكي مستقرين
التصحيح باستخدام نقاط التوقفAndroid Studioمصحح أخطاء و Logcat ممتازين
تطوير واجهة ComposeCursorيعتمد فقط على الكود، لا يحتاج معاينة
التنميط والتحليلAndroid Studioمحللات CPU/الذاكرة/الشبكة

سير العمل المُوصى به

  1. افتح المشروع في كلا IDE
  2. حرّر الكود في Cursor — استخدم Chat للشرح، و Composer لإعادة البناء
  3. ابنِ في Android Studio — انقر على زر التشغيل للنشر على المحاكي
  4. صحّح في Android Studio — استخدم Logcat والمصحح
  5. ارتكب في أي منهما — يكتشف كلا IDE التغييرات عبر نظام الملفات

القيود

ما لا يستطيع Cursor فعله لـ Android

القيدالتأثيرالحل
لا يوجد محرر تخطيطلا يمكن تحرير XML مرئياًحرّر XML يدوياً أو استخدم Android Studio
لا يوجد محاكي مدمجلا يمكن تشغيل التطبيقات مباشرةاستخدم الطرفية أو أبقِ Android Studio مفتوحاً
لا يوجد عارض Logcatلا يمكن رؤية السجلاتاستخدم adb logcat في الطرفية أو Android Studio
لا يوجد محلل APKلا يمكن فحص APKsاستخدم Build Analyzer في Android Studio
لا يوجد مفتش قاعدة بياناتلا يمكن فحص قواعد بيانات Roomاستخدم Android Studio أو Stetho
مزامنة Gradle ليست تلقائيةتحتاج لتشغيل البناء يدوياًاستخدم الطرفية أو اختصارات المهام

المشاكل المعروفة

المشكلة: امتداد Kotlin يُظهر أخطاءً لكود صالح

الحل: امتداد Kotlin لـ VS Code ليس بنضج Android Studio. بعض الأخطاء هي إيجابيات خاطئة. اعتمد على بناء Gradle للحالة الفعلية للتجميع.

المشكلة: معاينة Compose لا تعمل

الحل: معاينة Compose في Android Studio غير متاحة في Cursor. استخدم المحاكي لرؤية تغييرات واجهة المستخدم أو ابنِ التطبيق.

المشكلة: مراجع R.java تظهر غير محلولة

الحل: شغّل ./gradlew build مرة واحدة لإنشاء الكود المُنشأ. قد لا يزال امتداد Kotlin يُظهر تحذيرات، لكن الكود سيتم تجميعه.

أفضل الممارسات

1. استخدم Compose كلما أمكن

يلغي Jetpack Compose الحاجة إلى تحرير تخطيطات XML، مما يجعل Cursor IDE أولية أكثر جدوى لعمل واجهة المستخدم Android.

2. أنشئ سكربتات shell للمهام الشائعة

أتمت أوامر 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 الاصطناعي للنماذج الأولية

يتضمن Android الكثير من النماذج الأولية. استخدم Cursor لإنشاء:

  • محولات RecyclerView
  • واجهات خدمة Retrofit
  • كيانات و DAOs لقاعدة بيانات Room
  • مصانع ViewModel
  • وحدات Dagger/Hilt
موجه Cursor:
"أنشئ كيان قاعدة بيانات Room لعنصر Todo
بحقول id، title، description، dueDate، isCompleted.
تضمّن DAO مع عمليات CRUD واستعلام لجلب
completed todos."

ملخص

Cursor أداة قابلة للتطبيق لتطوير Android، خاصة لمشاريع Kotlin و Jetpack Compose. ليس بديلاً كاملاً لـ Android Studio، لكنه ممتاز لكتابة الكود، وإعادة البناء، والتطوير المدعوم بالذكاء الاصطناعي.

النقاط الرئيسية:

  • ثبّت امتدادات Kotlin و Gradle في Cursor لوظائف IDE الأساسية
  • استخدم أوامر Gradle في الطرفية — لا توجد مزامنة تلقائية
  • شغّل المحاكي من الطرفية أو استخدم امتداد المحاكي
  • سير العمل IDE المزدوج (Cursor للكود، Android Studio للبناء/التصحيح) هو الأكثر استقراراً
  • تعمل مشاريع Compose بشكل أفضل في Cursor لأنها تعتمد فقط على الكود
  • تحقق دائماً من البناء في Android Studio قبل الإصدارات

إذا كان سير عملك يعتمد بشكل كبير على التحرير المرئي للتخطيطات، أو التصحيح المكثف، أو التنميط، فإن Android Studio لا يزال ضرورياً. لكتابة الكود النقي بدعم الذكاء الاصطناعي، Cursor بديل قوي.


آخر تحديث: يونيو 2025