از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
دستگاه های اندروید مجازی Cuttlefish
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
Cuttlefish یک دستگاه اندروید مجازی قابل تنظیم است که می تواند هم از راه دور (با استفاده از پیشنهادات ابری شخص ثالث مانند Google Cloud Engine) و هم به صورت محلی (در دستگاه های Linux x86 و ARM64) اجرا شود.
اهداف سگ ماهی
کوتلفیش را با دستگاه های دیگر مقایسه کنید
Cuttlefish و شبیه ساز اندروید
شباهت های زیادی با شبیه ساز اندروید وجود دارد، اما Cuttlefish وفاداری کامل را با فریم ورک اندروید تضمین می کند (خواه این AOSP خالص باشد یا یک پیاده سازی سفارشی در درخت خود شما). در برنامه های دنیای واقعی، این بدان معنی است که باید انتظار داشته باشید که Cuttlefish به تعاملات شما در سطح سیستم عامل پاسخ دهد، درست مانند یک هدف تلفن فیزیکی که با همان منبع سیستم عامل اندروید سفارشی یا خالص ساخته شده است.
شبیه ساز اندروید بر اساس استفاده از مواردی که توسعه برنامه را آسان می کند ساخته شده است و حاوی قلاب های کاربردی بسیاری است تا به موارد استفاده توسعه دهندگان برنامه اندروید جلب شود. اگر بخواهید یک شبیه ساز با فریم ورک اندروید سفارشی خود بسازید، ممکن است چالش هایی ایجاد کند. اگر به یک دستگاه مجازی نیاز دارید که نماینده پلتفرم / کد چارچوب سفارشی یا اندروید نوک درخت شما باشد، Cuttlefish یک گزینه مجازی ایده آل است. این دستگاه متعارف برای نمایش وضعیت فعلی توسعه AOSP است.
سگ ماهی و دستگاه فیزیکی
تفاوت اصلی بین دستگاه مجازی Cuttlefish و دستگاه فیزیکی شما در سطح لایه انتزاعی سخت افزاری (HAL) و همچنین هر نرم افزاری است که با هر سخت افزار سفارشی تعامل دارد. به جز پیادهسازیهای مخصوص سختافزار، باید انتظار رفتاری معادل عملکردی بین Cuttlefish و یک دستگاه فیزیکی داشته باشید.
چگونه سگ ماهی می تواند کمک کند؟
شما می توانید با Cuttlefish مانند هر دستگاه اندرویدی دیگری که ممکن است برای اشکال زدایی از آن استفاده کنید تعامل داشته باشید. خود را به عنوان یک دستگاه عادی از طریق adb ثبت می کند و شما می توانید مانند یک دستگاه فیزیکی از طریق دسکتاپ راه دور با آن تعامل داشته باشید. موارد استفاده گسترده هستند و می توانند آزمایش برنامه، آزمایش ساخت سیستم سفارشی و موارد دیگر را در بر گیرند.
از آنجایی که Cuttlefish برای وفاداری کامل چارچوب تلاش میکند، میتواند برای آزمایش عملکرد چارچوب یا برنامههای شما در جایی که هیچ وابستگی سختافزاری فیزیکی وجود ندارد که شبیهسازی آن غیرممکن باشد، استفاده شود.
امروزه معمولاً چگونه از ترد ماهی برای آزمایش استفاده می شود؟
برخی از کاربردهای متداول کوتل ماهی برای آزمایش عبارتند از:
- سی تی اس
- انطباق با چارچوب
- تست یکپارچه سازی مداوم
- مجموعه های تست سفارشی
آیا می توانم میزبان Cuttlefish در ابر باشم؟
بله، Cuttlefish به طور بومی از Google Cloud پشتیبانی می کند و پشتیبانی از سایر پلتفرم های ابری برنامه ریزی شده است.
شروع کنید
برای راهنمایی در مورد ایجاد نمونه Cuttlefish بر اساس AOSP، به استفاده از Cuttlefish مراجعه کنید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Cuttlefish virtual Android devices\n\n*Cuttlefish* is a configurable virtual Android device that can run both remotely\n(using third-party cloud offerings such as Google Cloud Engine) and locally (on\nLinux x86 and ARM64 machines).\n\nCuttlefish goals\n----------------\n\n- Free the platform and app developer from being dependent on physical hardware to develop and validate code changes.\n- Replicate the framework-based behavior of a real device with a focus on **high fidelity** by maintaining close alignment with the core framework.\n- Support all API levels after 28.\n- Provide a **consistent** level of functionality across API levels, aligned with the behavior on physical hardware.\n- Enable scale:\n\n - Provide the ability to run multiple devices in parallel.\n - Enable concurrent test execution with high fidelity at a lower cost of entry.\n- Provide a configurable device with the ability to adjust form factor, RAM,\n CPUs, etc.\n\nCompare Cuttlefish to other devices\n-----------------------------------\n\n### Cuttlefish and Android Emulator\n\nThere are many similarities with the [Android Emulator](/docs/setup/test/avd),\nbut Cuttlefish guarantees full fidelity with Android framework (whether this is\npure AOSP or a custom implementation in your own tree). In real-world\napplication, this means that you should expect Cuttlefish to respond to your\ninteractions at the OS level just like a physical phone target built with the\nsame customized or pure Android OS source.\n\nThe Android Emulator has been built around the use case of making app\ndevelopment easy, and it contains many functional hooks to appeal to the use\ncases of the Android app developer. This may present challenges if you want\nto build an emulator with your customized Android framework. If you need a\nvirtual device that will be representative of your custom platform/framework\ncode or tip-of-tree Android, then Cuttlefish is an ideal virtual option. It is\nthe canonical device for representing the current state of AOSP development.\n\n### Cuttlefish and physical device\n\nThe primary differences between a Cuttlefish virtual device and your physical\ndevice are at the hardware abstraction layer (HAL) level, as well as any\nsoftware that interacts with any custom hardware. Except for hardware-specific\nimplementations, you should expect functionally equivalent behavior between\nCuttlefish and a physical device.\n\nHow can Cuttlefish help?\n------------------------\n\nYou can interact with Cuttlefish just like you would with any other Android\ndevice that you might use for debugging. It will register itself as a normal\ndevice via adb and you can interact with it like a physical device via remote\ndesktop. The use cases are broad and can span app testing, custom system\nbuild testing and more.\n\nBecause Cuttlefish strives for full framework fidelity, it can be used for\nfunctional testing of your framework or apps where there are no\nphysical hardware dependencies that are impossible to emulate.\n\n### How is Cuttlefish commonly used for testing today?\n\nSome common applications of Cuttlefish for testing include:\n\n- CTS\n- Framework compliance\n- Continuous integration testing\n- Custom test suites\n\nCan I host Cuttlefish in the cloud?\n-----------------------------------\n\nYes, Cuttlefish natively supports Google Cloud and support for other cloud\nplatforms is planned.\n\nGet started\n-----------\n\nFor guidance on creating a Cuttlefish instance based on AOSP, see\n[Use Cuttlefish](/docs/devices/cuttlefish/get-started)."]]