با Android CLI برنامه های اندروید را با سرعت فکر بسازید

سلام مردم! بگذارید با یک اعتراف بسیار صادقانه و شخصی شروع کنم :). چهار ماه پیش تحت تأثیر یک اخراج دسته جمعی در شرکتی قرار گرفتم که در آن من به عنوان یک پیمانکار (شغل جانبی من) به عنوان مهندس ارشد اندروید کار می کردم. دلیل این ساده بود و از نظر من بسیار آینده نگر به نظر می رسید، مدیریت می خواست استراتژی خود را برای پذیرش کامل هوش مصنوعی و کاهش هزینه های مهندسی انسانی تغییر دهد. برای اینکه کاملاً حرفه ای باشم، به تصمیم تجاری آنها احترام می گذارم. هنگامی که یک شرکت نیاز به بهینه سازی هزینه ها دارد، آزاد کردن یک پیمانکار کاملا منطقی است. اما چیزی که من را شگفت زده کرد این بود این اخراج بر مهندسین تمام وقت اصلی آنها نیز تأثیر گذاشت. البته، هر شرکتی معیارهای داخلی، دیدگاهها و استراتژیهای عمیقتر خود را دارد تا آنچه را که معتقد است برای بقای کسبوکارش بهترین است انتخاب کند. بنابراین برای روشن بودن، این مقاله صرفاً بازتاب و نظر من در مورد این تغییر بزرگ است.
طنز ماجرا این است که در حالی که من برای آنها قرارداد می بستم، در واقع در پشت صحنه به شدت از هوش مصنوعی استفاده می کردم. این امر سرعت تحویل من را به قدری افزایش داد که به راحتی می توانم وظایف پیمانکاری خود را در کنار شغل اصلی تمام وقتم بدون افت کیفیت انجام دهم. تضاد در واقع قابل توجه است، زیرا در شرکت تمام وقت فعلی من، دقیقاً همین است مقابل، ما جایگزین نمی شوند، در عوض ما هستیم مجهز شده است، تامین مالی شده است، و آموزش دیده است با بهترین ابزارهای هوش مصنوعی، تا بتوانیم رشد بیشتری داشته باشیم مولد و استراتژیک.
این تجربه باعث شد متوجه شوم که یک چیز بزرگ وجود دارد تصور غلط در صنعت فناوری امروز بسیاری از رهبران غیر فنی هوش مصنوعی را جایگزینی فوری برای مهندسان نرم افزار می دانند. اما این برای من نیست، این یک تقویت کننده است.
در فضای کاری مبتنی بر هوش مصنوعی امروزی، مدلهای زبان بزرگ (LLM) دیگر مانعی برای سرعت توسعه نیستند. گلوگاه واقعی عادات دستی قدیمی ما و نحوه کنترل این هوش مصنوعی است. تلاش برای مطابقت با هوش مصنوعی سرعت تایپ خط به خط یک نبرد بازنده است. اما از سوی دیگر، اجازه دادن به هوش مصنوعی بدون نظارت دقیق، کد را به طور کامل بنویسد فاجعه دیجیتال
به عنوان توسعه دهندگان، ما چیزهای زیادی داریم پارانویای معتبر در مورد پوسیدگی کد که در آن هوش مصنوعی بهم ریخته می نویسد کد اسپاگتی که به طور موقت کار می کند اما از الگوهای طراحی قدیمی استفاده می کند یا از دست می دهد بهینه سازی حافظه فقط برای رعایت یک مهلت حتی بدتر از این خطر است امنیت و انطباق معایب ما نگران هستیم که هوش مصنوعی به طور تصادفی آشکار شود کلیدهای API، استانداردهای رمزگذاری محلی را دور بزنید یا قوانین R8/ProGuard را مبهم کنید و برنامه را پس از کامپایل در برابر مهندسی معکوس آسیب پذیر کنید.
راه حل این است که اجازه ندهیم هوش مصنوعی بدون نظارت انسان کار کند. ترفند این است که متوجه شوید که هسته توسعه اندروید از ورود دستی نحو اولیه فاصله گرفته و به سمت حالت دفاعی رفته است. ارکستراسیون عامل هوش مصنوعی همراه ما.
اصول اولیه اندروید ما او نمرده است. به سادگی حرکت کرده است، دیگر روی نوک انگشتان ما روی صفحه کلید زندگی نمی کند، در درون ما زندگی می کند مدل ذهنی به عنوان یک ارکستراتور. کار جدید ما دیکته کردن، راهنمایی و ایجاد نرده های محافظ قوی است تا هوش مصنوعی کد تولید را ارائه دهد.
در چند ماه گذشته، من خط لوله توسعه اپلیکیشن شخصی خود را با استفاده از استراتژی های زیر تثبیت کرده ام:
- برنامه ریزی دفاعی به عنوان مرحله برنامه ریزیدر عصر ماهواره های هوش مصنوعی، زمان من صرف قفل کردن معماری برنامه در متن ساده قبل از تولید کد می شود. من قوانین دقیق، مدیریت ایالتی و مرزهای فنی دقیق را دیکته می کنم تا هوش مصنوعی دقیقاً بداند چه کاری را نباید انجام دهد.
- اجرای بدون سر به عنوان مرحله اجرا، هنگامی که طرح پایدار شد، با استفاده از ابزارهای ترمینال به هوش مصنوعی اجازه می دهم به طور مستقل در پس زمینه اجرا شود. بدون مداخله دستی، بدون تغییر زمینه سنگین، فقط تمیز، سریع، اجرای مستقل.
- نرده های ایمنی خودکار به عنوان مرحله اعتبار سنجی، برای از بین بردن پارانویای من در مورد کدهای آشفته، دیگر خطاها را به صورت دستی آزمایش نمی کنم. من هوش مصنوعی را مجبور می کنم تا وظایف Gradle linter و کامپایلر را روی کد بومی اجرا کند. اگر با یک خطای نحوی مواجه شود، هوش مصنوعی یک حلقه خود درمانی را انجام می دهد تا خود را اصلاح کند تا زمانی که بیلد سبز شود. من فقط برای بررسی نهایی وارد می شوم.
- بررسی روابط عمومی ایزوله به عنوان مرحله بررسی کد، قبل از اینکه هر کدی به شاخه اصلی برسد، یک عامل تأیید اختصاصی و ایزوله را اجرا میکنم تا آسیبپذیریهای امنیتی، پوسیدگی کد و تأثیرات عملکرد را اسکن کنم. آخرین نشانه همیشه با شهود انسانی من می ماند.
من احساس میکنم که گوگل این تغییر را دیده است، آنها میدانند که اگر عوامل هوش مصنوعی بدون مرزهای دقیق معماری، کد را در خلاء بنویسند، سیستم تولید فرو میپاشد. دقیقاً به همین دلیل است که آنها یک نام تجاری جدید را منتشر کردند CLI برای اندروید و مهارت های اندروید ثبتهایی که به طور رسمی ابتدا عامل اکوسیستم را ترجمه میکنند تا مهندسان انسانی بتوانند قوانین کدگذاری را مستقیماً از ترمینال اعمال کنند.
CLI برای اندروید
این تغییر مرز بین قصد مهندس و پایه کد را کاملاً بازتعریف می کند. همانطور که گردش کار توسعه ما از کلیک دستی ماوس به هماهنگ سازی کد قطعی می رسد، ابزارهای ما باید برای صحبت کردن به همان زبانی که همراهان هوش مصنوعی ما هستند، سازگار شوند. پاسخ گوگل به این تکامل، محیطی است که از ابتدا برای اسکریپتنویسی سبک وزن و غیرقابل برگشت ساخته شده است. Android CLI.
اگر مدتی است که توسعه اندروید را انجام میدهیم، میدانیم که ساختن یک برنامه معمولاً به معنای زندگی در رابط گرافیکی سنگین اندروید استودیو است. اما عوامل هوش مصنوعی، اسکریپتهای اتوماسیون پسزمینه و سرورهای CI/CD علاقهای به دکمههای زیبا یا منوهای بصری ندارند. آنها برای اجرای دستورات به یک سطح ترمینال تمیز، قابل پیش بینی و رعد و برق سریع نیاز دارند.
Android CLI رابط خط فرمان مدرن گوگل است که به توسعه دهندگان، و مهمتر از آن، عوامل هوش مصنوعی، راه استانداردی برای ساخت، مدیریت، آزمایش و استقرار برنامه های Android را مستقیماً از ترمینال ارائه می دهد.
با اجرای یک دستور اولیه ساده اولیه اندروید، بلافاصله هسته را تزریق می کنیم android-cli مهارت ها در سیستم ما به ابزارهایی مانند claude code یا gemini cli دقیقاً نحوه تعامل با محیط خود را آموزش می دهد.
Android CLI را نصب کنید
به عنوان اولین قدم، میتوانیم از ترمینال دستگاه خود برای نصب Android CLI استفاده کنیم. ما می توانیم Android CLI را به چند روش نصب کنیم، ابتدا می توانیم استفاده کنیم حلقه | bash، apt-get، خانگی، حلقه|cmd، بالو همچنین می توانیم مستقیماً آن را از صفحه دانلود cli اندروید دانلود کنیم. از آنجایی که من از مک با تراشه اپل استفاده می کنم، استفاده خواهم کرد حلقه کردن. ما باید یک ترمینال را روی دستگاه خود باز کنیم و با استفاده از دستور زیر آن را نصب کنیم.
curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash
در صورت موفقیت، مانند شکل زیر پیام موفقیت آمیز نمایش داده می شود و Android CLI آماده راه اندازی است.

