ينشئ النص البرمجي 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 نتائج كل مجموعة محتملة من الإعدادات.
إعدادات البيان | NDK_DEBUG=0 | NDK_DEBUG=1 | لم يتم تحديد NDK_DEBUG |
---|---|---|---|
android:debuggable="true" | تصحيح الأخطاء والرموز والمحسّن*1 | تصحيح الأخطاء والرموز: غير محسَّنة*2 | (مثل NDK_DEBUG=1) |
android:debuggable="false" | الإصدار والرموز والمحسّنة | الإصدار، والرموز، وغير محسَّنة | الإصدار، بدون رموز، محسَّن*3 |
*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
إذا أردت إنشاء قاعدة البيانات وإنشائها كأثر جانبي.