תחילת העבודה עם NDK

ערכת הפיתוח נייטיב (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 הקיים, צריך לבצע את התהליך הבסיסי הבא:

  1. חדש קובצי מקור מותאמים ומוסיפים אותם לפרויקט Android Studio.
    • אפשר לדלג על השלב הזה אם כבר יש לכם קוד מותאם או אם אתם רוצים לייבא ספרייה מותאמת שנוצרה מראש.
  2. יצירה סקריפט build של CMake כדי להנחות את CMake לספרייה. נדרש גם סקריפט ה-build הזה אם מתבצע ייבוא קישור לספריות מוכנות מראש או ספריות פלטפורמה.
    • אפשר לדלג על השלב הזה אם ספריית הנייטיב הקיימת כבר כוללת סקריפט build מסוג CMakeLists.txt או משתמש ב-ndk-build וכולל Android.mk סקריפט build.
  3. קישור של Gradle אל את הספרייה המקורית, באמצעות נתיב ליצירת תוכן סקריפט. Gradle משתמשת בסקריפט ה-build כדי לייבא את קוד המקור פרויקט Android Studio ואריזתם את ספריית הנייטיב שלכם (קובץ ה-SO) בתוך ה-APK.

    הערה: אם בפרויקט הקיים שלכם נעשה שימוש במודלים של ndkCompile, עליך לפתוח את קובץ build.properties והסר את שורת הקוד הבאה לפני שמגדירים את Gradle לשימוש ב-CMake או ב-ndk-build:

    // Remove this line
    android.useDeprecatedNdk = true
    
  4. כדי ליצור ולהפעיל את האפליקציה, לוחצים על הסמל מפעילים את לאחר מכן להריץ את האפליקציה מהתפריט הראשי. הוספות של Gradle את תהליך ה-CMake או ndk-build כתלות בהידור, בבנייה לארוז את ספריית ה-APK שלכם עם ה-APK.

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