با Android CLI، ببینید چه چیزی در انتظار توسعه Android در «استودیو Android» و پایانه است. در این جلسه، جدیدترین ویژگیهای «استودیو Android» نسخه Canary و Stable را رونمایی میکنیم—از انتقال کد با کمک هوش مصنوعی به Compose و پشتیبانی از Agent Client Protocol (ACP) گرفته تا معماری اعلانی Lightbuild. همچنین به جدیدترین بهروزرسانیهای زنجیره ابزار Android CLI خواهیم پرداخت. با نحوه استفاده از آن برای خودکارسازی گردشهای کاری حلقه داخلی با دسترسی بهبودیافته به دستگاهها، ابزارهای عیبیابی برای مشکلات محلی و تولید، گردشهای کاری نمایهسازی که به نمایندگان شما امکان میدهد بهینهسازیها را آزمایش و اعتبارسنجی کنند، و موارد دیگر آشنا شوید.
آوانویسی
صبح بهخیر، همگی.
نام من آدارش فرناندو است.
من مدیر گروه محصولات در تیم تجربه توسعهدهنده Android هستم.
و من استبان د لا کانال هستم و مهندس نرمافزار در تیم ابزارهای توسعهدهنده هستم.
اکنون، بهنظر میرسد که هر روز هوش مصنوعی نحوه کار ما را کاملاً تغییر میدهد و احساس میکنیم که هیچوقت زمانی هیجانانگیزتر از این برای توسعهدهنده Android بودن وجود نداشته است.
و به همین ترتیب، فکر میکنیم هیچوقت زمانی هیجانانگیزتر از این برای ساختن ابزارهایی که همگام با گردش کار شما تکامل مییابند وجود نداشته است تا به شما کمک کند کارهای بیشتری انجام دهید، با بلندپروازی بیشتری بسازید، با کیفیت بالاتر و سریعتر از همیشه.
در این جلسه، درواقع زمان زیادی را صرف نشان دادن نحوه بهینهسازی ابزارها در تعدادی از سطوحی که هر روز استفاده میکنید خواهیم کرد تا بهرهوری بیشتری داشته باشید.
بیایید با پایهایترین این ابزارها، Android CLI، شروع کنیم.
با تبدیل شدن عوامل کدنویسی به بخش بزرگتری از گردش کار روزانه شما، به ابزارهایی نیاز دارید که برای نحوه عملکرد عوامل بهینهسازی شده باشند.
درحالحاضر، ابزارهای خط فرمان سنتی اغلب به تفسیر انسانی، ورودی دستی نیاز دارند یا قابلیتهای محدودی دارند که واقعاً آنچه را که عاملها قادر به انجام آن هستند پیش نمیبرند.
Android CLI از ابتدا برای عاملهای مدرن بهعنوان یک راهحل مدرن، فرمانهای قابلپیشبینی، خروجیهای ساختاریافته، بدون پیاموارههای تعاملی، و فهرست روبهرشدی از قابلیتها برای هدایت گردشهای کاری عمیقتر توسعهدهندگان با کمک عاملگرا ساخته شده است.
این پایه و اساس است که تجربههای توسعهدهنده Android را در چندین محیط عاملگرا، از Claude Code در پایانه شما گرفته تا Google Antigravity و Android Studio، امکانپذیر میکند.
برای اینکه ببینید این ویژگی در عمل چگونه کار میکند، از Pocket Casts استفاده میکنیم.
این برنامه پادکست متنباز میلیونها کاربر دارد که من هم یکی از آنها هستم.
از آن برای بازپخش صدا، بازپخش ویدیو، همگامسازی پسزمینه استفاده میکنم و پایگاه کد فعال ۴۰-ماژولی دارد.
بنابراین، برای شروع گشتوگذارمان در کارهایی که Android CLI میتواند انجام دهد، آن را به استبان میسپارم.
متشکرم، آدارش.
بسیار خوب، میخواهیم به نمایشهای زنده با هوش مصنوعی برویم.
چه مشکلی ممکن است پیش بیاید؟
در این ویدیو، میخواهیم از ابتدا شروع به نمایش دمو کنیم، از CLI شروع میکنیم و تا «استودیو Android» پیش میرویم.
اما، به سبک واقعی CLI، میخواهم دستور کارم را در یک پایانه به شما نشان دهم.
بنابراین، ابتدا میخواهم آنچه را که در Android CLI جدید انجام دادهایم به شما نشان دهم.
البته Android CLI را نصب کردهام.
و این نوشتار دیوار نوشتاری فرمانها است.
اما من امروز برای ما یک پرچم ADS اضافه کردم.
بنابراین، میخواستم به شما نشان دهم که از زمان اعلام این ابزار در Google I/O چه کارهایی انجام دادهایم.
چند فرمان جدید داریم.
درطول همه نسخههای نمایشی، همه این فرمانها را در عمل خواهید دید.
اما اکنون میتوانیم APKها را تجزیهوتحلیل کنیم تا ببینیم پیکربندی R8 چگونه عمل میکند، بنابراین نماینده شما میتواند بررسی کند که آیا APK یا AAB در شکل مناسبی قرار دارد یا نه.
ما امکان ورود به سیستم سرویسهای Google را برای دسترسی به ابزارهای خاصی اضافه کردهایم که در ادامه نشان خواهم داد.
قابلیتی را به Android CLI اضافه کردهایم تا بتواند نحوه ساخت پروژههایتان را تشخیص دهد.
البته میتوانید بااستفاده از Gradle یا هر چیز دیگری که میسازید، در خط فرمان بسازید، اما چرا مهم است که Android CLI بداند چگونه بسازد؟
چون فرمان پیشنمایش را راهاندازی کردهایم، این فرمان به شما امکان میدهد پیشنمایش Compose را مستقیماً در پایانه و بدون نیاز به Android Studio رندر کنید.
برای این کار، Android CLI باید ساخته شود.
این گزینه را دردسترس دارید.
همچنین فرمان دستگاه جدیدی داریم که بهزودی نشان خواهم داد و به شما امکان میدهد دستگاههای ازراهدور فیزیکی را اجاره کنید و صفحهنمایشها را قرینهسازی کنید.
کمی بعد آن را خواهیم دید.
فرمان ورودی جدیدی داریم که به شما امکان میدهد برنامه را دستکاری کنید.
البته UI Automator و دیگر میاناهای برنامهسازی کاربردی موجود را دارید، اما این کار باعث میشود که عامل مجبور نباشد با جزئیات زیادی سروکار داشته باشد و بله، سرعت تعامل با برنامهتان را بهبود میبخشد.
همانطور که گفتم، فرمان پیشنمایش را داریم.
فرمان نصب جدیدی داریم.
البته میتوانید از ADB استفاده کنید، اما این کار قدرت استقرار Android Studio را بههمراه دارد که فقط بخشی از APK را که تغییر کرده است ارسال میکند.
بنابراین، اگر یک APK بزرگ ۵۰۰ مگابایتی داشته باشید و یک فایل را تغییر دهید، این ویژگی فقط تغییرات را ارسال میکند.
ما یک فرمان سیگنال جدید اضافه کردهایم تا بتوانید خرابیها را در Crashlytics و همه دادههای تولید را برای بارگیری و رونوشتهای پشته مشاهده کنید، بنابراین نماینده میتواند ما آن را همین الان در یک ثانیه خواهیم دید.
و فرمان نمایهساز جدیدی داریم که به شما امکان میدهد بهراحتی در خط فرمان نمایهسازی کنید، ردگیریهای سیستم را دریافت کنید، یا رونوشتهای پشته را بگیرید.
کمی بعد آن را بهصورت زنده خواهیم دید.
بسیارخوب.
بیایید شروع کنیم به انجام دادن چند کار.
بنابراین، اولین فرمانی که میخواهم به شما نشان دهم مدلهای کنترل از راه دور دستگاه Android است، که در آن میتوانید همه دستگاههایی را که میتوانید اجاره کنید، درصورت ورود به سیستم، فهرست کنید.
اینها همه دستگاههایی هستند که میتوانم کرایه کنم.
میخواستم این نسخه نمایشی را روی یک دستگاه فیزیکی از راه دور انجام دهم، اما نمیخواستم خدایان نسخه نمایشی را اینقدر وسوسه کنم، و قصد دارم از یک دستگاه فیزیکی که اینجا دارم استفاده کنم.
و برای نشان دادن همه دستگاههای فیزیکیام، فرمان جدیدی بهنام «مرکز دستگاه» داریم که صفحهنمایش دستگاههای متصل، دستگاههای ازراهدور، یا شبیهسازهایتان را آینهسازی میکند.
بنابراین، من این را اینجا باز میگذارم تا همه شما ببینید چه اتفاقی در تلفن من میافتد.
بسیارخوب، اولین نسخه نمایشی.
من شروع میکنم، و اسلایدهای پیشرفتهام را جلو میبرم، و توضیح میدهم که این قرار است چه کاری انجام دهد.
بنابراین، نمیخواستم نمایشی را اجرا کنم که در آن کار را شروع کنم و سپس مانند آن برنامههای شیرینیپزی که کیک را میگذارند و بعد میگویند «این هم نتیجه کار» به عقب برگردم.
و قبلاً هیچچیز شبیه این نبود.
بنابراین، این قرار است به چیزی واقعی تبدیل شود.
اکنون، کاری که این افزونه سعی میکند انجام دهد این است که Crashlytics را بررسی کند و خرابیهای برنامهام را فهرست کند.
اجازه دهید برنامه را باز کنم.
با فهرست کردن همه خرابیها، یکی را انتخاب میکند.
قرار است سعی کند آن را بازتولید کند.
تصادف را میشناسم.
خرابی این است که اگر روی «گذرواژهام را فراموش کردهام» دوضربه بزنید، برنامه ازکار میافتد.
بنابراین اکنون، عامل سعی میکند آن را بااستفاده از فرمان ورودی بازتولید کند، و برنامه ازکار افتاد.
بنابراین، AGENTS.md را تغییر دادم تا دو کار انجام دهد.
یک، من همه چیز را ازقبل ساختهام، بنابراین لازم نیست ساختن برنامه را تماشا کنیم.
خیلی خستهکننده خواهد بود.
این ابزار اصلاحی را که در فایل مجاور بود شناسایی کرد، بنابراین آن را اصلاح کرد، و دوباره از فرمانهای استقرار و ورودی استفاده خواهد کرد تا ببیند آیا خرابی دوباره تکرار میشود یا نه.
برنامه ازقبل نصب شده است و اکنون باید به صفحه «گذرواژهام را فراموش کردهام» برود.
عالی.
و روی گزینه جدید «گذرواژهام را فراموش کردم» دوضربه میزند و امیدواریم که از کار نیفتد و به صفحهای برود که میگوید «ایمیلتان را برای بازنشانی گذرواژه وارد کنید».
بسیار خوب، رسیدیم.
اگر واقعاً آن را برطرف کردهاید، از کار نیفتید.
بفرمایید.
اشکال برطرف شده است.
و حالا، من AGENTS.md خود را فقط برای شما تغییر دادم تا بگویید: «همه فرمانهای CLI Android را که برای انجام این کار استفاده کردید به من نشان بده.»
و درحال ظاهر شدن هستند.
بنابراین، از سیگنالهای Android برای فهرست کردن خرابیها استفاده کرد.
از نصب Android برای نصب APK استفاده کرد، برای رفتن به آنجا روی ورودی ضربه بزنید.
میتواند بسازد، اما میتوانست Gradle را فراخوانی کند.
و همین.
ما همین الان یک خرابی را در حدود ۱ دقیقه و ۴۲ ثانیه برطرف کردیم.
مورد بعدی کمی بلندپروازانهتر است.
بنابراین، من آن را شروع میکنم.
بفرمایید.
بنابراین، میخواهم زمان راهاندازی برنامه Pocket Casts را بهبود دهم.
برای این کار، تنها چیزی که میگویم این است: «هی، فکر میکنم میتوانیم، میدانید، راهاندازی میتواند سریعتر باشد، اسناد را بخوانید و آن را سریعتر کنید.»
و کاری که این ابزار انجام میدهد این است که برنامه را نمایه میکند.
امیدواریم این کار نمایه پایه را تغییر دهد.
این ابزار برنامه را بازسازی میکند، دوباره آن را اجرا میکند، نمایه میکند، دو ردگیری را مقایسه میکند، و به من میگوید که آیا چیزی بهبود یافته است یا نه.
این کار حدود ۲ دقیقه طول میکشد، بنابراین این یکی را میگذارم تا پخته شود و ما به نسخه نمایشی بعدی میرویم.
کارش را انجام میدهد؟
درحال انجام کارش است.
بسیارخوب.
مورد بعدی که میخواهم به شما نشان دهم نحوه کاهش ردپای APK است.
در ابتدا اشاره کردم که فرمان جدیدی بهنام Android Analyze داریم.
میخواهم از نماینده بخواهم که بهبود دهد و این روشی است که شما آن را بیان میکنید، «انتشار ما بزرگتر از آنچه باید باشد احساس میشود.
انجامش بده.»
و میخواهیم به نماینده اجازه دهیم کارش را انجام دهد.
دو اتفاق در اینجا رخ خواهد داد.
امیدواریم ببینیم، بفرمایید.
عامل درحال بررسی پیکربندی ProGuard است.
آن را تغییر میدهیم و دو APK را قبل و بعداز این تغییر مقایسه میکنیم و میبینیم که چگونه باهم مقایسه میشوند.
همانطور که قبلاً گفتم، من آنها را ازقبل ساختهام، بنابراین نماینده باید APKهای قبلی را بشناسد و انتخاب کند.
بفرمایید.
این ابزار از Android Analyze برای تجزیهوتحلیل APK قبلی و APK جدید و مقایسه اندازهها استفاده کرد.
ما در اندازه dex به اندازه نیم مگابایت بهبود داشتهایم و شما میتوانید تمام تفاوتهای مربوط به تعداد مواردی را که از APK حذف شدهاند ببینید.
و در ۲۴ ثانیه به آنجا میرسیم.
اکنون، و این واقعی است، در برنامه Pocket Casts.
این جعلی یا چیزی شبیه به آن نیست.
تنها چیزی که تغییر دادم این بود که شما فرایند ساخت را نبینید، اما در عرض چند دقیقه، APK کوچکتری دریافت کردیم.
اجازه دهید برگردم، و این کار انجام شد.
بنابراین، کیک آماده است.
اکنون زمان راهاندازی Pocket Casts را بهینهسازی کردهایم.
و میتوانید بهبود ۱۷ درصدی را در واحد پردازش مرکزی رشته اصلی ببینید.
و مهمتر از همه، شاهد بهبود ۱۷ درصدی زمان نمایش اولیه از ۴۰۰ میلیثانیه به ۳۸۰ میلیثانیه هستیم.
عالی است، حدود چند دقیقه دیگر.
و این چه کاری انجام داد؟
این مدل فرمان واکشی «اسناد Android» را اجرا کرد و از این طریق با نحوه ایجاد نمایه پایه و نحوه بهروزرسانی آن آشنا شد.
این ابزار فرمان نمایهساز را دو بار اجرا میکند، یک بار قبل و یک بار بعد، و دو راهاندازی را با هم مقایسه میکند.
And we got an improvement here.
بنابراین این در این نسخه نمایشی سوم و آخرین نسخه نمایشی است.
و این تمام چیزی است که برای شما دارم، بهجز یک چیز دیگر.
بله، پایانهها را دوست دارم.
بله، این منم.
یک چیز هست که میخواستم به شما نشان دهم، همه اینها منتشر شده است.
میتوانید بروید، میتوانید Android CLI را بارگیری کنید، میتوانید آنها را امتحان کنید.
اما ما برای این موضوع بسیار هیجانزده هستیم.
اگر در سخنرانی کلیدی بودید، وانمود کنید که سخنرانی کلیدی را ندیدهاید.
میخواهم این چیزی را که ساختهایم به شما نشان دهم.
میتوانیم برگردیم به فکر میکنم میتوانیم به واحد نمایشی برگردیم، لطفاً؟
اوه.
میتوانیم به نسخه نمایشی اول برگردیم؟
متشکریم.
بنابراین، من تعدادی APK در اینجا دارم.
و من میخواهم اجرا کنم من یک Compose APK دارم.
اینها APKهای آماده و معمولی هستند که برای Android x86 ساخته شدهاند.
و این یک برنامه معمولی است که بهطور کامل اجرا میشود.
دلیل اینکه من آن را بسیار جالب میدانم این است که فقط یک فرایند واحد است.
میتوانید Logcat را در خروجی استاندارد ببینید.
چیز دیگری درحال اجرا نیست.
میتوانید چندین مورد از این را اجرا کنید.
بسیار سبک است.
به مجازیسازی تودرتو نیاز ندارد.
این برنامه روی ماشین مجازی اجرا میشود.
این با عامل شما اجرا میشود، اگر ابری از عاملها داشته باشید، در آنجا اجرا میشود.
و بگذارید به شما نشان دهم که این چقدر توانمند است.
بنابراین، یکی از برنامههای مرجع Google را داریم، «اکنون در Android».
این برنامه دسترسی به شبکه دارد.
و میتوانید چیزها را ببینید.
درواقع، «نشست توسعهدهندگان Android» ۲۰۲۲ در راه است، پس برای آن آماده باشید.
اما اجازه دهید برنامه بزرگتری را امتحان کنم، بهویژه یک برنامه واقعی، برنامه Pocket Casts.
این برنامه حاوی SO واقعی است.
بنابراین، ما یک لایه ترجمه داریم تا بتوانیم SOها را بهصورت بومی روی این در Linux فعلاً اجرا کنیم.
اما من پادکست پخش نمیکنم، ولی صدا داریم.
و آخرین نکته، برای نشان دادن اینکه این چقدر میتواند قدرتمند باشد، فرض کنید یک فعالیت بومی کامل دارید که اکثر این برنامه، برای سادهتر کردن، یک OpenGL است.
این یک برنامه قدیمی OpenGL ES 1 است، اما ما همچنین یک ترجمه برای اجرا روی دسکتاپ داریم، و بفرمایید، من دارم بازی میکنم.
متأسفیم.
این را در رایانهتان اجرا میکنیم.
و همین.
بسیار سپاسگزاریم.
برگشتن به Adarsh.
متشکرم، استبان.
بنابراین، همان قابلیتهایی که در نسخه نمایشی استبان از خط فرمان دیدید، برای کارگزارانی که ازطریق برنامههای رایانهای استفاده میکنید، مانند Google Antigravity، Claude Code، و Codex از OpenAI، نیز بسیار مفید است.
یادآوری میکنیم که امسال در I/O، پشتیبانی از توسعه Android را که مستقیماً در Antigravity با افزونه رسمی Android CLI گنجانده شده است معرفی کردیم.
این افزونه، عامل را با Android CLI و همچنین مهارتها و دانش رسمی Android راهاندازی میکند.
بنابراین، نماینده همیشه جدیدترین دستورالعملها و استانداردهای معماری را دارد، نه دادههای آموزشی قدیمی.
و امروز، افزونه Android CLI برای Antigravity بهروزرسانی شده است تا ادغامهای عمیقتری را بهطور خاص برای توسعهدهندگان Android ایجاد کند، که با توانایی پشتیبانی از رندر کردن و مشاهده «پیشنمایشهای Compose» و تعامل با دستگاهها مستقیماً از Antigravity شروع میشود.
اکنون، دستگاه خیلی خنکتر شده است و میتوانم آن را به شما نشان دهم، پس بیایید این کار را انجام دهیم.
خب، من اینجا در Antigravity هستم و میخواهم این کار را شروع کنم.
برنامه Pocket Casts را بار کردهام و چیزی که میخواهم از نماینده بخواهم این است که یکی از این صفحهها را که در نماها ساخته شده است تجزیهوتحلیل کند.
آن را به Compose تبدیل کردهام، اما به من کمک کن آن را برای صفحهنمایشهای بزرگتر بهینهسازی کنم.
آن را تطبیقی کنید.
از فضای بیشتری از صفحه استفاده کنید.
و چند دستگاه مرجع به آن دادم که قرار است ازطریق آنها کار کند و برخیاز این کارها را انجام دهد.
درحالیکه این کار درحال انجام است، اجازه دهید به شما نشان دهم که راهاندازی چقدر آسان است.
در منو کناری، تنها کاری که باید انجام دهم این است که به «سفارشیسازیها» بروم و میتوانیم ببینیم که تعدادی ادغام دردسترس است.
و در بخش «ساخت با Google»، افزونه Android CLI قرار دارد.
بنابراین در اینجا میتوانم همه کارهای جالبی را که انجام میدهد ببینم، که بسیاری از آنها را امروز نمایش دادیم.
میتوانیم مهارتهایی را که همراه با افزونه ارائه میشود ببینیم.
البته، این به شما امکان میدهد تا تعداد زیادی مهارتهای دیگر و برخی از ادغامهای عمیقتر را اضافه کنید که قصد داریم درباره آنها صحبت کنیم و همین حالا به شما نشان دهیم.
بنابراین، اگر به اینجا برگردم، فقط برخیاز مراحل نهایی را انجام میدهد.
و کاری که انجام میدهد این است که درواقع آن پیشنمایش را تجزیهوتحلیل میکند و آنچه را که میبیند به من نشان میدهد، همراه با برخیاز راهنماییها و بهینهسازیهایی که توصیه میکند.
بنابراین چند لحظه صبر میکنیم.
بدیهی است که همه بیدار میشوند، عامل خود را راهاندازی میکنند، بنابراین من کمی رقابت میکنم.
بسیارخوب، عالی است.
پس این کار را انجام داده است.
همانطور که میبینم، برخیاز آن دستگاههای مرجع را راهاندازی کرده است و میتوانم روی این تراشه در اینجا کلیک کنم که برای من بسیار مفید است.
بنابراین برای اینکه این نما را بهطور یکپارچه باز کنم، در جریان کار میمانم و به برخی از راهنماییهایی که ارائه میدهد نگاه میکنم، مثلاً میگوید: «هی، میدانی، واضح است که یک چیدمان عمودی وجود دارد، بهویژه برای برخی از این صفحهنمایشهای عریضتر، که مفید نیست.
بیایید به چیدمان دو قابی برویم.»
بنابراین، ما اینجا نیستیم تا توانایی Antigravity را برای حل این مشکل آزمایش کنیم، من درواقع این کار را انجام دادهام، بنابراین فقط شاخهها را عوض میکنم.
برای اینکه نشان دهم تکرار کردن چقدر سریع است، فقط دوباره بارگیری میکنم و البته میتوانم با نماینده مکالمه داشته باشم، میتوانم اینجا و آنجا تغییرات جزئی ایجاد کنم، حتی لازم نیست پیشنمایشها را بهصورت دستی دوباره بارگیری کنم.
عامل این کار را بهطور خودکار برای من انجام میدهد و بدون نیاز به ساخت و استقرار پرهزینه، میتوانم خیلی سریع مستقیماً در Antigravity تکرار کنم.
البته میخواهیم ببینیم این برنامه در دستگاه واقعی چگونه بهنظر میرسد.
بنابراین، برای این کار، میتوانم «کانون دستگاه Android» را باز کنم.
بنابراین، اجازه دهید خیلی سریع به اینجا برگردم.
بنابراین، اگر این برای شما آشنا بهنظر میرسد، بسیار شبیه به مدیر دستگاه در Android Studio است، جایی که میتوانم بسیاری از دستگاههایی را که قبلاً راهاندازی کردهام ببینم.
اگر به دستگاههای از راه دور متصل شده بودم، آن را هم در اینجا میدیدم.
و اگر دستگاهی نیاز داشته باشم که Android CLI بتواند ایجاد کند، میتوانم آن را خیلی سریع در اینجا ایجاد کنم.
باز هم، همه اینها با Android CLI در پشت صحنه انجام میشود.
بنابراین اجازه دهید به اینجا بروم و میتوانم به دستگاه متصل شوم.
And if I unlock it, oops.
میتوانم آن برنامه بهروزشده را همینجا ببینم.
و میتوانم با آن تعامل داشته باشم و تأیید کنم که برنامه طبق انتظار من رفتار میکند.
و همچنین میتوانم بررسی کنم که تطبیقی است.
بگذارید به اینجا برگردم.
این دکمههای مفید را که میتوانم استفاده کنم ببینید.
بسیارخوب.
اوه، نه.
بسیارخوب، انجام شد.
اجازه دهید این را در چیدمان صفحه دونیمه قرار دهم و میبینم که بهطور خودکار با آن چیدمان تکقاب سازگار میشود.
و اگر دوباره آن را باز کنم، دوباره، به عقب و جلو سازگار میشود.
بنابراین، این افزونه بهروزشده Android CLI برای Google Antigravity است، نه تنها با تمام جدیدترین قابلیتهایی که برای شما نمایش دادیم، بلکه با این ادغامهای عمیق.
همچنین افزایههای رسمی برای Claude Code و Codex داریم که امروز دردسترس هستند و برخیاز این ادغامهای عمیقتر بهزودی ارائه میشوند.
بسیارخوب.
بسیار خوب.
بنابراین، با مهارتهای Android CLI و افزایههای رسمی عامل ما، به عاملها امکان میدهیم تا کارهای بسیار بیشتری را با کیفیت بالاتر و در زمان کمتر انجام دهند.
برای مثال، در اینجا از Claude Opus خواستیم تا در شش مسیر کاربر متمایز در شش دستگاه مختلف در یک برنامه پیمایش کند و از Android CLI برای پیدا کردن و رفع نشت حافظه استفاده کند.
اما از Claude Opus هم خواستیم که دقیقاً همین چالش را بدون Android CLI امتحان کند.
تأثیر Android CLI بر کارایی نماینده واضح است.
هنگام استفاده از Android CLI، میبینیم که عوامل Claude میتوانند تکالیف را دو برابر سریعتر و بااستفاده از تعداد بسیار کمتری از کدها تکمیل کنند.
Android CLI فقط یک ابزار راحت برای توسعهدهندگان نیست، بلکه اساساً نحوه پیمایش کارآمد عاملهای هوش مصنوعی در وظایف چالشبرانگیز توسعهدهندگان Android را تغییر میدهد.
همچنین شاهد دستاوردهای مشابهی در بسیاری از فرمانهای دیگری بودیم که امروز معرفی کردیم.
برای مثال، با پیشنمایش، بهجای کامپایل آهسته و اجرای حلقهها برای بررسی composable، عاملها پیشنمایشها را فوراً ارائه میدهند و میتوانند آن را به شما نشان دهند، که زمان تکرار را تا ۷۷٪ کاهش میدهد.
با فرمان Analyze، ساخت و بازرسیهای پیچیده که دهها رفتوبرگشت طول میکشید به یک فرمان ساختاریافته واحد خلاصه میشود و درنتیجه، از پنج و نیم ژتون برونداد کمتر استفاده میشود.
و فرمان Input در CLI اکنون از کنشهای معنایی ساختاریافته استفاده میکند تا از توهمات عامل و محاسبات پیچیده مختصات جلوگیری کند، که منجر به اجرای ۲۵٪ سریعتر وظایف کلی میشود.
بنابراین، نتیجهگیری ساده است: ارائه ابزارهای CLI ساختاریافته بومی Android به عاملها نهتنها باعث صرفهجویی در زمان و مصرف ژتون میشود، بلکه اصطکاک را دقیقاً در جایی که اکثر عاملها با شکست مواجه میشوند ازبین میبرد.
بنابراین، اگرچه این آزمایشها داخلی بودند، از همه شما دعوت میکنیم Android CLI را بهروز کنید و خودتان آن را امتحان کنید.
بسیار خوب.
اکنون بیایید به مقصد ساختهشده سرتاسر برای توسعهدهنده نرمافزار Android، ویرایشگر سخنگو، سیستم ساخت، شبیهساز، نمایهسازها، بازرسان، و موارد دیگر برویم.
البته منظورم Android Studio است.
بنابراین، Android Studio با ادغام عمیق Gemini، توسعه عاملمحور را در IDE رهبری کرد.
و امروز، دسترسی به Gemini از Android Studio از همیشه آسانتر شده است.
اکنون میتوانید از سهمیه اشتراک Google AI Pro یا AI Ultra موجود خود استفاده کنید یا ازطریق حساب Gemini Enterprise سازمانتان متصل شوید.
اما از توسعهدهندگان هم شنیدهایم که میگویند: «ما و تیممان درحالحاضر از عاملی استفاده میکنیم که Gemini نیست.
ما برای آن پرداخت میکنیم، ما آن را پیکربندی کردهایم.
چگونه میتوانیم از آن در «استودیو Android» استفاده کنیم؟»
بیایید نگاهی سریع به نحوه انجام این کار با پشتیبانی از «عامل خودتان را بیاورید» در Android Studio Rabbit 2 بیندازیم.
اگر بتوانیم به واحد نمایشی برویم.
عالی.
بسیارخوب، عالی است.
بنابراین، من اینجا با برنامه Pocket Casts در «استودیو Android» هستم.
و اولین کاری که میخواهم انجام دهم راهاندازی عاملم است.
بنابراین، به پنجره «تنظیمات» میروم.
در بخش «ابزارها»، «هوش مصنوعی»، و سپس «عوامل»، میتوانم صفحه جدید را برای راهاندازی عامل موردنظرم ببینم.
درحالحاضر یک عامل داخلی وجود دارد که با Android Studio ارائه میشود، اما همانطور که میبینید، من چند عامل دیگر را پیکربندی و اصالتسنجی کردهام، ازجمله عامل Claude که از اشتراک من استفاده میکند که با Claude Code خارج از Android Studio استفاده میکنم.
اما میتوانم آن را به کلید میانای برنامهسازی کاربردی یا پیکربندی هم ارجاع دهم.
و اگر نمایندهای را که ترجیح میدهید یا استفاده میکنید نمیبینید، بازار روبهرشدی از نمایندگان وجود دارد که میتوانید از بین آنها انتخاب کنید.
پس حتماً آن را بررسی کنید.
بسیار خوب.
این کار را انجام دادهام، بنابراین میخواهم به پنجره Agent بروم.
بیایید با چیز سادهای شروع کنیم.
سلام، شما کی هستید؟
و به کدام ابزارهای Android Studio دسترسی دارید؟
بسیارخوب.
بنابراین، در اینجا من قبلاً عامل Claude را انتخاب کردهام، اما میتوانید ببینید که میتوانم از بین هریک از عاملهای دیگری که پیکربندی کردهام انتخاب کنم، و همچنین هریک از مدلهایی را که ازطریق اشتراکم به آنها دسترسی دارم انتخاب کنم.
و اینجا تأیید میشود: «سلام، من Claude Code هستم.
درحال استفاده از Opus 5.5 هستید.»
و اینها همه ابزارهایی هستند که درطول سالها برای توسعه Android ساختهایم و بهینهسازی کردهایم و اکنون عامل ازطریق Android Studio به آنها دسترسی دارد.
از پیدا کردن و اصلاح فایلها، انجام تجزیهوتحلیل ایستا و تجزیهوتحلیل فایلها، ساختن، همگامسازی، رندر کردن پیشنمایشهای Compose، استقرار دستگاه، و البته دسترسی به انبوهی از دانش که مستقیماً در آن گنجانده شده است.
بسیارخوب، بیایید چیزی را امتحان کنیم که کمی چالشبرانگیزتر باشد.
باید برگه تقلب کوچکم را اینجا کپی کنم.
میدانیم که با اینکه عاملها هر روز کدهای بیشتری تولید میکنند، مرور همه این کدها همچنان یک چالش است.
و شما بهعنوان توسعهدهنده همچنان مسئول کیفیت کدی هستید که به کاربران ارائه میشود و ما میخواستیم در این زمینه به شما کمک کنیم.
بنابراین، این ویژگی «بازبینی تغییر» است.
بیایید برویم.
و کاری که قرار است انجام دهد این است که لازم نیست تغییرات محلی باشند.
من فقط این را به درخواست کششی که قبلاً بخشی از سابقه نسخه Pocket Casts است ارجاع میدهم و آن را تجزیهوتحلیل خواهد کرد.
این کار کمی زمان میبرد، بنابراین من قبلاً یکی تولید کردهام.
بنابراین، این شما و این هم…
نیازی نیست ۱۵ فایل تغییریافته یا ۸۰۰ خط کد را بررسی کنم.
میتوانم به اینجا بروم و بلافاصله ماهیت تغییرات را در این درخواست واکشی به من میگوید.
و درواقع، تیم اشارههای تند کشیدن کامل را برای افزودن یا برداشتن نشانکها اضافه کرد.
اما همین حالا هم میتوانم ببینم که ویژگی «مرور تغییرات» چند مشکل پیدا کرده است.
و اساساً آنچه اتفاق میافتد این است که در هر بازترکیب، یک کنش تند کشیدن کامل را راهاندازی میکند.
بنابراین، اگر کاری مثل حذف نشانک انجام میدادم، آن کادر گفتگوی تأیید را بارها و بارها میدیدم.
و خیلی جالب است.
این گزارش این مشکلات عمده را بههمراه تعدادی مشکل دیگر نشان داد.
میتوانم ببینم و بهطور عمیق درک کنم که مشکلات چیست.
این ابزار به کد مربوطه ارجاع میدهد و راهحل آمادهای برای رفع مشکل دارد.
و این عالی است، چون من شفافیت کاملی درباره اینکه راهحل ارسالشده به نماینده چه خواهد بود دارم.
و اگر چیزی باشد که بخواهم اصلاح کنم یا تغییر دهم، میتوانم همینجا این کار را انجام دهم.
میتوانم این فهرست را مرور کنم و مواردی را که میخواهم اصلاح کنم علامت بزنم.
و در پایان، میتوانم بگویم: «هی، همه مشکلات انتخابشده را برطرف کن.»
اما میتوانم راهنمای گامبهگام هم ایجاد کنم.
اگر میخواستم عمیقتر درک کنم که چگونه همه این تغییرات در موضوعات مختلف با هم ترکیب شدهاند.
بنابراین در اینجا در راهنمای گامبهگام، میتوانیم تغییرات این درخواست واکشی را که براساس موضوع گروهبندی شدهاند ببینیم.
و در اینجا میتوانیم مشکلی را که کمی قبلتر درباره آن صحبت میکردیم ببینیم، جایی که یک کنش تند کشیدن کامل میتواند بیشاز یک بار درحین بازترکیب ردیف اجرا شود.
میتوانم بفهمم تفاوت چیست و چه تغییراتی در کد ایجاد شده است.
میتوانم این تغییرات را بهعنوان بازبینیشده بپذیرم.
اگر بخواهم عمیقتر شوم، بدیهی است که میتوانم به ویرایشگر بروم و البته Android Studio پیمایش پایگاه کد را بسیار آسان میکند.
این «بررسی تغییرات هوش مصنوعی» و پشتیبانی از «عامل خودتان را بیاورید» بود که هر دو در نسخه پایدار Android Studio Rabbit 2 بههمراه ویژگیهای بسیار بیشتری وجود دارند: از حالت برنامهریزی که به شما کمک میکند کارهای پیچیدهتری را در کنار عامل خود بسازید، به شما امکان میدهد حتی کارهای بیشتری را بهطور همزمان ازطریق گپهای موازی انجام دهید، توانایی رفع و اشکالزدایی مشکلات، چه از راه دور و چه بهصورت محلی، دسترسی به Gemma 4 آفلاین، و بسیاری موارد دیگر.
بنابراین اگر از جدیدترین نسخه Canary، یعنی Android Studio Rabbit 3، استفاده نمیکنید، حتماً از جدیدترین نسخه پایدار استفاده کنید.
بسیار خوب، امروز به توسعه مدرن Android در سه سطح متمایز نگاه کردیم.
در With Android CLI از پایانه، دسترسی به سنجههای میدانی، امکان اتصال به دستگاههای راه دور یا محلی، امکان تجزیهوتحلیل عملکرد برنامه با نمایهسازی و ردیابی پیچیده، و موارد بسیار دیگری را ارائه میدهیم.
و این فرمانها در دست کارگزارانی مثل Google Antigravity بسیار قدرتمندتر میشوند.
جایی که افزونه رسمی Android CLI بهروز شده است تا ادغامهای عمیقتری را که بهطور خاص برای توسعهدهندگان نرمافزار Android طراحی شده است ارائه دهد.
و باز هم، ما افزونههای رسمی برای Codex و Claude Code داریم که برخی از این ادغامهای عمیقتر کمی دیرتر ارائه میشوند.
و درنهایت، نشان دادیم که چگونه «عامل خودتان را بیاورید» را ازطریق ACP مستقیماً به Android Studio Rabbit 2 میآوریم، همراه با ویژگیهای جذابی که از این عاملها بهره میبرند، مانند «بازبینی تغییرات با هوش مصنوعی».
اما در کانال Canary، موارد بیشتری وجود دارد که فرصت نکردهایم به آنها بپردازیم، مانند سیستم ساخت اعلانی ما که بهطور خاص برای Android ساخته شده و Lightbuild نام دارد، و همچنین دستیاران انتقال که از عاملها برای کمک به شما در تبدیل سریعتر، دقیقتر، و با کیفیت بالاتر نماهایتان به Compose استفاده میکنند.
این صحبتها مروری سریع بر بسیاری از زمینههای عالی بود که در آنها سرمایهگذاری میکنیم.
بنابراین برای عمیقتر شدن در موضوعاتی که امروز به آنها اشاره کردیم، حتماً برخیاز این جلسات شگفتانگیز دیگر را که در این اجلاس داریم بررسی کنید.
اما قبلاز اینکه بروید، امیدواریم که یک پیام را بهوضوح شنیده باشید، چه نمونه اولیه Android باشد، چه آوردن «نماینده خودتان را بیاورید» به Android Studio، یا سرمایهگذاریهایی که در Android CLI انجام دادهایم، ما به جامعه گوش میدهیم و واقعاً به بازخورد شما نیاز داریم تا مطمئن شویم که به بهترین شکل ممکن به شما خدمت میکنیم.
پس این رمزینه پاسخسریع را اسکن کنید، به چند سؤال پاسخ دهید، و لطفاً همچنان آن بازخوردهای عالی را به ما ارائه دهید.
و با این، این برای استبان و من است.
از همه شما بسیار سپاسگزارم و امیدوارم «نشست توسعهدهندگان Android» فوقالعادهای داشته باشید.