النص البرمجي لإصدار ndk

ينشئ النص البرمجي ndk-build مشاريع تستخدم نظام الإنشاء المستند إلى التكوين في NDK. هناك مستندات أكثر تحديدًا لإعدادات Android.mk وApplication.mk التي يستخدمها ndk-build.

أصول داخلية

يعادل تشغيل النص البرمجي ndk-build تشغيل الأمر التالي:

$GNUMAKE -f <ndk>/build/core/build-local.mk
<parameters>

يشير "$GNUMAKE" إلى الإصدار 3.81 من GNU Make 3.81 أو إصدار أحدث، ويشير <ndk> إلى دليل تثبيت NDK. يمكنك استخدام هذه المعلومات لاستدعاء ndk-build من نصوص برمجية أخرى في واجهة المستخدم أو حتى من ملفات الإنشاء.

الاستدعاء من سطر الأوامر

يوجد النص البرمجي ndk-build في دليل تثبيت NDK ذي المستوى الأعلى. ولتشغيله من سطر الأوامر، استدعِه أثناء الدخول في دليل مشروع التطبيق أو ضمنه. مثلاً:

$ cd <project>
$ <ndk>/ndk-build

في هذا المثال، يشير <project> إلى الدليل الجذري لمشروعك، و<ndk> هو الدليل الذي تم فيه تثبيت NDK.

الخيارات

ويتم تمرير جميع المعلَمات إلى ndk-build مباشرةً إلى أمر GNU make الأساسي الذي ينفِّذ النصوص البرمجية لإصدار NDK. دمج ndk-build والخيارات في النموذج ndk-build <option>. مثلاً:

$ ndk-build clean

تتوفر الخيارات التالية:

clean
أزِل أي برامج ثنائية تم إنشاؤها سابقًا.

ملاحظة: في نظام التشغيل Mac OS X، قد يؤدي تشغيل ndk-build clean مع عدد كبير من عمليات التنفيذ الموازية إلى حدوث خطأ في الإصدار يتضمّن الرسالة التالية:

rm: fts_read: No such file or directory

لتجنُّب هذه المشكلة، ننصحك بعدم استخدام مفتاح التعديل -jN أو اختيار قيمة أصغر للسمة N، مثل 2.

V=1
يمكنك إطلاق أوامر الإصدار والعرض.
-B
يمكنك فرض عملية إعادة إنشاء كاملة.
-B V=1
يمكنك فرض عملية إعادة الإنشاء بالكامل وعرض أوامر الإصدار.
NDK_LOG=1
عرض رسائل سجلّ NDK الداخلية (تُستخدم لتصحيح أخطاء NDK نفسه).
NDK_DEBUG=1
فرض إصدار قابل لتصحيح الأخطاء (راجِع الجدول 1).
NDK_DEBUG=0
فرض إصدار إصدار (راجِع الجدول 1).
NDK_HOST_32BIT=1
استخدِم دائمًا سلسلة الأدوات في وضع 32 بت.
NDK_APPLICATION_MK=<file>
الإصدار، باستخدام ملف Application.mk محدّد يُشار إليه بالمتغيّر NDK_APPLICATION_MK.
-C <project>
أنشئ الرمز الأصلي لمسار المشروع المتوفّر على <project>. هذا الإجراء مفيد إذا لم تكن تريد cd في الوحدة الطرفية.

نُسخ قابلة للتصحيح للأخطاء وإصدارات أخرى

استخدِم الخيار NDK_DEBUG، وفي بعض الحالات، AndroidManifest.xml لتحديد إصدار تصحيح الأخطاء أو الإصدار والسلوك المتعلق بالتحسين وتضمين الرموز. يعرض الجدول 1 نتائج كل مجموعة محتملة من الإعدادات.

الجدول 1. نتائج NDK_DEBUG (سطر الأوامر) وandroid:debuggable (البيان).

إعدادات البيانNDK_DEBUG=0 NDK_DEBUG=1لم يتم تحديد NDK_DEBUG
android:debuggable="true" تصحيح الأخطاء والرموز والمحسّن*1 تصحيح الأخطاء والرموز: غير محسَّنة*2 (مثل NDK_DEBUG=1)
android:debuggable="false"الإصدار والرموز والمحسّنة الإصدار، والرموز، وغير محسَّنةالإصدار، بدون رموز، محسَّن*3
*1: يفيد ذلك في تحديد المواصفات.
*2: الإعداد التلقائي لتشغيل ndk-gdb.
*3: الوضع التلقائي.

ملاحظة: إنّ `NDK_DEBUG=0` تعادل `APP_optIM=Release`، وتُجمع مع `-O2`. وتعادل `NDK_DEBUG=1` أنها تعادل `APP_optIM=debug` في `Application.mk`، وتُجمع مع `-O0`. لمزيد من المعلومات حول `APP_optIMm`، راجع .

بناء الجملة في سطر الأوامر هو، على سبيل المثال:

$ ndk-build NDK_DEBUG=1

الشروط

تحتاج إلى GNU Make 4 لاستخدام ndk-build أو NDK بشكل عام. ويتضمن NDK نسخته الخاصة من GNU Make وسيستخدمها ما لم تضبط متغير البيئة $GNUMAKE للإشارة إلى تصميم غير ملائم.

قواعد بيانات تجميع JSON

في NDK r18 والإصدارات الأحدث، يمكن لـ ndk-build إنشاء قاعدة بيانات تجميع JSON.

يمكنك استخدام ndk-build compile_commands.json لإنشاء قاعدة البيانات بدون إنشاء رمز برمجي، أو ndk-build GEN_COMPILE_COMMANDS_DB=true إذا أردت إنشاء قاعدة البيانات وإنشائها كأثر جانبي.