أضف رمزي 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++ جديدة إلى مشروعك.
إذا أردت إضافة رمز أصلي إلى مشروع حالي، اتبع هذه الخطوات:
-
إنشاء ملفات مصدر جديدة أصلية وإضافة ملفات
الملفات إلى مشروعك على "استوديو Android".
- يمكنك تخطّي هذه الخطوة إذا كان لديك رمز برمجي أصلي أو إذا أردت استيراد مكتبة مدمجة مسبقًا.
-
ضبط CMake على
وإنشاء رمز المصدر الأصلي في مكتبة يجب إدخال نص الإصدار النصي هذا.
إذا كنت تستورد البيانات وتربطها بالنظام الأساسي أو المصمَّمة مسبقًا
المكتبات.
- إذا كانت لديك مكتبة أصلية حالية من المحتوى
يتم إنشاء نص برمجي لـ
CMakeLists.txt
أو استخدامndk-build
ويتضمن وAndroid.mk
إنشاء النص البرمجي، يمكنك تخطي هذه الخطوة.
- إذا كانت لديك مكتبة أصلية حالية من المحتوى
يتم إنشاء نص برمجي لـ
-
الإعداد
Gradle من خلال توفير مسار إلى CMake أو
ndk-build
ملف البرنامج النصي. يستخدم Gradle النص البرمجي للإنشاء لاستيراد رمز المصدر إلى مشروع استوديو Android وحزم مكتبتك الأصلية في التطبيق.
بعد ضبط مشروعك، يمكنك الوصول إلى الوظائف الأصلية من رمز Java أو Kotlin باستخدام إطار عمل JNI. لإنشاء تطبيقك وتشغيله انقر على رمز التشغيل .
ملاحظة: إذا كان مشروعك الحالي يستخدم واجهة برمجة التطبيقات متوقّفة نهائيًا
ndkCompile
، فيمكنك الانتقال إلى استخدام إما CMake أو
ndk-build
تنزيل NDK وإنشاء أدوات
لتجميع الرمز الأصلي لتطبيقك وتصحيح الأخطاء فيه، تحتاج إلى ما يلي: المكونات:
- حزمة تطوير البرامج الأصلية لنظام التشغيل Android (NDK): مجموعة أدوات تتيح لك استخدام التعليمات البرمجية C وC++ مع Android توفّر NDK مكتبات لمنصات إدارة المحتوى الأنشطة والوصول إلى مكونات الجهاز المادية، مثل أدوات الاستشعار واللمس إدخال.
-
CMake:
أداة تصميم خارجية تعمل جنبًا إلى جنب مع Gradle لإنشاء
المكتبة. ولست بحاجة إلى هذا المكون إذا كنت تخطط لاستخدام
ndk-build
- LLDB: برنامج تصحيح الأخطاء في "استوديو Android" الذي يصحح أخطاء الرمز البرمجي الأصلي.
لمزيد من المعلومات عن تثبيت هذه المكوّنات، يُرجى الاطّلاع على تثبيت وتكوين NDK وCMake.
أنشِئ مشروعًا جديدًا مع دعم C/C++
لإنشاء مشروع جديد يتيح استخدام التعليمات البرمجية الأصلية، تكون هذه العملية مشابهة إنّ إنشاء أي جهاز Android آخر مشروع من "استوديو YouTube"، ولكن مع خطوة إضافية:
- في القسم اختيار مشروعك في المعالج، اختَر نوع المشروع Native C++.
- انقر على التالي.
- أكمل جميع الحقول الأخرى في القسم التالي من المعالج.
- انقر على التالي.
-
في قسم تخصيص دعم C++ في المعالج، يمكنك تخصيص
مشروعك باستخدام حقل C++ Standard.
- استخدم القائمة المنسدلة من أجل تحديد توحيد لغة C++ الذي تريد استخدامه. تحديد سلسلة الأدوات يستخدم الإعداد التلقائي إعداد CMake التلقائي.
- انقر على إنهاء.
بعد انتهاء "استوديو Android" من إنشاء مشروعك الجديد، افتح الجزء مشروع من الجانب الأيمن من بيئة التطوير المتكاملة (IDE) Android من القائمة. كما هو موضح في الشكل 1، يميل نظام يضيف استوديو YouTube مجموعة التكلفة لكل نقطة:
ملاحظة: لا يعكس هذا العرض التدرّج الهرمي الفعلي للملفات على القرص، ولكن تقوم بتجميع الملفات المتشابهة لتبسيط التنقل في مشروعك.
يمكنك العثور في مجموعة التكلفة لكل نقطة على جميع
ملفات المصدر والعناوين والنصوص البرمجية المخصصة لـ 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 أو المحاكي تصف النظرة العامة التالية الأحداث التي يحدث لإنشاء نموذج التطبيق وتشغيله:
- على النص البرمجي الخارجي للإنشاء
CMakeLists.txt
- يتبع CMake الأوامر في البرنامج النصي للإنشاء لتجميع مصدر C++
ملف،
native-lib.cpp
، في مكتبة العناصر المشتركة والأسماء هوlibnative-lib.so
. ثم يجمعها Gradle في التطبيق. - أثناء وقت التشغيل، يحمّل
MainActivity
للتطبيق النسخة الأصلية. المكتبة باستخدامSystem.loadLibrary()
والوظيفة الأصلية للمكتبة، أصبحت "stringFromJNI()
" متوفّرة الآن للتطبيق. -
يتم الاتصال بـ
stringFromJNI()
من قِبل "MainActivity.onCreate()
" التي تعرض"Hello from C++"
وتستخدمها لتعديلTextView
.
للتأكّد من أنّ Gradle يحزم المكتبة الأصلية في التطبيق، استخدِم أداة تحليل حِزم APK:
- اختَر إنشاء > إنشاء حِزم / حِزم APK > إنشاء حِزم APK:
- اختَر إنشاء > تحليل APK:
- اختيار ملف APK أو AAB من دليل
app/build/outputs/
وانقر على حسنًا. - كما هو موضح في الشكل 2، يمكنك رؤية
libnative-lib.so
في نافذة أداة تحليل APK ضمنlib/<ABI>/
.
نصيحة: إذا كنت تريد تجربة تطبيقات Android أخرى استخدام رمز أصلي، انقر على ملف > جديد > استيراد عيّنة اختَر نموذج مشروع من قائمة Ndk.
إنشاء ملفات مصدر جديدة بلغة C/C++
لإضافة ملفات مصدر جديدة بلغة C/C++ إلى مشروع حالي، يمكنك المتابعة كما يلي:
- إذا لم يكن لديك دليل
cpp/
في المصدر الرئيسي مجموعة من تطبيقاتك، أنشئ مجموعة على النحو التالي: - افتح لوحة المشروع في الجانب الأيمن من بيئة التطوير المتكاملة (IDE). اختَر طريقة عرض المشروع من القائمة.
- الانتقال إلى your-module > src.
- انقر بزر الماوس الأيمن على الدليل الرئيسي واختر جديد > الدليل.
- أدخِل
cpp
كاسم للدليل، وانقر على حسنًا. - انقر بزر الماوس الأيمن على الدليل
cpp/
واختر جديد > ملف المصدر C/C++ - أدخِل اسمًا لملف المصدر، مثل
native-lib
. - من القائمة النوع، اختَر امتداد الملف.
لملف المصدر، مثل
.cpp
.- انقر على تعديل أنواع الملفات.
لإضافة أنواع ملفات أخرى إلى القائمة، مثل
.cxx
أو.hxx
. في امتدادات الملفات الجديدة المنبثق، حدد امتداد ملف آخر من قائمتا إضافة المصدر وإضافة العنوان انقر على حسنًا.
- انقر على تعديل أنواع الملفات.
لإضافة أنواع ملفات أخرى إلى القائمة، مثل
- لإنشاء ملف رأس، اختَر زر إنشاء ملف رأس الصفحة المرتبطة.
- انقر على موافق.
بعد إضافة ملفات C/C++ جديدة إلى مشروعك، ستظل بحاجة إلى ضبط CMake لتضمين الملفات في مكتبتك الأصلية.
مصادر إضافية
للاطّلاع على مزيد من المعلومات عن إتاحة رموز C/C++ في تطبيقك، يُرجى تجربة الخطوات التالية: المصدر.
الدروس التطبيقية حول الترميز
- إنشاء Hello-CMake باستخدام "استوديو Android" يعرض هذا الدرس التطبيقي حول الترميز كيفية استخدام نموذج Android Studio CMake للبدء تطوير مشروع Android NDK.