مهارت های اندروید را راه اندازی کنید
پس از اتمام نصب، داشتن باینری CLI روی دستگاه ما کافی نیست. ما باید به صراحت شکاف بین محیط توسعه محلی خود و همراهان هوش مصنوعی خود را پر کنیم. اینجاست که اولیه اندروید فرمان وارد عمل می شود و شاید جذاب ترین قسمت این گردش کار عامل جدید باشد. در طول این فرآیند به طور فعال خروجی ترمینال داخلی را با دقت باز می کند، ما شاهد اتفاق قابل توجهی در زیر هود خواهیم بود.
android init

بررسی مسیر Android SDK
قبل از اینکه به همراه هوش مصنوعی خود اجازه ایجاد یک پروژه جدید یا اجرای هر کار پسزمینهای را بدهیم، باید مطمئن شویم که Android CLI دقیقاً میداند Android SDK ما در کجا قرار دارد. بدون این زمینه، عامل اساساً blins است و قادر به کامپایل کد، اجرای linter یا مدیریت شبیه سازها نخواهد بود.
بررسی مسیر Android SDK
قبل از اینکه به همراه هوش مصنوعی خود اجازه ایجاد یک پروژه جدید یا اجرای هر کار پسزمینهای را بدهیم، باید مطمئن شویم که Android CLI دقیقاً میداند Android SDK ما در کجا قرار دارد. بدون این زمینه، عامل اساساً کور است و قادر به کامپایل کد، اجرای لینترها یا مدیریت شبیه سازها نخواهد بود.
برای بررسی تنظیمات خود، میتوانیم یک دستور عیبیابی سریع را در ترمینال خود اجرا کنیم:
android info

