إضافة رمز C وC++ إلى مشروعك

أضف رمزي C وC++ إلى مشروع Android من خلال وضع الرمز في دليل cpp في وحدة مشروعك. عندما تنشئ مشروعك، فإن هذا التعليمات البرمجية في مكتبة أصلية يمكن لنظام Gradle حزمها مع تطبيقك. ويمكن حينئذٍ لرمز Java أو Kotlin استدعاء الدوال في المكتبة الأصلية. من خلال واجهة Java الأصلية (JNI). مزيد من المعلومات حول استخدام مبادرة JNI يمكنك قراءة نصائح مبادرة أخبار Google Android

يتوافق Android Studio مع أداة CMake، وهي مفيدة للمشاريع على عدّة منصات. يتوافق "استوديو Android" أيضًا مع ndk-build، يمكن أن يكون أسرع من CMake ولكنه يتوافق فقط مع Android. يساعد استخدام كل من CMake ndk-build في الوحدة نفسها غير متاحة حاليًا.

لاستيراد مكتبة ndk-build حالية إلى "استوديو Android" مشروعك، فتعرف على كيفية ربط Gradle بمشروع المكتبة الأصلية.

توضّح لك هذه الصفحة كيفية إعداد "استوديو Android" باستخدام أدوات الإنشاء اللازمة، إنشاء مشروع جديد باستخدام لغة C/C++ والدعم وإضافة ملفات C/C++ جديدة إلى مشروعك.

إذا أردت إضافة رمز أصلي إلى مشروع حالي، اتبع هذه الخطوات:

  1. إنشاء ملفات مصدر جديدة أصلية وإضافة ملفات الملفات إلى مشروعك على "استوديو Android".
    • يمكنك تخطّي هذه الخطوة إذا كان لديك رمز برمجي أصلي أو إذا أردت استيراد مكتبة مدمجة مسبقًا.
  2. ضبط CMake على وإنشاء رمز المصدر الأصلي في مكتبة يجب إدخال نص الإصدار النصي هذا. إذا كنت تستورد البيانات وتربطها بالنظام الأساسي أو المصمَّمة مسبقًا المكتبات.
    • إذا كانت لديك مكتبة أصلية حالية من المحتوى يتم إنشاء نص برمجي لـ CMakeLists.txt أو استخدام ndk-build ويتضمن وAndroid.mk إنشاء النص البرمجي، يمكنك تخطي هذه الخطوة.
  3. الإعداد Gradle من خلال توفير مسار إلى CMake أو ndk-build ملف البرنامج النصي. يستخدم Gradle النص البرمجي للإنشاء لاستيراد رمز المصدر إلى مشروع استوديو Android وحزم مكتبتك الأصلية في التطبيق.

بعد ضبط مشروعك، يمكنك الوصول إلى الوظائف الأصلية من رمز Java أو Kotlin باستخدام إطار عمل JNI. لإنشاء تطبيقك وتشغيله انقر على رمز التشغيل شغِّل التطبيق ثم شغّله من شريط القوائم.

ملاحظة: إذا كان مشروعك الحالي يستخدم واجهة برمجة التطبيقات متوقّفة نهائيًا ndkCompile، فيمكنك الانتقال إلى استخدام إما CMake أو ndk-build

تنزيل NDK وإنشاء أدوات

لتجميع الرمز الأصلي لتطبيقك وتصحيح الأخطاء فيه، تحتاج إلى ما يلي: المكونات:

لمزيد من المعلومات عن تثبيت هذه المكوّنات، يُرجى الاطّلاع على تثبيت وتكوين NDK وCMake.

أنشِئ مشروعًا جديدًا مع دعم C/C++

لإنشاء مشروع جديد يتيح استخدام التعليمات البرمجية الأصلية، تكون هذه العملية مشابهة إنّ إنشاء أي جهاز Android آخر مشروع من "استوديو YouTube"، ولكن مع خطوة إضافية:

  1. في القسم اختيار مشروعك في المعالج، اختَر نوع المشروع Native C++.
  2. انقر على التالي.
  3. أكمل جميع الحقول الأخرى في القسم التالي من المعالج.
  4. انقر على التالي.
  5. في قسم تخصيص دعم C++ في المعالج، يمكنك تخصيص مشروعك باستخدام حقل C++ Standard.
    • استخدم القائمة المنسدلة من أجل تحديد توحيد لغة C++ الذي تريد استخدامه. تحديد سلسلة الأدوات يستخدم الإعداد التلقائي إعداد CMake التلقائي.
  6. انقر على إنهاء.

بعد انتهاء "استوديو Android" من إنشاء مشروعك الجديد، افتح الجزء مشروع من الجانب الأيمن من بيئة التطوير المتكاملة (IDE) Android من القائمة. كما هو موضح في الشكل 1، يميل نظام يضيف استوديو YouTube مجموعة التكلفة لكل نقطة:

الشكل 1. مجموعات عرض Android لمصادرك الأصلية والنصوص البرمجية الخارجية.

ملاحظة: لا يعكس هذا العرض التدرّج الهرمي الفعلي للملفات على القرص، ولكن تقوم بتجميع الملفات المتشابهة لتبسيط التنقل في مشروعك.

