כדי להדר ולנפות באגים בקוד המקורי של האפליקציה, נדרשים הרכיבים הבאים:
- ערכת הפיתוח המקורית של 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:
כאשר פרויקט פתוח, לוחצים על כלים > SDK Manager.
לוחצים על הכרטיסייה SDK Tools.
מסמנים את התיבות NDK (זה לצד זה) ו-CMake.
איור 1. החלון של SDK Tools מציג את האפשרות NDK (זה לצד זה) אפשרות
לוחצים על אישור.
תיבת דו-שיח מציינת כמה מקום חבילת ה-NDK צורכת בדיסק.
לוחצים על אישור.
בסיום ההתקנה, לוחצים על Finish (סיום).
הפרויקט מסנכרן באופן אוטומטי את קובץ ה-build ומבצע build. פותרים את כל השגיאות הקיימות.
הגדרת גרסה ספציפית של CMake
SDK Manager כולל את הגרסה מפוצלת 3.6.0 של
CMake וגרסה 3.10.2. פרויקטים שלא מוגדר בהם
גרסאות CMake ספציפיות מיוצרות באמצעות CMake 3.10.2. שפת תרגום
מגדירים את גרסת CMake, מוסיפים את הקוד הבא לקובץ build.gradle
של המודול:
Groovy
android { ... externalNativeBuild { cmake { ... version "cmake-version" } } }
Kotlin
android { ... externalNativeBuild { cmake { ... version = "cmake-version" } } }
אם רוצים להשתמש בגרסת CMake שלא נכללת ב ב-SDK Manager, מבצעים את השלבים הבאים:
- מורידים ומתקינים את CMake מהאתר הרשמי של CMake.
- מציינים את גרסת CMake שבה רוצים להשתמש ב-Gradle
קובץ
build.gradle
. צריך להוסיף את הנתיב להתקנת 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>
אם עדיין לא התקנתם את מערכת ה-build של Ninja עברו אל האתר הרשמי של הנינג'ה, מורידים ומתקינים את הגרסה האחרונה של ה-Ninning שזמינה למערכת ההפעלה שלכם. חשוב גם להוסיף את הנתיב להתקנת הנינג'ה משתנה סביבה
PATH
.
התקנת גרסה ספציפית של ה-NDK
כדי להתקין גרסה ספציפית של ה-NDK:
כאשר פרויקט פתוח, לוחצים על כלים > SDK Manager.
לוחצים על הכרטיסייה SDK Tools.
מסמנים את התיבה Show Package Details (הצגת פרטי החבילה).
מסמנים את התיבה NDK (זה לצד זה) ואת תיבות הסימון שמתחתיה. שתואמים לגרסאות ה-NDK שרוצים להתקין. התקנות של Android Studio את כל הגרסאות של ה-NDK ב
android-sdk/ndk/
איור 2. החלון של SDK Tools מציג את האפשרות NDK (זה לצד זה) אפשרויות
לוחצים על אישור.
תיבת דו-שיח מציינת כמה מקום חבילות ה-NDK צורכות.
לוחצים על אישור.
בסיום ההתקנה, לוחצים על Finish (סיום).
הפרויקט מסנכרן באופן אוטומטי את קובץ ה-build ומבצע build. פותרים את כל השגיאות הקיימות.
יש להגדיר כל מודול בגרסת ה-NDK שרוצים שהוא ישתמש בו. כשמשתמשים ב-Android Studio 3.6 ואילך, אם אין לכם גרסה כזו לציין את הגרסה, הפלאגין של Android Gradle בוחר גרסה שידוע שהוא תואם להם.
הגדרת גרסאות ספציפיות של ה-NDK בפרויקט
יכול להיות שתצטרכו להגדיר את גרסת ה-NDK בפרויקט אם אם התנאים הבאים נכונים:
- הפרויקט שלך עובר בירושה וצריך להשתמש בגרסאות ספציפיות של ה-NDK והפלאגין Android Gradle (AGP). מידע נוסף זמין במאמר הבא: מגדירים את NDK לפלאגין של Android Gradle.
מותקנות לך כמה גרסאות של ה-NDK וברצונך להשתמש אחת. במקרה כזה, צריך לציין את הגרסה באמצעות
android.ndkVersion
בקובץbuild.gradle
של המודול, כמו שמוצג בקוד הבא לדוגמה.Groovy
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.