اگر سیستم به درستی پیکربندی شده باشد، CLI مسیر SDK ما را خروجی میدهد. با این حال، اگر دستور را اجرا کنیم و SDK پیدا نشد، شاید به این دلیل که هنوز آن را در دستگاه خود دانلود نکردهایم، نیازی به وحشت نیست. از آنجایی که هدف ما حفظ یک راهاندازی ترمینال عامل اول سبک وزن است، میتوانیم از دانلود IDE Android Studio سنگین صرفاً برای دریافت SDK اولیه صرفنظر کنیم. ما فقط باید ابزارهای خط فرمان خام اندروید را دانلود کنیم. در مورد من، از آنجایی که من از macOS استفاده می کنم، می توانم بدون زحمت آنها را با استفاده از Homebrew دانلود کنم.
brew install --cask android-commandlinetools

پس از اتمام نصب Homebrew، نیازی به تغییر مداوم متغیرهای محیط سنگین سیستم خود نداریم. Android CLI به زیبایی از طریق یک فایل پیکربندی اختصاصی این کار را انجام می دهد. برای پیوند SDK، فقط باید یک فایل androidrc. در فهرست اصلی خود ایجاد کنیم (~/.androidrc برای macOS/Linux یا %USER PROFILE%\.androidrc برای ویندوز).
در داخل این فایل یک پرچم اضافه می کنیم که مستقیماً به مکان SDK تازه نصب شده ما اشاره می کند:
echo "--sdk=/Users/username/Library/Android/sdk" > ~/.androidrc
با این کار یک قانون قطعی برای محیط خود وضع می کنیم. هر زمان که عامل هوش مصنوعی بدون سر ما با Android CLI تماس بگیرد، به طور خودکار این را می خواند androidrc فایل، اعمال کنید –sdk پرچم گذاری کنید و دستور را در محیط صحیح اجرا کنید.
تزریق و تست مهارت اندروید
اکنون که Android SDK اصلی ما به درستی پیوند داده شده است و CLI کاملاً کاربردی است، پایه و اساس ما محکم است. با این حال، برای تبدیل هوش مصنوعی محلی ما از یک دستیار کدنویسی غیرفعال به یک عامل اقدام کننده و مستقل، باید دقیقاً بداند که چگونه با این محیط تعامل داشته باشد. برای انجام کار و در عین حال رعایت دقیق بهترین شیوه های معماری اندروید، به مجموعه قوانین و ابزارهای رسمی نیاز دارد.
اینجاست که در نهایت با بیرون کشیدن از رجیستری رسمی گوگل، به هوش مصنوعی خود دست و پا می دهیم. برای استخراج و نصب تمام مهارتهای اندروید موجود در محیط خود، یک دستور را اجرا میکنیم:
android skills add --all

