ينشئ النص البرمجي ndk-build مشاريع تستخدم الإصدار المستند إلى التصميم من NDK.
. هناك وثائق أكثر تحديدًا
Android.mk و
تم استخدام الإعداد Application.mk
بواسطة ndk-build
الشؤون الداخلية
يتساوى تشغيل النص البرمجي "ndk-build" مع تنفيذ الأمر التالي:
$GNUMAKE -f <ndk>/build/core/build-local.mk <parameters>
$GNUMAKE نقطة إلى 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 |
*2: الإعداد التلقائي لتشغيل
ndk-gdb.*3: الوضع التلقائي.
ملاحظة: `NDK_DEBUG=0` مكافئة `APP_OPTIM=release`، ويتم التجميع مع `-O2`. `NDK_DEBUG=1` تعادل `APP_OPTIM=debug` في `Application.mk`، ويتم التجميع باستخدام `-O0`. لمزيد من المعلومات عن "APP_OPTIM"، يُرجى الاطّلاع على Application.mk.
بناء الجملة في سطر الأوامر هو، على سبيل المثال:
$ 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 إذا
نريد إنشاء قاعدة البيانات وإنشائها كتأثير جانبي.