يمكنك العثور في مجموعة التكلفة لكل نقطة على جميع ملفات المصدر والعناوين والنصوص البرمجية المخصصة لـ CMake أو ndk-build والمصمَّمة مسبقًا والمكتبات التي تشكل جزءًا من مشروعك. بالنسبة إلى المشاريع الجديدة: "استوديو Android" تنشئ نموذجًا لملف المصدر C++ ، native-lib.cpp، وتضعه في دليل src/main/cpp/ بوحدة تطبيقك. هذا العيّنة دالة C++ بسيطة، stringFromJNI()، تُرجع السلسلة "Hello from C++". التعرّف على كيفية إضافة بطاقات أخرى ملفات المصدر إلى مشروعك في القسم الخاص بكيفية إنشاء ملفات مصدر أصلية جديدة

على غرار الطريقة التي تتّبعها ملفات build.gradle في توجيه Gradle إلى إنشاء تطبيقك، CMake وndk-build يتطلبان نصًا برمجيًا للإصدار لمعرفة كيفية إنشاء مكتبتك الأصلية. بالنسبة إلى المشاريع الجديدة، ينشئ "استوديو Android" تصميمًا CMake. البرنامج النصي CMakeLists.txt، وتضعه في الدليل الجذري للوحدة. لمعرفة المزيد من المعلومات عن محتوى نص الإصدار البرمجي هذا، يُرجى الاطّلاع على ضبط CMake.

إنشاء نموذج التطبيق وتشغيله

عند النقر على تشغيل شغِّل التطبيق ثم شغّله من شريط القوائم، انتقِل إلى "استوديو Android" ينشئ تطبيقًا ويطلقه يعرض النص "مرحبًا من C++" على جهاز Android أو المحاكي تصف النظرة العامة التالية الأحداث التي يحدث لإنشاء نموذج التطبيق وتشغيله:

  1. على النص البرمجي الخارجي للإنشاء CMakeLists.txt
  2. يتبع CMake الأوامر في البرنامج النصي للإنشاء لتجميع مصدر C++ ملف، native-lib.cpp، في مكتبة العناصر المشتركة والأسماء هو libnative-lib.so. ثم يجمعها Gradle في التطبيق.
  3. أثناء وقت التشغيل، يحمّل MainActivity للتطبيق النسخة الأصلية. المكتبة باستخدام System.loadLibrary() والوظيفة الأصلية للمكتبة، أصبحت "stringFromJNI()" متوفّرة الآن للتطبيق.
  4. يتم الاتصال بـ stringFromJNI() من قِبل "MainActivity.onCreate()" التي تعرض "Hello from C++" وتستخدمها لتعديل TextView.

للتأكّد من أنّ Gradle يحزم المكتبة الأصلية في التطبيق، استخدِم أداة تحليل حِزم APK:

  1. اختَر إنشاء > إنشاء حِزم / حِزم APK > إنشاء حِزم APK:
  2. اختَر إنشاء > تحليل APK:
  3. اختيار ملف APK أو AAB من دليل app/build/outputs/ وانقر على حسنًا.
  4. كما هو موضح في الشكل 2، يمكنك رؤية libnative-lib.so في نافذة أداة تحليل APK ضمن lib/<ABI>/.

    الشكل 2. تحديد موقع مكتبة أصلية باستخدام حزمة APK أداة التحليل.

نصيحة: إذا كنت تريد تجربة تطبيقات Android أخرى استخدام رمز أصلي، انقر على ملف > جديد > استيراد عيّنة اختَر نموذج مشروع من قائمة Ndk.

إنشاء ملفات مصدر جديدة بلغة C/C++

لإضافة ملفات مصدر جديدة بلغة C/C++ إلى مشروع حالي، يمكنك المتابعة كما يلي:

  1. إذا لم يكن لديك دليل cpp/ في المصدر الرئيسي مجموعة من تطبيقاتك، أنشئ مجموعة على النحو التالي:
    1. افتح لوحة المشروع في الجانب الأيمن من بيئة التطوير المتكاملة (IDE). اختَر طريقة عرض المشروع من القائمة.
    2. الانتقال إلى your-module > src.
    3. انقر بزر الماوس الأيمن على الدليل الرئيسي واختر جديد > الدليل.
    4. أدخِل cpp كاسم للدليل، وانقر على حسنًا.

  2. انقر بزر الماوس الأيمن على الدليل cpp/ واختر جديد > ملف المصدر C/C++
  3. أدخِل اسمًا لملف المصدر، مثل native-lib.
  4. من القائمة النوع، اختَر امتداد الملف. لملف المصدر، مثل .cpp.
    • انقر على تعديل أنواع الملفات. لإضافة أنواع ملفات أخرى إلى القائمة، مثل .cxx أو .hxx. في امتدادات الملفات الجديدة المنبثق، حدد امتداد ملف آخر من قائمتا إضافة المصدر وإضافة العنوان انقر على حسنًا.
  5. لإنشاء ملف رأس، اختَر زر إنشاء ملف رأس الصفحة المرتبطة.
  6. انقر على موافق.

بعد إضافة ملفات C/C++ جديدة إلى مشروعك، ستظل بحاجة إلى ضبط CMake لتضمين الملفات في مكتبتك الأصلية.

مصادر إضافية

للاطّلاع على مزيد من المعلومات عن إتاحة رموز C/C++ في تطبيقك، يُرجى تجربة الخطوات التالية: المصدر.

الدروس التطبيقية حول الترميز