تطوير Android باستخدام Cursor: الإعداد والنصائح
لطالما ارتبط تطوير Android بـ Android Studio، IDE الرسمية من Google المبنية على IntelliJ IDEA. يقدم Cursor، وهو فرع من VS Code مع ميزات الذكاء الاصطناعي، تجربة مختلفة تتبادل بعض الأدوات الخاصة بـ Android بدعم ذكاء اصطناعي قوي. يشرح هذا الدليل كيفية إعداد Cursor لتطوير Android، ومتى يكون استخدامه منطقياً، وأين لا يزال Android Studio ضرورياً.
Android Studio مقابل Cursor: ما تكسبه وتخسره
قبل الانتقال إلى Cursor لـ Android، افهم المقايضات:
| الميزة | Android Studio | Cursor |
|---|---|---|
| محرر التخطيط (XML مرئي) | نعم | لا |
| تكامل المحاكي | مدمج | خارجي |
| مزامنة وبناء Gradle | أصلي | طرفي فقط |
| عارض Logcat | مدمج | لا |
| محلل APK | مدمج | لا |
| مفتش قاعدة البيانات | مدمج | لا |
| دعم كود بالذكاء الاصطناعي | أساسي (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 بواسطة
mathiasfrohlich— تمييز بناء الجملة و IntelliSense الأساسي - Kotlin بواسطة
fwcd— دعم Kotlin متقدم (اختر واحداً) - Android iOS Emulator بواسطة
DiemasMichiels— مشغل المحاكي - Gradle Language Support — لملفات
build.gradleوsettings.gradle - XML Tools — لملفات البيان والتخطيط Android
- Kotlin Language بواسطة
// الامتدادات الموصى بها في .vscode/extensions.json
{
"recommendations": [
"mathiasfrohlich.kotlin",
"vscjava.vscode-gradle",
"redhat.vscode-xml",
"diemasmichiels.emulator"
]
}
2. فتح مشروع Android
يمكنك فتح مشاريع Android في Cursor مثل أي مجلد آخر:
# انتقل إلى المشروع
cd ~/Projects/MyAndroidApp
# افتح في Cursor
cursor .
يمكن لـ 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.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.
- ثبّت الامتداد
- انقر على أيقونة المحاكي في شريط الحالة
- حدد 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/Java | Cursor | دعم الذكاء الاصطناعي، تحرير أفضل |
| تحرير تخطيط XML | كلاهما | يعمل Cursor؛ Android Studio لديه معاينة |
| البناء والنشر | Android Studio | مزامنة Gradle والمحاكي مستقرين |
| التصحيح باستخدام نقاط التوقف | Android Studio | مصحح أخطاء و Logcat ممتازين |
| تطوير واجهة Compose | Cursor | يعتمد فقط على الكود، لا يحتاج معاينة |
| التنميط والتحليل | Android Studio | محللات CPU/الذاكرة/الشبكة |
سير العمل المُوصى به
- افتح المشروع في كلا IDE
- حرّر الكود في Cursor — استخدم Chat للشرح، و Composer لإعادة البناء
- ابنِ في Android Studio — انقر على زر التشغيل للنشر على المحاكي
- صحّح في Android Studio — استخدم Logcat والمصحح
- ارتكب في أي منهما — يكتشف كلا 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