ساخت کتابخانه اندروید و انتشار آن – به زبان ساده


شما میتوانید با ساخت کتابخانه اندروید و انتشار آن، یک بار کدنویسی کنید و با بهرهگیری از گیتهاب و JitPack آن را در هر پروژهای مورد استفاده قرار دهید. در این مطلب روش این کار را به زبانی ساده با هم مرور خواهیم کرد.
لزوم وجود کتابخانه اندروید چیست؟
کتابخانه اندروید از لحاظ ساختاری همان اپلیکیشن اندروید به همراه فایلهای منبع، سورس کد، فایل مانیفیست و غیره است. اما به جای کامپایل کردن به یک APK یک کتابخانه اندروید به صورت آرشیو اندروید (ARR) کامپایل میشود که میتوان به عنوان یک وابستگی استفاده کرد به طوری که لازم نیست همان کد را همیشه ایجاد کنیم یا بنویسیم.
اگر مدتی مشغول برنامهنویسی اندروید بوده باشید دست کم یک بار از کتابخانه اندروید (شاید کتابخانه پشتیبانی) استفاده کردهاید. اگر به گیتهاب نگاه کنید، کتابخانههای متن-باز زیادی برای انتخابگر تاریخ، بارگذاری تصویر و غیره میبینید. منظور از کدنویسی همه این ریپازیتوری ها، ایجاد امکان استفاده مجدد از کدها بوده است.
فرض کنید در یک پروژه نیازی پدید میآید که یک کتابخانه اندروید بسازید که به عنوان یک مینی اپلیکیشن به اپلیکیشن اصلی اضافه شود. در این حالت روشهای زیادی برای اجرای کار وجود دارد:
میتوانیم کتابخانه را به صورت یک ماژول طراحی کنیم تا به کاربران وانمود کنیم که یک اپلیکیشن است، اما مشکل این جا است که آنها میتوانند کد را ببینید و آن را تغییر دهند.
میتوانیم فایلهای Jar/AAR ایجاد کنیم، اما دو مشکل وجود دارد، یکی این که کاربران با داشتن مقدار اطلاعات فنی میتوانند کد ما را ببینند و زمانی که فایلهای AAR ایجاد شدند، نمیتوانند شامل همه وابستگیهای کتابخانه باشند.
میتوانیم کتابخانه را ایجاد کنیم، آن را به گیت به صورت یک ریپازیتوری اضافه کنیم و پشتیبانی کتابخانه JitPack را نیز اضافه کنیم.
ساخت کتابخانه اندروید
شما باید یک پروژه جدید ایجاد کنید و از آنجا که با این فرایند آشنا هستید قصد نداریم آن را توضیح دهیم. پس از راهاندازی موفق پروژه به منوی زیر بروید:
File > New > New Module > Android Library
با زدن دکمه Next جزئیات مورد نیاز را پر کرده و سپس روی finish کلیک کنید.
پس از این که اندروید استودیو پردازش را تکمیل کرد میتوانید کتابخانه اندروید را در پنل پروژه سمت چپ ببینید که هنوز به پایان نرسیده است. اینک ساختار پروژه را با زدن دکمههای Ctrl+Alt+Shift+S باز کنید.
سپس روی گزینه dependencies در سمت چپ کلیک کرده و select app را انتخاب کنید. در ادامه دکمه + را در وابستگیهای اعلان شده بزنید و آنها را بررسی کنید.
اکنون روی گزینه Module Dependency در پنجره فوقانی کلیک کنید و سپس یک پنجره جدید به صورت زیر باز کنید. سپس کتابخانه خود را انتخاب کرده و روی OK کلیک کنید.
پس از آن که اندروید استودیو پردازش را تکمیل کرد، میتوانید همه فایلهای منبع و کارکردها را به دایرکتوریهای کتابخانه اضافه کنید.
ایجاد یک ریپازیتوری خالی در گیتهاب
اکنون پس از این که همه کارکردهای مورد نیاز را در کتابخانه پیادهسازی کردید، نوبت آن رسیده است که فضایی برای کتابخانهتان در گیتهاب ایجاد کنید. به این منظور ابتدا باید یک ریپازیتوری ایجاد کنید. این کار را به صورت گام به گام انجام میدهیم:
وارد حساب گیتهاب (+) خود شوید و یا در صورتی که حسابی ندارید آن را ایجاد کنید.
روی دکمه New در پنل سمت چپ کلیک کنید تا یک ریپازیتوری جدید ایجاد شود. اگر دکمه new را نمیبینید، روی آیکون گیتهاب در بخش فوقانی کلیک کنید تا به صفحه اصلی بروید و در آنجا میتوانید دکمه new را برای ایجاد ریپازیتوری جدید ببینید.
سپس جزییات مورد نیاز را در فرم ریپازیتوری وارد کنید.
اگر میخواهید ریپازیتوری خصوصی باشد، باید مبلغی پرداخت کنید.
آپلود کد به ریپازیتوری گیتهاب
پس از ایجاد کردن ریپازیتوری، اینک باید از طریق دستورالعملهایی که پس از ایجاد ریپازیتوری در گیتهاب دیدید، کد را در ریپازیتوری آپلود کنید.
در این مورد ما مشغول ایجاد یک ریپازیتوری جدید هستیم و باید از مجموع دستورالعملهای نخست پیروی کنیم. ترجیح ما این است که آن دستورها را در پنل ترمینال اندروید استودیو وارد کنیم که تصویر آن را در ادامه میبینید:
در زمان اجرای این دستورها باید اطلاعات احراز هویت گیتهاب را وارد کنید. دستور مورد نیاز که مسئولیت لینک کردن کد لوکال شما به ریپازیتوری خالی ایجاد شده را بر عهده دارد، به صورت زیر است:
git remote add origin https://github.com/SG-K/FirstLibrary.git
اگر همه چیز مطابق انتظار پیش برود، کد روی گیت آپلود میشود و اگر صفحه ریپازیتوری را رفرش کنید آن را خواهید دید.
اکنون میتوانید هر تغییری که میخواهید انجام دهید. دستورهای زیر برای آپدیت ریپازیتوری گیت استفاده میشوند.
git add. git commit -m “message” git pull git push
ایجاد یک Release در گیتهاب
اکنون که کتابخانه شما در گیتهاب آماده شده است، گام بعدی ایجاد یک Release است.
Release در واقع روشی برای اعلام این نکته به کاربر است که کتابخانه تست شده و برای استفاده پایدار است. همچنین میتوان از آن برای اعلان اضافه شدن یک کارکرد جدید به پروژه استفاده کرد. هر Release یک شماره نسخه دارد که کاربر از طریق آن میتواند کتابخانه را در اپلیکیشن خود آپدیت کند.
برای ایجاد یک Release روی زبانه Releases در صفحه اصلی ریپازیتوری کلیک کنید.
در ادامه پس از پر کردن جزییات release مانند شماره نسخه، توضیحی توصیفی در مورد release و این که release بر مبنای کدام شاخه ساخته شده است، روی Draft new release کلیک کنید. پس از پایان یافتن این کار، میتوانید release را انتشار دهید یا آن را به زمانی در آینده موکول کنید.
باز کردن ریپازیتوری گیت در JitPack
JitPack یک ریپازیتوری پکیج برای JVM و پروژههای اندروید است که شامل aar و jar-های وابسته کتابخانهها است. برای لینک کردن ریپازیتوری گیتهاب به پروژههای، ابتدا باید URL ریپازیتوری را کپی کنید.
سپس JitPack را باز کنید و URL را در آن قرار داده و روی دکمه Look Up بزنید. در این حالت JitPack مسئولیت همه کارهایی مورد نیاز برای اتصال دادن ریپازیتوری را بر عهده میگیرد.
تولید کتابخانه JitPack
اکنون ریپازیتوری خود را در JitPack داریم، چنان که پیشتر گفتیم پس از کلیک کردن روی دکمه Look Up لیستی از release-های ریپازیتوری نمایش مییابد که در آن میتوانید با زدن دکمه get it در کنار هر release کتابخانه JitPack را ایجاد کنید.
JitPack پس از کلیک کردن روی دکمه Get It، درخواست را پردازش میکند و لینک پیادهسازی Gradle را چنان که در تصویر زیر میبینید پردازش میکند.
پس از این که روی دکمه Get It کلیک کردید، JitPack شروع به پردازش ریپازیتوری میکند و پس از اتمام این کار، اگر build موفق باشد، یک فایل سبز رنگ مانند تصویر فوق نمایش مییابد و اگر چنین نباشد رنگ آن قرمز خواهد بود. اگر build ناموفق باشد، کتابخانه شما نمیتواند در پروژههای کاربران ایمپورت شود.
ایمپورت کتابخانه JitPack در یک پروژه جدید
پس از همه مواردی که در بخشهای قبل دیدیم، این بخش سادهترین جزء کار است و کافی است پشتیبانی JitPack را در فایل Gradle سطح پروژه با کد زیر اضافه کنید:
سپس کد زیر را در فایل build.gradle ماژول اضافه کنید:
بهروزرسانی ریپازیتوری گیتهاب و کتابخانه JitPack
اکنون که نسخه را release کردید، پس از چند روز یا ماه ممکن است لازم باشد یک بهروزرسانی برای آن پروژه ارائه دهید. این وضعیت هیچ تفاوتی با release ابتدایی ندارد. زمانی که میخواهید یک بهروزرسانی بدهید، کافی است یک release بسازید و از آن در JitPack برای ایجاد کتابخانه استفاده کنید، بنابراین هنگامی که کاربران شماره نسخه را به آخرین مورد بهروزرسانی کردند، کارکرد جدید کتابخانه در پروژه آنها ایمپورت میشود.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی اندروید
- مجموعه آموزشهای برنامهنویسی
- گنجینه برنامه نویسی اندروید (Android)
- پروفایل کردن اپلیکیشن ها با اندروید استودیو — به زبان ساده
- ساخت اپلیکیشن لانچر اندروید — به زبان ساده
==