קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
כדי לקמפל ולנפות באגים בקוד מקורי של האפליקציה, צריך את הרכיבים הבאים:
Android Native Development Kit (NDK): ערכת כלים שמאפשרת להשתמש בקוד C ו-C++ עם Android.
CMake: כלי חיצוני לבנייה שפועל לצד Gradle כדי לבנות את הספרייה המקורית. הרכיב הזה לא נחוץ אם אתם מתכננים להשתמש רק ב-ndk-build.
LLDB: כלי לניפוי באגים ש-Android Studio משתמש בו כדי לנפות באגים בקוד מקורי. כברירת מחדל, LLDB מותקן לצד Android Studio.
בדף הזה מוסבר איך להתקין את הרכיבים האלה באופן אוטומטי, או באמצעות Android Studio או הכלי sdkmanager כדי להוריד ולהתקין אותם באופן ידני.
התקנה אוטומטית של NDK ו-CMake
אם רישיונות ה-NDK וה-CMake התקבלו מראש, אפשר להשתמש ב-Android Gradle Plugin בגרסה 4.2.0 ואילך כדי להתקין אותם באופן אוטומטי בפעם הראשונה שיוצרים את הפרויקט.
אם כבר קראתם את תנאי הרישיון ואתם מסכימים להם, אתם יכולים לאשר מראש את הרישיונות בסקריפטים באמצעות הפקודה הבאה:
כשמתקינים את NDK, Android Studio בוחר את הגרסה האחרונה שזמינה של NDK. ברוב הפרויקטים, התקנת גרסת ברירת המחדל הזו של NDK מספיקה.
אם אתם צריכים בפרויקט גרסה ספציפית אחת או יותר של NDK, תוכלו להוריד ולהגדיר גרסאות ספציפיות. כך תוכלו לוודא שתוכלו לשחזר את הבנייה בפרויקטים שכל אחד מהם תלוי בגרסה ספציפית של NDK. Android Studio מתקין את כל הגרסאות של NDK בספרייה android-sdk/ndk/.
כדי להתקין את CMake ואת NDK שמוגדר כברירת מחדל ב-Android Studio:
בפרויקט פתוח, לוחצים על Tools > SDK Manager.
לוחצים על הכרטיסייה SDK Tools (כלי SDK).
מסמנים את תיבות הסימון NDK (Side by side) ו-CMake.
איור 1. חלון SDK Tools שבו מוצגת האפשרות NDK (Side by side)
לוחצים על אישור.
בתיבת דו-שיח מוצג נפח האחסון שהחבילה של NDK תופסת בדיסק.
לוחצים על אישור.
בסיום ההתקנה, לוחצים על סיום.
הפרויקט מסנכרן באופן אוטומטי את קובץ ה-build ומבצע build.
פותרים את השגיאות שמתרחשות.
הגדרת גרסה ספציפית של CMake
SDK Manager כולל את גרסת 3.6.0 המפוצלת של CMake ואת גרסה 3.10.2. פרויקטים שלא מוגדרת בהם גרסה ספציפית של CMake נבנים באמצעות CMake 3.10.2. כדי להגדיר את גרסת CMake, מוסיפים את השורה הבאה לקובץ build.gradle של המודול:
מציינים את גרסת ה-CMake שבה רוצים ש-Gradle ישתמש בקובץ build.gradle של המודול.
מוסיפים את הנתיב להתקנת CMake למשתנה הסביבה PATH או כוללים אותו בקובץ local.properties של הפרויקט, כמו שמוצג. אם Gradle לא מצליח למצוא את הגרסה של CMake שציינתם בקובץ build.gradle, תוצג שגיאת בנייה.
# If you set this property, Gradle no longer uses PATH to find CMake.
cmake.dir = "path-to-cmake"</pre>
אם מערכת ה-build של Ninja עדיין לא מותקנת בתחנת העבודה, צריך להיכנס אל האתר הרשמי של Ninja, להוריד את הגרסה האחרונה של Ninja שזמינה למערכת ההפעלה שלכם ולהתקין אותה.
חשוב להוסיף גם את הנתיב להתקנת Ninja למשתנה הסביבה PATH.
התקנה של גרסה ספציפית של NDK
כדי להתקין גרסה ספציפית של NDK:
בפרויקט פתוח, לוחצים על Tools > SDK Manager.
לוחצים על הכרטיסייה SDK Tools (כלי SDK).
מסמנים את תיבת הסימון הצגת פרטי החבילה.
מסמנים את התיבה NDK (Side by side) ואת התיבות שמתחתיה שמתאימות לגרסאות ה-NDK שרוצים להתקין. ב-Android Studio, כל הגרסאות של NDK מותקנות בספרייה android-sdk/ndk/.
איור 2. חלון SDK Tools עם האפשרויות של NDK (Side by side)
לוחצים על אישור.
בתיבת דו-שיח מוצג כמה מקום תופסות חבילות ה-NDK.
לוחצים על אישור.
בסיום ההתקנה, לוחצים על סיום.
הפרויקט מסנכרן באופן אוטומטי את קובץ ה-build ומבצע build.
פותרים את השגיאות שמתרחשות.
מגדירים כל מודול עם גרסת ה-NDK שרוצים להשתמש בה. כשמשתמשים ב-Android Studio מגרסה 3.6 ואילך, אם לא מציינים את הגרסה, הפלאגין Android Gradle בוחר גרסה שידוע שהיא תואמת.
הגדרת גרסאות ספציפיות של NDK בפרויקט
יכול להיות שתצטרכו להגדיר את גרסת ה-NDK בפרויקט אם אחד מהתנאים הבאים מתקיים:
הפרויקט שלכם הוא פרויקט שעבר בירושה, ואתם צריכים להשתמש בגרסאות ספציפיות של NDK ושל Android Gradle plugin (AGP). מידע נוסף זמין במאמר בנושא הגדרת NDK לפלאגין Android Gradle.
יש לכם כמה גרסאות של NDK מותקנות ואתם רוצים להשתמש בגרסה ספציפית. במקרה כזה, צריך לציין את הגרסה באמצעות המאפיין android.ndkVersion בקובץ build.gradle של המודול, כמו בדוגמת הקוד הבאה.
לפני ההשקה, כל גרסה של AGP נבדקת ביסודיות עם הגרסה היציבה האחרונה של NDK שהייתה זמינה באותו זמן. גרסת ה-NDK הזו משמשת לבניית הפרויקטים אם לא מציינים גרסת NDK בקובץ build.gradle. גרסת ה-NDK שמוגדרת כברירת מחדל בגרסאות שונות של AGP מתועדת בנתוני הגרסה של AGP ובנתוני הגרסה הקודמים של AGP.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-08-21 (שעון UTC).
[null,null,["עדכון אחרון: 2025-08-21 (שעון UTC)."],[],[],null,["# Install and configure the NDK and CMake\n\nTo compile and debug native code for your app, you need the following components:\n\n- The Android Native Development Kit (NDK): a set of tools that allows you to use C and C++ code with Android.\n- CMake: an external build tool that works alongside Gradle to build your native library. You do not need this component if you only plan to use ndk-build.\n- LLDB: the debugger Android Studio uses to debug native code. By default, LLDB will be installed alongside Android Studio.\n\nThis page describes how to install these components automatically, or by using\nAndroid Studio or the `sdkmanager` tool to download and install them manually.\n\nInstall NDK and CMake automatically\n-----------------------------------\n\nAndroid Gradle Plugin 4.2.0+ can automatically install the required NDK and CMake\nthe first time you build your project if their licenses have been accepted in advance.\nIf you've already read and agree to the license terms, then you can pre-accept\nthe licenses in scripts with the following command: \n\n yes | ${sdk}/cmdline-tools/latest/bin/sdkmanager --licenses\n\nInstall the NDK and CMake\n-------------------------\n\nWhen you install the NDK, Android Studio selects the latest available NDK. For\nmost projects, installing this default version of the NDK is sufficient.\nIf your project needs one or more specific versions of the NDK, though, you can\n[download and configure specific versions](#specific-version). Doing so helps\nyou ensure reproducible builds across projects that each depend on a specific\nversion of the NDK. Android Studio installs all versions of the NDK in the\n\u003cvar translate=\"no\"\u003eandroid-sdk\u003c/var\u003e`/ndk/` directory.\n\nTo install CMake and the default NDK in Android Studio, do the following:\n\n1. With a project open, click **Tools \\\u003e SDK Manager**.\n\n2. Click the **SDK Tools** tab.\n\n3. Select the **NDK (Side by side)** and **CMake** checkboxes.\n\n\n **Figure 1.** The **SDK Tools** window showing the **NDK (Side by side)**\n option\n | **Note:** If you have an NDK installed in the `ndk-bundle` folder, it appears in the list with the label **NDK** . If you are using Android Gradle plugin 3.5.0 or later, you can select this checkbox or clear it. Clearing the checkbox uninstalls the NDK, freeing up disk space, and causes the checkbox to disappear from the list. If you uninstall the legacy NDK, remove the `ndk.dir` value, which is now deprecated, from your projects' `local.properties` files.\n4. Click **OK**.\n\n A dialog box tells you how much space the NDK package consumes on disk.\n5. Click **OK**.\n\n6. When the installation is complete, click **Finish**.\n\n7. Your project automatically syncs the build file and performs a build.\n Resolve any errors that occur.\n\n### Configure a specific version of CMake\n\nThe SDK Manager includes the 3.6.0 forked version of\nCMake and version 3.10.2. Projects that don't set a\nspecific CMake version are built with CMake 3.10.2. To\nset the CMake version, add the following to your module's `build.gradle` file: \n\n### Groovy\n\n```groovy\nandroid {\n ...\n externalNativeBuild {\n cmake {\n ...\n version \"\u003cvar translate=\"no\"\u003ecmake-version\u003c/var\u003e\"\n }\n }\n}\n```\n\n### Kotlin\n\n```kotlin\nandroid {\n ...\n externalNativeBuild {\n cmake {\n ...\n version = \"\u003cvar translate=\"no\"\u003ecmake-version\u003c/var\u003e\"\n }\n }\n}\n```\n\nIf you want to use a CMake version that is not included by the\nSDK Manager, follow these steps:\n\n1. Download and install [CMake](https://cmake.org/download/) from the official CMake website.\n2. Specify the CMake version you want Gradle to use in your module's `build.gradle` file.\n3. Either add the path to the CMake installation to your `PATH` environment\n variable or include it in your project's `local.properties` file, as\n shown. If Gradle is unable to find the version of CMake you specified in\n your `build.gradle` file, you get a build error.\n\n # If you set this property, Gradle no longer uses PATH to find CMake.\n cmake.dir = \"\u003cvar translate=\"no\"\u003epath-to-cmake\u003c/var\u003e\"\u003c/pre\u003e\n\n4. If you don't already have the Ninja build system installed on your\n workstation, go to the [official Ninja website](https://ninja-build.org/),\n and download and install the latest version of Ninja available for your OS.\n Make sure to also add the path to the Ninja installation to your\n `PATH` environment variable.\n\nInstall a specific version of the NDK\n-------------------------------------\n\nTo install a specific version of the NDK, do the following:\n\n1. With a project open, click **Tools \\\u003e SDK Manager**.\n\n2. Click the **SDK Tools** tab.\n\n3. Select the **Show Package Details** checkbox.\n\n4. Select the **NDK (Side by side)** checkbox and the checkboxes below it that\n correspond to the NDK versions you want to install. Android Studio installs\n all versions of the NDK in the \u003cvar translate=\"no\"\u003eandroid-sdk\u003c/var\u003e`/ndk/`\n directory.\n\n | **Note:** Preview releases (for example, canary and beta) of the NDK do not show up in this list unless you [change the update channel](/studio/preview/install-preview#change_your_update_channel) for Android Studio. You can [install an Android Studio preview](/studio/preview/install-preview) side-by-side with the stable version.\n\n\n **Figure 2.** The **SDK Tools** window showing the **NDK (Side by side)**\n options\n | **Note:** If you have an NDK installed in the `ndk-bundle` folder, it appears in the list with the label **NDK** . If you are using Gradle version 3.5 or later, you can select this checkbox or clear it. Clearing it uninstalls the NDK installed, freeing up disk space, and cause the checkbox to disappear from the list. If you uninstall the legacy NDK, remove the `ndk.dir` value, which is now deprecated, from your projects' `local.properties` files.\n5. Click **OK**.\n\n A dialog box tells you how much space the NDK package(s) consumes.\n6. Click **OK**.\n\n7. When the installation is complete, click **Finish**.\n\n8. Your project automatically syncs the build file and performs a build.\n Resolve any errors that occur.\n\n9. [Configure each module](#apply-specific-version) with the version of the NDK\n you want it to use. When using Android Studio 3.6 or higher, if you do not\n specify the version, the Android Gradle plugin chooses a version that it is\n known to be compatible with.\n\nConfigure specific versions of the NDK in your project\n------------------------------------------------------\n\nYou may need to configure the version of the NDK in your project if one of the\nfollowing is true:\n\n- Your project is inherited and you need to use specific versions of the NDK and the Android Gradle plugin (AGP). For more information, see [Configure the NDK for the Android Gradle plugin](/studio/projects/configure-agp-ndk).\n- You have multiple versions of the NDK installed and you want to use a specific\n one. In this case, specify the version using the `android.ndkVersion`\n property in the module's `build.gradle` file, as shown in the following code\n sample.\n\n ### Groovy\n\n ```groovy\n android {\n ndkVersion \"\u003cvar translate=\"no\"\u003emajor\u003c/var\u003e.\u003cvar translate=\"no\"\u003eminor\u003c/var\u003e.\u003cvar translate=\"no\"\u003ebuild\u003c/var\u003e\" // e.g., ndkVersion \"21.3.6528147\"\n }\n ```\n\n ### Kotlin\n\n ```kotlin\n android {\n ndkVersion = \"\u003cvar translate=\"no\"\u003emajor\u003c/var\u003e.\u003cvar translate=\"no\"\u003eminor\u003c/var\u003e.\u003cvar translate=\"no\"\u003ebuild\u003c/var\u003e\" // e.g., ndkVersion \"21.3.6528147\"\n }\n ```\n\n### Default NDK version per AGP version\n\nBefore release, each AGP version is thoroughly tested with the latest stable NDK\nrelease at that time. This NDK version is used to build your projects if you\ndon't specify an NDK version in the `build.gradle` file. The default NDK version\nfor different versions of AGP are documented in the\n[AGP release notes](/build/releases/gradle-plugin#compatibility) and\n[AGP past release notes](/build/releases/past-releases)."]]