کیت توسعهٔ نرمافزار یا SDK مجموعه توابع و کتابخانههای کامپایل شدهای که تولیدکنندگان نرمافزار برای آسان کردن برنامهنویسی برای محیط یا سکوی خاصی فراهم میکنند و در اختیار برنامهنویسان کاربردی قرار میدهند.[۱][۲]
در واقع SDK مجموعه ای از زبان برنامهنویسی، مجموعه ای از واسطهای برنامهنویسی کاربردی، یک محیط توسعه یکپارچه پیشنهادی، احتمالاً یک برابرساز و مجموعهٔ مستندات و فایلهای مثال و کمک میباشند که برای تولید برنامه و نرمافزار برای یک سکوی خاص مورد نیاز هستند.
برای مثال یکی از پرکاربردترین کیتهای توسعهٔ نرمافزار، اندروید اسدیکی است که شامل موارد زیر است:
و همچینن مجموعه ای عظیم از مستندات که تمام کلاسها و اینترفیسها مورد استفاده در برنامهنویسی اندروید را کاملاً توضیح داده و در نهایت یک کامپایلر ART که برنامه نوشته شده به زبان جاوا را به کدهای مقصد که قابل فهم برای سیستم عامل اندروید باشند تبدیل میکند. در آخر یک برنامه مدیر بسته که از فایلهای کامپایل شده فایلی قابل نصب (با پسوند APK) تولید میکند.