התקנה והגדרה של ה-NDK ו-CMake

כדי להדר ולנפות באגים בקוד המקורי של האפליקציה, נדרשים הרכיבים הבאים:

  • ערכת הפיתוח המקורית של Android (NDK): קבוצת כלים שמאפשרת השתמשו בקוד C ו-C++ ב-Android.
  • CMake: כלי build חיצוני שפועל לצד Gradle כדי לפתח את גרסת ה-Native לספרייה. אין צורך ברכיב הזה אם אתם מתכננים להשתמש רק ב-ndk-build.
  • LLDB: הכלי לניפוי באגים ב-Android Studio שמשמש לניפוי באגים בקוד מקורי. כברירת מחדל, LLDB יותקן לצד Android Studio.

דף זה מתאר איך להתקין את הרכיבים האלה באופן אוטומטי, או באמצעות את Android Studio או את הכלי sdkmanager כדי להוריד ולהתקין אותם באופן ידני.

התקנה אוטומטית של NDK ו-CMake

הפלאגין Android Gradle מגרסה 4.2.0 ואילך יכול להתקין באופן אוטומטי את ה-NDK ו-CMake הנדרשים בפעם הראשונה שאתם יוצרים את הפרויקט שלכם, אם הרישיונות שלהם אושרו מראש. אם כבר קראת את תנאי הרישיון והסכמת להם, יש לך אפשרות לאשר מראש את התנאים את הרישיונות בסקריפטים באמצעות הפקודה הבאה:

   yes | ${sdk}/cmdline-tools/latest/bin/sdkmanager --licenses

התקנת NDK ו-CMake

כשמתקינים את NDK, מערכת Android Studio בוחרת את ה-NDK הכי עדכני. עבור ברוב הפרויקטים תספיק התקנת גרסת ברירת המחדל הזו של ה-NDK. אם בפרויקט שלכם צריכה להיות גרסה ספציפית אחת או יותר של ה-NDK, תוכלו להוריד ולהגדיר גרסאות ספציפיות. זה עוזר להבטיח פיתוחים שניתנים לשחזור מפרויקטים שונים, שכל אחד מהם תלוי של ה-NDK. מערכת Android Studio מתקין את כל הגרסאות של ה-NDK ספריית android-sdk/ndk/.

כדי להתקין את CMake ואת ה-NDK שמוגדר כברירת מחדל ב-Android Studio:

  1. כאשר פרויקט פתוח, לוחצים על כלים > SDK Manager.

  2. לוחצים על הכרטיסייה SDK Tools.

  3. מסמנים את התיבות NDK (זה לצד זה) ו-CMake.

    תמונה של SDK Manager איור 1. החלון של SDK Tools מציג את האפשרות NDK (זה לצד זה) אפשרות

  4. לוחצים על אישור.

    תיבת דו-שיח מציינת כמה מקום חבילת ה-NDK צורכת בדיסק.

  5. לוחצים על אישור.

  6. בסיום ההתקנה, לוחצים על Finish (סיום).

  7. הפרויקט מסנכרן באופן אוטומטי את קובץ ה-build ומבצע build. פותרים את כל השגיאות הקיימות.

הגדרת גרסה ספציפית של CMake

SDK Manager כולל את הגרסה מפוצלת 3.6.0 של CMake וגרסה 3.10.2. פרויקטים שלא מוגדר בהם גרסאות CMake ספציפיות מיוצרות באמצעות CMake 3.10.2. שפת תרגום מגדירים את גרסת CMake, מוסיפים את הקוד הבא לקובץ build.gradle של המודול:

מגניב

android {
    ...
    externalNativeBuild {
        cmake {
            ...
            version "cmake-version"
        }
    }
}

Kotlin

android {
    ...
    externalNativeBuild {
        cmake {
            ...
            version = "cmake-version"
        }
    }
}