وقتی اضافه می کنیم — همه flag، CLI به رجیستری رسمی متصل می شود و هر مهارت موجود را دانلود می کند. سپس به طور خودکار این مهارتهای دانلود شده را در فهرستهای پیکربندی پنهان عوامل محلی ما مانند Gemini، Clause، Copilot و غیره توزیع میکند. ما باید بررسی کنیم که آیا هوش مصنوعی قبلاً به این ابزارها دسترسی دارد یا خیر. ما به راحتی می توانیم رجیستری محلی خود را با اجرای:
android skills list

برای ممیزی دقیق تر، از جمله شرح کارهایی که هر مهارت انجام می دهد و برای کدام عوامل خاص نصب شده است، می توانیم از –طولانی پرچم:
android skills list --long

همدم محلی هوش مصنوعی ما دیگر فقط یک تولید کننده متن نیست، بلکه اکنون به طور کامل با دست ها و پاهای خود مجهز شده است و آماده است تا با خیال راحت پایگاه کد ما را مستقیماً در محیط محلی ما دستکاری کند. و بهترین بخش؟ اجرای این مهارت های اندروید به طور کامل در دستگاه ما اتفاق می افتد. اینکه آیا آن ارکستراسیون به یک API ابری متصل میماند یا کاملاً آفلاین است، فقط به مدل هوش مصنوعی بستگی دارد که ما برای تقویت مغز آن انتخاب میکنیم.
غذا برای بردن به خانه
در نهایت متوجه شدم که هوش مصنوعی تقویت کننده من است نه جایگزین من. گلوگاه واقعی در توسعه مدرن، قابلیت های هوش مصنوعی نیست، بلکه عادات دستی منسوخ شده من است، به این معنی که نقش من به عنوان یک مهندس اساساً از تایپیست به ارکستراتور استراتژیک تغییر کرده است. برای موفقیت در این پارادایم جدید، من برنامه ریزی تدافعی را اولین قدم اجباری می دانم. قبل از اینکه به یک هوش مصنوعی اجازه دهم یک خط کوتلین بنویسد یا یک رابط کاربری برای Jetpack Compose مونتاژ کند، مطمئن شوید که معماری، مدیریت حالت و قوانین را به صورت متن ساده قفل میکنم، و برای جلوگیری از کد اسپاگتی، محافظهای سختگیرانهای تنظیم میکنم. با پذیرفتن این اصول، گردشهای کاری بدون هد قفل چندوظیفهای واقعی را برای من باز میکنند. انتقال اجرا به ترمینال با Android CLI و Android Skills به عامل این امکان را میدهد تا به طور مستقل از راهاندازی، داربست و حلقههای خود ترمیمکننده خستهکننده استفاده کند. در حالی که هوش مصنوعی در پسزمینه مشغول جمعآوری است، بالاخره میتوانم بنشینم و با آرامش از یک قهوه شیر جو دوسر سرد لذت ببرم.
اگر این مقاله را مفید یافتید، لطفاً مشارکت کنید کف می زنم برای نشان دادن حمایت خود! فراموش نکنید که حساب من را دنبال کنید برای بینش جذاب تر در مورد فناوری Android. همچنین میتوانید از طریق پیوندهای اینستاگرام، لینکدین، ایکس با من در رسانههای اجتماعی ارتباط برقرار کنید. من دوست دارم با من ارتباط برقرار کنم، افکار شما را بشنوم و ببینم چه چیزهای شگفتانگیزی ایجاد میکنید!
در کدنویسی کنجکاو و خوشحال باشید! 😃
ساخت برنامههای اندروید با سرعت فکر با Android CLI در ابتدا در ProAndroidDev در Medium پست شد، جایی که مردم با برجسته کردن و پاسخ دادن به این داستان به گفتگو ادامه میدهند.




