Native Development Kit (NDK) مجموعه ای از ابزارها است که به شما امکان می دهد از کدهای C و C++ با اندروید استفاده کنید و کتابخانه های پلتفرمی را فراهم می کند که می توانید از آنها برای مدیریت فعالیت های بومی و دسترسی به اجزای فیزیکی دستگاه مانند حسگرها و ورودی لمسی استفاده کنید. ممکن است NDK برای اکثر برنامه نویسان مبتدی اندروید که نیاز به استفاده از کد جاوا و APIهای فریمورک برای توسعه برنامه های خود دارند، مناسب نباشد. با این حال، NDK می تواند برای مواردی مفید باشد که در آن شما باید یک یا چند مورد از موارد زیر را انجام دهید:
- برای دستیابی به تأخیر کم یا اجرای برنامههای فشرده محاسباتی، مانند بازیها یا شبیهسازیهای فیزیک، عملکرد اضافی دستگاه را کاهش دهید.
- استفاده مجدد از کتابخانه های C یا C++ خود یا سایر توسعه دهندگان.
با استفاده از Android Studio 2.2 و بالاتر ، می توانید از NDK برای کامپایل کدهای C و C++ در یک کتابخانه بومی و بسته بندی آن در APK خود با استفاده از Gradle، سیستم ساخت یکپارچه IDE استفاده کنید. کد جاوا شما سپس می تواند توابع موجود در کتابخانه بومی شما را از طریق چارچوب Java Native Interface (JNI) فراخوانی کند. برای اطلاعات بیشتر در مورد Gradle و سیستم ساخت اندروید، Configure Your Build را بخوانید.
ابزار ساخت پیش فرض اندروید استودیو برای کامپایل کتابخانه های بومی CMake است. اندروید استودیو همچنین به دلیل تعداد زیاد پروژه های موجود که از جعبه ابزار ساخت استفاده می کنند، از ndk-build پشتیبانی می کند. با این حال، اگر در حال ایجاد یک کتابخانه بومی جدید هستید، باید از CMake استفاده کنید.
این راهنما اطلاعاتی را که برای راهاندازی و اجرای NDK در Android Studio نیاز دارید در اختیار شما قرار میدهد. اگر آخرین نسخه اندروید استودیو را ندارید، هم اکنون آن را دانلود و نصب کنید .
توجه کاربران آزمایشی Gradle: مهاجرت به افزونه نسخه 2.2.0 یا بالاتر و استفاده از CMake یا ndk-build را برای ساخت کتابخانه های بومی خود در صورت اعمال هر یک از موارد زیر در نظر بگیرید: پروژه بومی شما قبلاً از CMake یا ndk-build استفاده می کند. شما ترجیح می دهید از یک نسخه پایدار از سیستم ساخت Gradle استفاده کنید. یا می خواهید از ابزارهای جانبی مانند CCache پشتیبانی کنید. در غیر این صورت، می توانید به استفاده از نسخه آزمایشی Gradle و افزونه اندروید ادامه دهید.
NDK و ابزارها را دانلود کنید
برای کامپایل و اشکال زدایی کد بومی برای برنامه خود، به اجزای زیر نیاز دارید:
- Android Native Development Kit (NDK): مجموعه ای از ابزارهایی که به شما امکان می دهد از کدهای C و C++ با اندروید استفاده کنید.
- CMake: یک ابزار ساخت خارجی که در کنار Gradle برای ساخت کتابخانه بومی شما کار می کند. اگر فقط قصد استفاده از ndk-build را دارید، به این مؤلفه نیازی ندارید.
- LLDB : دیباگر Android Studio برای اشکال زدایی کدهای بومی استفاده می کند.
برای اطلاعات در مورد نصب این مؤلفه ها، به نصب و پیکربندی NDK و CMake مراجعه کنید.
یک پروژه بومی ایجاد یا وارد کنید
پس از راهاندازی Android Studio، میتوانید به سادگی یک پروژه جدید با پشتیبانی C/C++ ایجاد کنید . با این حال، اگر میخواهید کد بومی را به یک پروژه Android Studio موجود اضافه یا وارد کنید، باید این روند اساسی را دنبال کنید:
- فایل های منبع بومی جدید ایجاد کنید و آنها را به پروژه Android Studio خود اضافه کنید.
- اگر از قبل کد بومی دارید یا می خواهید یک کتابخانه بومی از پیش ساخته شده وارد کنید، می توانید از این مرحله بگذرید.
- یک اسکریپت ساخت CMake ایجاد کنید تا به CMake بگویید چگونه منابع بومی خود را در یک کتابخانه بسازد. همچنین اگر در حال وارد کردن و پیوند دادن با کتابخانه های از پیش ساخته شده یا پلت فرم هستید، به این اسکریپت ساخت نیاز دارید.
- اگر کتابخانه بومی موجود شما از قبل دارای اسکریپت ساخت
CMakeLists.txt
است یا از ndk-build استفاده می کند و شامل یک اسکریپت ساختAndroid.mk
می باشد، می توانید از این مرحله بگذرید.
- اگر کتابخانه بومی موجود شما از قبل دارای اسکریپت ساخت
- با ارائه مسیری به فایل اسکریپت CMake یا ndk-build خود ، Gradle را به کتابخانه بومی خود پیوند دهید . Gradle از اسکریپت ساخت برای وارد کردن کد منبع به پروژه Android Studio شما و بسته بندی کتابخانه بومی شما (فایل SO) در APK استفاده می کند.
توجه: اگر پروژه موجود شما از ابزار منسوخ
ndkCompile
استفاده می کند، باید فایلbuild.properties
خود را باز کنید و قبل از پیکربندی Gradle برای استفاده از CMake یا ndk-build خط کد زیر را حذف کنید:// Remove this line android.useDeprecatedNdk = true
- با کلیک روی Run اپلیکیشن خود را بسازید و اجرا کنید . Gradle فرآیند CMake یا ndk-build شما را به عنوان یک وابستگی برای کامپایل، ساخت و بسته بندی کتابخانه بومی شما با APK اضافه می کند.
هنگامی که برنامه شما روی یک دستگاه فیزیکی یا شبیه ساز اجرا می شود، می توانید از Android Studio برای اشکال زدایی برنامه خود استفاده کنید. در غیر این صورت، برای کسب اطلاعات بیشتر در مورد NDK و اجزای آن، صفحه مفاهیم را مطالعه کنید.