אם רוצים להשתמש בגרסת CMake שלא נכללת ב ב-SDK Manager, מבצעים את השלבים הבאים:

  1. מורידים ומתקינים את CMake מהאתר הרשמי של CMake.
  2. מציינים את גרסת CMake שבה רוצים להשתמש ב-Gradle קובץ build.gradle.
  3. צריך להוסיף את הנתיב להתקנת CMake לסביבת PATH או לכלול אותו בקובץ local.properties של הפרויקט, כמו מוצגת. אם Gradle לא יכולה למצוא את גרסת CMake שציינת מקבלים שגיאת build בקובץ build.gradle.

    # If you set this property, Gradle no longer uses PATH to find CMake.
    cmake.dir = "path-to-cmake"</pre>
    
  4. אם עדיין לא התקנתם את מערכת ה-build של Ninja עברו אל האתר הרשמי של הנינג'ה, מורידים ומתקינים את הגרסה האחרונה של ה-Ninning שזמינה למערכת ההפעלה שלכם. חשוב גם להוסיף את הנתיב להתקנת הנינג'ה משתנה סביבה PATH.

התקנת גרסה ספציפית של ה-NDK

כדי להתקין גרסה ספציפית של ה-NDK:

  1. כאשר פרויקט פתוח, לוחצים על כלים > SDK Manager.

  2. לוחצים על הכרטיסייה SDK Tools.

  3. מסמנים את התיבה Show Package Details (הצגת פרטי החבילה).

  4. מסמנים את התיבה NDK (זה לצד זה) ואת תיבות הסימון שמתחתיה. שתואמים לגרסאות ה-NDK שרוצים להתקין. התקנות של Android Studio את כל הגרסאות של ה-NDK בandroid-sdk/ndk/

    תמונה של החלון &#39;כלים ל-SDK&#39; איור 2. החלון של SDK Tools מציג את האפשרות NDK (זה לצד זה) אפשרויות

  5. לוחצים על אישור.

    תיבת דו-שיח מציינת כמה מקום חבילות ה-NDK צורכות.

  6. לוחצים על אישור.

  7. בסיום ההתקנה, לוחצים על Finish (סיום).

  8. הפרויקט מסנכרן באופן אוטומטי את קובץ ה-build ומבצע build. פותרים את כל השגיאות הקיימות.

  9. יש להגדיר כל מודול בגרסת ה-NDK שרוצים שהוא ישתמש בו. כשמשתמשים ב-Android Studio 3.6 ואילך, אם אין לכם גרסה כזו לציין את הגרסה, הפלאגין של Android Gradle בוחר גרסה שידוע שהוא תואם להם.

הגדרת גרסאות ספציפיות של ה-NDK בפרויקט

יכול להיות שתצטרכו להגדיר את גרסת ה-NDK בפרויקט אם אם התנאים הבאים נכונים:

  • הפרויקט שלך עובר בירושה וצריך להשתמש בגרסאות ספציפיות של ה-NDK והפלאגין Android Gradle (AGP). מידע נוסף זמין במאמר הבא: מגדירים את NDK לפלאגין של Android Gradle.
  • מותקנות לך כמה גרסאות של ה-NDK וברצונך להשתמש אחת. במקרה כזה, צריך לציין את הגרסה באמצעות android.ndkVersion בקובץ build.gradle של המודול, כמו שמוצג בקוד הבא לדוגמה.

    מגניב

    android {
        ndkVersion "major.minor.build" // e.g.,  ndkVersion "21.3.6528147"
    }
    

    Kotlin

    android {
        ndkVersion = "major.minor.build" // e.g.,  ndkVersion "21.3.6528147"
    }
    

גרסת NDK שמוגדרת כברירת מחדל לכל גרסת AGP

לפני ההשקה, כל גרסת AGP נבדקת באופן יסודי באמצעות ה-NDK היציב האחרון באותו זמן. גרסת NDK הזו משמשת לבניית הפרויקטים שלך אם לא מציינים גרסת NDK בקובץ build.gradle. גרסת ברירת המחדל של NDK בשביל גרסאות שונות של AGP מתועדות נתוני הגרסה של AGP וגם נתוני גרסה קודמים של AGP.