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

ينشئ النص البرمجي 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
*1: مفيد في تحديد المواصفات الشخصية.
*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 إذا نريد إنشاء قاعدة البيانات وإنشائها كتأثير جانبي.