ערכת הפיתוח נייטיב (NDK) היא קבוצת כלים שמאפשרים להשתמש ב-C ואת קוד C++ ב-Android, ומספק ספריות פלטפורמה שבהן אפשר לנהל פעילויות מקוריות וגישה לרכיבי מכשירים פיזיים, כמו חיישנים קלט מגע. NDK לא מתאים לרוב Android מתחילים מתכנתים שצריכים להשתמש רק בממשקי API של קוד Java וב-framework כדי לפתח של האפליקציות שלהם. עם זאת, ה-NDK יכול להיות שימושי במקרים שבהם צריך לעשות אחד או יותר מהאפשרויות הבאות:
- דחיפת ביצועים נוספים מהמכשיר כדי להשיג זמן אחזור נמוך או לפעול יישומים עתירי חישוב, כגון משחקים או סימולציות בפיזיקה.
- שימוש חוזר שלכם או של מפתחים אחרים ספריות C או C++.
ב-Android Studio 2.2 ואילך ניתן להשתמש ב-NDK כדי להדר את קוד C ו-C++ בספריית נייטיב ולארוז אותו ל-APK באמצעות Gradle, מערכת ה-build המשולבת של סביבת הפיתוח המשולבת (IDE). קוד Java שלך לאחר מכן לקרוא לפונקציות בספריית המקור באמצעות מסגרת Java Native Interface (JNI). למידה מידע נוסף על Gradle ועל מערכת ה-build של Android, זמין במאמר הגדרת ה-Build.
הכלי שמשמש כברירת מחדל ליצירת ספריות נייטיב ב-Android Studio הוא CMake. גם Android Studio שתומך ב-ndk-build בגלל מספר הפרויקטים הקיימים שמשתמשים בערכת הכלים ל-build. אבל אם ביצירת ספרייה מותאמת חדשה, עליכם להשתמש ב-CMake.
המדריך הזה מספק את המידע הנדרש כדי להתחיל בעבודה עם NDK ב-Android Studio. אם לא מותקנת במכשיר הגרסה האחרונה של Android Studio, צריך להוריד ולהתקין אותו עכשיו.
לתשומת לב המשתמשים הניסיוניים ב-Gradle: כדאי לשקול את מעבר לגרסת הפלאגין בגרסה 2.2.0 ואילך ושימוש ב-CMake או ב-ndk-build. כדי ליצור את ספריות המקור, אם אחד מהמצבים הבאים רלוונטי לגביכם: פרויקט מקורי כבר משתמש ב-CMake או ב-ndk-build, אתם מעדיפים להשתמש במערך גרסה של מערכת ה-build של Gradle, או אם אתם רוצים תמיכה בכלים להוספה, כמו CCache. אחרת, אפשר להמשיך להשתמש את הגרסה הניסיונית של Gradle והפלאגין ל-Android.
הורדת ה-NDK והכלים
כדי להדר ולנפות באגים בקוד המקורי של האפליקציה, צריך את הדברים הבאים רכיבים:
- Android Native Development Kit (NDK): קבוצת כלים כדי להשתמש בקוד C וקוד C++ ב-Android.
- CMake: כלי build חיצוני שפועל לצד Gradle כדי ליצור של ה-AI. אין צורך ברכיב הזה אם בכוונתך להשתמש רק ndk-build.
- LLDB: הכלי לניפוי באגים ב-Android Studio שמשמש לניפוי באגים בקוד מקורי.
למידע על התקנת הרכיבים האלה, ראו התקנה והגדרה של NDK ו-CMake.
יצירה או ייבוא של פרויקט Native
אחרי שמגדירים את Android Studio, אפשר פשוט ליצור פרויקט חדש עם תמיכה ב-C/C++. עם זאת, אם רוצים להוסיף או לייבא קוד נייטיב בפרויקט Android Studio הקיים, צריך לבצע את התהליך הבסיסי הבא:
-
חדש
קובצי מקור מותאמים ומוסיפים אותם לפרויקט Android Studio.
- אפשר לדלג על השלב הזה אם כבר יש לכם קוד מותאם או אם אתם רוצים לייבא ספרייה מותאמת שנוצרה מראש.
-
יצירה
סקריפט build של CMake כדי להנחות את CMake
לספרייה. נדרש גם סקריפט ה-build הזה אם מתבצע ייבוא
קישור לספריות מוכנות מראש או ספריות פלטפורמה.
- אפשר לדלג על השלב הזה אם ספריית הנייטיב הקיימת כבר כוללת
סקריפט build מסוג
CMakeLists.txt
או משתמש ב-ndk-build וכוללAndroid.mk
סקריפט build.
- אפשר לדלג על השלב הזה אם ספריית הנייטיב הקיימת כבר כוללת
סקריפט build מסוג
-
קישור של Gradle אל
את הספרייה המקורית,
באמצעות נתיב ליצירת תוכן
סקריפט. Gradle משתמשת בסקריפט ה-build כדי לייבא את קוד המקור
פרויקט Android Studio ואריזתם את ספריית הנייטיב שלכם (קובץ ה-SO) בתוך
ה-APK.
הערה: אם בפרויקט הקיים שלכם נעשה שימוש במודלים של
ndkCompile
, עליך לפתוח את קובץbuild.properties
והסר את שורת הקוד הבאה לפני שמגדירים את Gradle לשימוש ב-CMake או ב-ndk-build:// Remove this line android.useDeprecatedNdk = true
- כדי ליצור ולהפעיל את האפליקציה, לוחצים על הסמל מפעילים את . הוספות של Gradle את תהליך ה-CMake או ndk-build כתלות בהידור, בבנייה לארוז את ספריית ה-APK שלכם עם ה-APK.
אחרי שהאפליקציה תפעל במכשיר פיזי או באמולטור, אפשר להשתמש Android Studio לניפוי באגים באפליקציה. לחלופין, כדי לקבל מידע נוסף על ה-NDK ועל הרכיבים שלו, אפשר לעיין בדף מושגים.