অ্যান্ড্রয়েড স্টুডিওর সাথে অ্যান্ড্রয়েড এমুলেটর অন্তর্ভুক্ত থাকে।
এমুলেটরের 25.3.0-এর পূর্ববর্তী সংস্করণগুলো অ্যান্ড্রয়েড এসডিকে টুলস-এর অংশ হিসেবে বিতরণ করা হয়েছিল।
আপনার কাছে সর্বশেষ সংস্করণটি আছে কিনা তা নিশ্চিত করতে, আপডেটের জন্য এসডিকে ম্যানেজার (SDK Manager) দেখুন।
অ্যান্ড্রয়েড এমুলেটরের পূর্ববর্তী সংস্করণগুলো ডাউনলোড করতে, এমুলেটর ডাউনলোড আর্কাইভ দেখুন।
25.3.0-এর পূর্ববর্তী এমুলেটর সংস্করণগুলির রিলিজ নোটের জন্য, Android SDK Tools-এর রিলিজ নোট দেখুন।
অ্যান্ড্রয়েড এমুলেটরের সর্বশেষ সংস্করণগুলিতে কী কী সমস্যা সমাধান করা হয়েছে তা দেখতে, বন্ধ ইস্যুগুলি দেখুন।
পরিচিত সমস্যা এবং তার সমাধান জানতে, অনুগ্রহ করে এমুলেটর ট্রাবলশুটিং দেখুন।
৩৬.৬.১১ স্থিতিশীল (২ জুন, ২০২৬)
এপিআই ৩৭ থেকে শুরু করে, এভিডি-র ভিএম দ্বারা ব্যবহৃত সর্বনিম্ন মেমরি (র্যাম) বাড়িয়ে ৪ গিগাবাইট করা হয়েছে।
অ্যান্ড্রয়েড ১৭ (এপিআই ৩৭)-এর বর্ধিত মেমোরির চাহিদা মেটাতে, ফোনের অ্যান্ড্রয়েড ভার্চুয়াল ডিভাইস (এভিডি)-গুলোর জন্য এখন কঠোরভাবে ন্যূনতম ৪ জিবি র্যাম প্রয়োজন। যদি আপনার এভিডি এর চেয়ে কম মেমোরি দিয়ে কনফিগার করা থাকে, তাহলে এমুলেটরটি স্বয়ংক্রিয়ভাবে সেটিংটি ওভাররাইট করে কমপক্ষে ৪ জিবি মেমোরি বরাদ্দ করবে, যা সম্ভাব্য রানটাইম সমস্যা প্রতিরোধ করবে।
কনফিগারযোগ্য ভার্চুয়াল সিন ব্যাকগ্রাউন্ডের জন্য এমুলেটরে 'এনভায়রনমেন্ট' ক্যামেরা মোড যোগ করা হয়েছে। এই সিনগুলো AVD-এর environment.ini ফাইলে সংজ্ঞায়িত করা থাকে এবং রানটাইমে ডায়নামিকভাবে পুনরায় লোড করা যায়।
একটি বাগ সংশোধন করা হয়েছে যেখানে স্ন্যাপশট মুছে ফেলার পরেও স্ট্যান্ডঅ্যালোন এমুলেটরের স্ন্যাপশট প্রিভিউটি পরিষ্কার হচ্ছিল না।
[বাগ ফিক্স] সমস্যা #506475581: ২টির বেশি চ্যানেলযুক্ত (লুপব্যাক, মাল্টি-আউটপুট) অডিও ইন্টারফেস ব্যবহার করার সময় macOS-এ এমুলেটরের অডিও মারাত্মকভাবে বিকৃত হচ্ছিল।
[বাগ ফিক্স] ইস্যু #516455370: Hypervisor.framework API দ্বারা ব্যবহৃত রিসোর্স পরিষ্কার করার সাথে সম্পর্কিত, এমুলেটর বন্ধ করার সময় macOS 26.3-এ একটি গুরুতর মেমরি লিক সমাধান করা হয়েছে।
৩৬.৫.১১ প্যাচ (২৩ এপ্রিল, ২০২৬)
- [বাগ ফিক্স] সমস্যা #492228020: ইন্টেল জিপিইউ-তে হার্ডওয়্যার/অটো গ্রাফিক্স রেন্ডারিং ব্যবহার করার সময় অ্যান্ড্রয়েড এমুলেটর কালো স্ক্রিন প্রদর্শন করে।
৩৬.৫.১০ স্থিতিশীল (২ এপ্রিল, ২০২৬)
এই আপডেটে নিম্নলিখিত ফিচার ও বাগ ফিক্স অন্তর্ভুক্ত রয়েছে:
অ্যান্ড্রয়েড এমুলেটর দিয়ে একাধিক ডিভাইসের মধ্যে মিথস্ক্রিয়া পরীক্ষা করুন
অ্যান্ড্রয়েড এমুলেটরটিতে এখন একাধিক ডিভাইসে টেস্টিং উন্নত করার জন্য একটি নতুন নেটওয়ার্কিং স্ট্যাক যুক্ত করা হয়েছে, যা একই হোস্টে একাধিক AVD ইনস্ট্যান্স সংযোগ করার জন্য ম্যানুয়াল পোর্ট ফরওয়ার্ডিংয়ের প্রয়োজনীয়তা দূর করে। AVD-গুলো এখন একে অপরকে স্বয়ংক্রিয়ভাবে খুঁজে বের করতে এবং যোগাযোগ করতে পারে, যেন তারা একই ভার্চুয়াল নেটওয়ার্কে রয়েছে। এর ফলে Wi-Fi Direct এবং Network Service Discovery-এর মতো প্রোটোকল ব্যবহার করে পিয়ার-টু-পিয়ার ইন্টারঅ্যাকশনের নির্বিঘ্ন টেস্টিং করা সম্ভব হয়।
এই নতুন নেটওয়ার্কিং স্ট্যাকটি ডেভেলপারদের জন্য বেশ কিছু গুরুত্বপূর্ণ সুবিধা প্রদান করে:
- জিরো-কনফিগারেশন : ম্যানুয়াল পোর্ট ফরওয়ার্ডিং বা adb কমান্ড স্ক্রিপ্ট করার আর প্রয়োজন নেই।
- নির্বিঘ্ন পিয়ার-টু-পিয়ার : ওয়াই-ফাই ডিরেক্ট এবং নেটওয়ার্ক সার্ভিস ডিসকভারির মতো গুরুত্বপূর্ণ প্রোটোকলগুলো এমুলেটরগুলোর মধ্যে কোনো কনফিগারেশন ছাড়াই কাজ করে।
- উন্নত স্থিতিশীলতা : লিগ্যাসি স্ট্যাকে পাওয়া দীর্ঘদিনের স্থিতিশীলতার সমস্যা, যেমন ডেটা হারানো ( ইস্যু #150758736 ) এবং সংযোগ বিচ্ছিন্ন হওয়া ( ইস্যু #449817856 ) সমাধান করে।
শুরু করার জন্য, অ্যান্ড্রয়েড স্টুডিও এসডিকে ম্যানেজার-এ অ্যান্ড্রয়েড এমুলেটরের সর্বশেষ সংস্করণটি আপডেট করুন। আরও তথ্যের জন্য, ডকুমেন্টেশন এখানে রয়েছে।
অতিরিক্ত বৈশিষ্ট্য এবং ত্রুটি সংশোধন
পিক্সেল ১০, পিক্সেল ১০ প্রো, পিক্সেল ১০ প্রো এক্সএল এবং পিক্সেল ১০ প্রো ফোল্ড সহ নতুন পিক্সেল এভিডি যুক্ত করা হয়েছে।
ওয়েবক্যামগুলোকে ব্যবহারকারী-বান্ধব নামে তালিকাভুক্ত করুন এবং লিনাক্সের একটি সমস্যার সমাধান করুন যেখানে এমুলেটরটি সংযুক্ত সমস্ত ওয়েবক্যাম সনাক্ত করতে ও তালিকাভুক্ত করতে ব্যর্থ হতো।
[বাগ ফিক্স] ইস্যু #333628462: macOS-এ crashpad_handler প্রসেসটি অতিরিক্ত CPU ব্যবহার করত
৩৬.৪.১০ প্যাচ (৯ মার্চ, ২০২৬)
- [বাগ ফিক্স] ইস্যু #489369080 পান্ডা ২-এ আপডেট করার পর টিভি এমুলেটরে হোভার করার সময় ক্র্যাশ হওয়ার সমস্যা সমাধান করা হয়েছে।
৩৬.৪.৯ স্থিতিশীল (১০ ফেব্রুয়ারি, ২০২৬)
ইউজার ইন্টারফেসের মধ্যে GPU নির্বাচন প্রক্রিয়াকে আরও সহজ করার জন্য, অ্যান্ড্রয়েড এমুলেটরের বর্ধিত কন্ট্রোলে এখন নির্দিষ্ট হার্ডওয়্যার এবং সফটওয়্যার অপশন অন্তর্ভুক্ত করা হয়েছে। কমান্ড লাইন ব্যবহারকারীরা এখন তাদের সিস্টেমের জন্য সেরা উপলব্ধ GLES এবং Vulkan সফটওয়্যার রেন্ডারিং ব্যাকএন্ড নির্বাচন করতে '-gpu software' অপশনটি ব্যবহার করতে পারবেন।
সকল প্ল্যাটফর্মে Vulkan-এর সামঞ্জস্যতা উন্নত করার জন্য Lavapipe-কে ডিফল্ট গ্রাফিক্স সফটওয়্যার রেন্ডারার হিসেবে সক্রিয় করা হয়েছে।
ভলকান উন্নতি:
- এমুলেটরের সাথে আসা ভলকান লোডারটি আপডেট করা হয়েছে।
- ভুলকান ব্যাকএন্ডে বিভিন্ন অবৈধ ব্যবহারের ক্ষেত্র সংশোধন করা হয়েছে।
- নতুন সিস্টেম ইমেজগুলিতে গ্রাফিক্স কিউ এমুলেশনের সাথে সিস্টেমইউআই-তে SkiaVk ব্যবহারের জন্য সমর্থন যোগ করা হয়েছে।
- হোস্টে জিএল ব্যবহার নিষ্ক্রিয় করার জন্য ভলকান কম্পোজিশনের সমর্থন যোগ করা হয়েছে। এটি এক্সআর (XR) ইমেজগুলির জন্য ডিফল্টরূপে সক্রিয় থাকে এবং '-feature VulkanNativeSwapchain' কমান্ড লাইন অপশন ব্যবহার করে সক্রিয় করা যেতে পারে।
[বাগ ফিক্স] ইস্যু #471008659 অ্যাক্টিভিটি খোলা/বন্ধ করার সময় এমুলেটরের হোস্ট সাইডে মেমরি লিক
৩৬.৪.৩ ক্যানারি (৮ ডিসেম্বর, ২০২৫)
নতুন এআই চশমা এমুলেটর
আমরা Jetpack XR SDK for AI Glasses দিয়ে তৈরি অ্যাপ ডেভেলপ ও টেস্ট করার জন্য একটি নতুন, পরীক্ষামূলক AI Glasses এমুলেটর যুক্ত করেছি। আপনি একটি ফোন এমুলেটরের পাশাপাশি একটি গ্লাস এমুলেটরও চালাতে পারবেন, সেগুলোকে পেয়ার করতে পারবেন এবং চশমায় সাধারণত যে ধরনের ইন্টারঅ্যাকশন করা হয়, সেগুলোও করতে পারবেন। AI Glasses এমুলেটর ইনস্টল করা এবং আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করার তথ্যের জন্য "Creating Virtual AI Glasses Devices" অংশটি দেখুন।
এআই গ্লাসেস এমুলেটরটি একটি পরীক্ষামূলক টুল। বিশেষ করে ফোন এমুলেটরের সাথে গ্লাস পুনরায় পেয়ার করা এবং টাচপ্যাড ইউআই ইন্টারঅ্যাকশনের ক্ষেত্রে সমস্যা দেখা দিতে পারে।
নতুন এক্সআর গ্লাস এমুলেটর
আমরা পূর্বে চালু করা অ্যান্ড্রয়েড এক্সআর এমুলেটরটিকে ওএসটি (অপটিক্যাল সি থ্রু) এক্সআর গ্লাসের জন্য সম্প্রসারিত করেছি। আপনি এক্সআর গ্লাস এমুলেটরটি ব্যবহার করে এক্সআর গ্লাস ডিভাইসের আনুমানিক ফিল্ড অফ ভিউ (FOV) এবং রেজোলিউশনে আপনার অ্যাপের প্রিভিউ দেখতে পারেন। এক্সআর গ্লাস এমুলেটর ইনস্টল করা এবং আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করার বিষয়ে তথ্যের জন্য ‘ভার্চুয়াল এক্সআর গ্লাস ডিভাইস তৈরি করা’ অংশটি দেখুন।
এক্সআর গ্লাসেস এমুলেটর এবং এআই গ্লাসেস এমুলেটর হলো পরীক্ষামূলক টুল। বিশেষ করে কিছু উইন্ডোজ জিপিইউ এবং ড্রাইভার কনফিগারেশনে সমস্যা দেখা দিতে পারে ( উইন্ডোজ সিস্টেমের প্রয়োজনীয়তা দেখুন)।
পরিচিত সমস্যা
আপনার মতামত আমাদের উন্নতি করতে এবং ভবিষ্যতের ফিচারগুলোর অগ্রাধিকার নির্ধারণে দিকনির্দেশনা দিতে সাহায্য করবে। অ্যান্ড্রয়েড স্টুডিও বা অ্যান্ড্রয়েড এমুলেটর সম্পর্কিত বাগ রিপোর্ট করার তথ্যের জন্য ‘রিপোর্ট এ বাগ’ দেখুন।
৩৬.৩.১০ স্থিতিশীল (৪ ডিসেম্বর, ২০২৫)
[বাগ ফিক্স] ইস্যু #452843321: অ্যান্ড্রয়েড এপিআই ৩৪ এবং তার পরবর্তী সংস্করণগুলোতে এমুলেটরে বড় ফাইল পুশ করার সময় পারফরম্যান্সের অবনতি।
জিপিইউ টেক্সচার মোডে ভিডিও কোডেক চলার সময় ভলকান কম্পোজিশন ক্র্যাশের সমস্যা সমাধান করা হয়েছে।
-debug-events সহ চালানোর সময় টাচস্ক্রিন ইভেন্টে এমুলেটর ক্র্যাশ হওয়ার সমস্যা সমাধান করুন।
৩৬.২.১২ প্যাচ (১৩ অক্টোবর, ২০২৫)
- সফটওয়্যার রেন্ডারিং মোডে ভলকান অ্যাপ চালু করার সময় উইন্ডোজে যে ক্র্যাশ ঘটত, তার সমাধান করা হয়েছে।
৩৬.২.১১ স্থিতিশীল (৯ অক্টোবর, ২০২৫)
এমুলেটর থেকে HAXM সাপোর্ট সরিয়ে ফেলা হয়েছে। আপনি যদি HAXM দিয়ে একটি AVD তৈরি করার চেষ্টা করেন, তাহলে একটি ব্যানার দেখতে পাবেন যেখানে একটি হাইপারভাইজর অনুপস্থিত থাকার কথা জানানো হবে এবং AEHD ইনস্টল করার জন্য একটি অ্যাকশন লিঙ্ক থাকবে।
HAXM আনইনস্টল করার তথ্যের জন্য, HAXM আনইনস্টল দেখুন।ড্রাইভার ক্র্যাশ এড়াতে ইন্টেল জিপিইউ যাতে OpenGL ES 3.0 ব্যবহার করে, তা নিশ্চিত করার সমাধান।
[বাগ ফিক্স] সমস্যা #340322888 ডিভাইসে খালি জায়গা না থাকলে AVD চালু করা যাচ্ছিল না
[বাগ ফিক্স] ইস্যু #150758736 এমুলেটরে TCP সংযোগে মাঝে মাঝে একক-বাইট ডেটা হারিয়ে যাওয়া
[বাগ ফিক্স] ইস্যু #434774381: i7-11850H-এ WHPX ব্যবহার করে Windows 11-এ API 36 এবং 35 (সম্ভবত আরও) এর জন্য কুইক বুটের পরে গেস্ট কার্নেল ক্র্যাশ করছিল।
৩৬.১.৯ স্থিতিশীল (৩১ জুলাই, ২০২৫)
[বাগ ফিক্স] সমস্যা #419157428 ইউজারনেম বা AVD পাথে UTF-8 ক্যারেক্টার থাকলে এমুলেটর চালু হতে বাধা সৃষ্টি হতে পারতো।
[ত্রুটি সংশোধন] সমস্যা #423670833: btrfs ফাইল সিস্টেমে অ্যান্ড্রয়েড এমুলেটর ক্র্যাশ করে
দ্রষ্টব্য: আপনি যদি X11-এ এমুলেটর চালু করতে সমস্যা অনুভব করেন, তাহলে সফটওয়্যার রেন্ডারিং ব্যবহার করার কথা বিবেচনা করুন। সফটওয়্যার রেন্ডারিং কীভাবে কনফিগার করতে হয়, তা জানতে ‘গ্রাফিক্স অ্যাক্সিলারেশন কনফিগার করুন’ দেখুন।
৩৫.৬.১১ স্থিতিশীল (২৪ জুন, ২০২৫)
XR এমুলেশনের জন্য Windows এবং Linux-এ AMD ও Nvidia GPU সাপোর্ট উন্নত করা হয়েছে।
উইন্ডোজে চালিত অ্যান্ড্রয়েড স্টুডিওতে এক্সআর এভিডি এমবেডেড হিসেবে চালানো যায়।
এমুলেটরের সম্পূর্ণ ডাম্প সক্ষম করার জন্য উইন্ডোজে ক্র্যাশ রিপোর্টের বিবরণের উন্নতি।
[ত্রুটি সংশোধন] সমস্যা #410485043: ভলকান ত্রুটির কারণে অ্যান্ড্রয়েড এমুলেটর XR ডিভাইস ক্র্যাশ করছে
[বাগ ফিক্স] ইস্যু #388718417: libndk_translation.so অ্যাবোর্ট করে এবং Arm64AesEncode-এ ক্র্যাশ ঘটায়।
৩৫.৫.১০ স্থিতিশীল (৬ মে, ২০২৫)
অতিরিক্ত সিপিইউ সামঞ্জস্যতা যাচাইয়ের সাথে ত্রুটি বার্তা যুক্ত করা হয়েছে (যেমন: ডিস্কে অপর্যাপ্ত জায়গা)।
ভুলকান মেমরি ম্যানেজমেন্ট এবং অবৈধ ব্যবহারের ক্ষেত্র সম্পর্কিত বাগগুলি সংশোধন করা হয়েছে।
টার্মিনালে চালানোর সময় ভলকান স্ন্যাপশট সাপোর্ট সঠিকভাবে চেক এবং স্কিপ করা হয়।
VK_KHR_multiview এক্সটেনশন এবং A1R5G5B5 টেক্সচার ফরম্যাটের জন্য সমর্থন যোগ করা হয়েছে।
পিক্সেল 9a AVD যোগ করা হয়েছে
৩৫.৪.৯ স্থিতিশীল (২৫ ফেব্রুয়ারি, ২০২৫)
গেস্ট GLES ড্রাইভারের পছন্দ নির্ধারণের জন্য বর্ধিত নিয়ন্ত্রণে একটি ড্রপ-ডাউন মেনু যোগ করা হয়েছে।
[বাগ ফিক্স] সমস্যা #389330750: Ñ অক্ষর সহ এমুলেটরে এসএমএস পাঠালে বার্তাটি বিভক্ত হয়ে যায়।
[বাগ ফিক্স] ইস্যু #382180488: কোনো ভলকান ডিভাইস শনাক্ত না হওয়ায় "emuglConfig_get_vulkan_hardware_gpu_support_info" ফাংশনটি ক্র্যাশ করছিল।
দ্রষ্টব্য: অ্যান্ড্রয়েড এক্সআর এমুলেটর শুধুমাত্র স্টুডিও-এর ক্যানারি সংস্করণগুলিতে উপলব্ধ।
৩৫.৩.১১ স্থিতিশীল (৯ জানুয়ারি, ২০২৫)
[ত্রুটি সংশোধন] সমস্যা #368059211: কার সার্ভিস এপিআই ব্যবহার করে অ্যান্ড্রয়েড অটো ওএস-এর VHAL-এ প্রোগ্রাম্যাটিক অ্যাক্সেস কাজ করছিল না
[বাগ ফিক্স] ইস্যু #348598513: এমুলেটরের একটি মাল্টি-থ্রেডেড লকের মধ্যে অপ্রয়োজনীয় থ্রেড-আনসেফ পাবলিক মেথড ছিল।
[বাগ ফিক্স] ইস্যু #356896486 -feature -Vulkan দিয়ে চালানোর সময় Vulkan API কলগুলো সত্যিই নিষ্ক্রিয় করা
৩৫.৪.৪ ক্যানারি (১২ ডিসেম্বর, ২০২৪)
নতুন অ্যান্ড্রয়েড এক্সআর এমুলেটর
হেডসেটের জন্য Jetpack XR SDK দিয়ে তৈরি অ্যাপ ডেভেলপ ও টেস্ট করার উদ্দেশ্যে আমরা একটি নতুন, পরীক্ষামূলক Android XR এমুলেটর যুক্ত করেছি। Android XR এমুলেটর ইনস্টল করা এবং আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করার বিষয়ে তথ্যের জন্য Jetpack XR SDK Setup দেখুন।
অ্যান্ড্রয়েড এক্সআর এমুলেটরটি একটি পরীক্ষামূলক টুল। তবুও আমরা এটি আপনাদের সাথে আগেভাগেই শেয়ার করার সিদ্ধান্ত নিয়েছি, যাতে আপনারা শুরুতেই এটি পরীক্ষা করতে পারেন। বিশেষ করে কিছু উইন্ডোজ জিপিইউ এবং ড্রাইভার কনফিগারেশনে সমস্যা দেখা দিতে পারে। বিদ্যমান ২ডি মোবাইল অ্যাপগুলোর সামঞ্জস্যতা পরীক্ষার ক্ষেত্রেও সমস্যা দেখা দিতে পারে। আপনাদের মতামত আমাদের উন্নতি করতে এবং ভবিষ্যতের ফিচারগুলোর অগ্রাধিকার নির্ধারণে সহায়তা করবে।
এখন পর্যন্ত অ্যান্ড্রয়েড এক্সআর এমুলেটরটি নিম্নলিখিত হার্ডওয়্যার কনফিগারেশনগুলিতে পরীক্ষা করা হয়েছে:
- ম্যাক (এআরএম)
- উইন্ডোজ ১১
- এনভিডিয়া জিপিইউ, ৪ জিবি ভিআরএএম, ড্রাইভার ভার্সন ৫৫৩.৩৫ বা তার পরবর্তী
- ১৬ জিবি বা তার বেশি র্যাম
- ৮ বা তার বেশি কোর
পরিচিত সমস্যা
এমুলেটর - স্থিতিশীলতা এবং কর্মক্ষমতা:
- কিছু উইন্ডোজ কনফিগারেশনে বুট করার সময় বা অ্যাপ্লিকেশন চালানোর সময় গুরুতর সিস্টেম লক বা ক্র্যাশ হতে পারে। অনুগ্রহ করে অ্যান্ড্রয়েড স্টুডিও ডেভেলপারস গাইড অনুসরণ করে উইন্ডোজ হাইপারভাইজর প্ল্যাটফর্ম (WHPX) সক্রিয় করুন।
- সাসপেন্ড-রিজিউম চক্রের পর (যেমন ল্যাপটপ বন্ধ করে আবার খোলার পর) ল্যাপটপের এভিডি বা ইউআই এলিমেন্টগুলো সাড়া না দেওয়ার মতো সমস্যা।
- 'হোম স্ক্রিন মোড' থেকে 'ফুল স্ক্রিন মোড'-এ অ্যাপ্লিকেশন পরিবর্তন করার সময় মাঝে মাঝে ক্র্যাশ করে।
- জেমিনি এপিআই এখনও উপলব্ধ নয়; জেমিনি এপিআই স্টার্টার টেমপ্লেট অ্যাপটি ক্র্যাশ করবে।
এমুলেটর - ইনপুট এবং আউটপুট অনুকরণ:
- অনুসন্ধান এবং সম্পাদনা ক্ষেত্রের ভার্চুয়াল কীপ্যাড দৃশ্যমান পরিসরে কেবল আংশিকভাবে দৃশ্যমান হতে পারে।
মাউস এবং কীবোর্ড ব্যবহার করে এলিমেন্টগুলোকে z-অক্ষ বরাবর (স্ক্রিনের ভেতরে ও বাইরে) সরানো যায় না।
AVD মাইক্রোফোন হোস্ট অডিও ইনপুটের অস্থিতিশীলতার ফলে AVD রিবুট এবং ক্র্যাশ হতে পারে।
মাঝে মাঝে শব্দে স্ট্যাটিক থাকে বা তা বিকৃত হয়।
ক্যামেরাটি ভার্চুয়াল লিভিং রুমের বাইরে সরানো হলে রেন্ডারিং ত্রুটি দেখা যায়।
উইন্ডোজ কনফিগারেশনে রংগুলো স্বাভাবিকের চেয়ে গাঢ় দেখায়।
macOS-এ এমুলেটর নিষ্ক্রিয় রেখে স্ক্রিন লক করলে অডিও আর কাজ করে না। (এমুলেটরটি রিস্টার্ট করলে এটি ঠিক হয়ে যায়।)
হোস্ট মেশিন ওয়াই-ফাই পরিবর্তন করলে নেটওয়ার্ক সংযোগ বিচ্ছিন্ন হয়ে যায়।
ক্যাপস লক চালু থাকলেও ছোট হাতের অক্ষর টাইপ হয়।
ম্যাকের ট্র্যাকপ্যাড ব্যবহার করে স্ক্রোল করা মসৃণ নয়।
কিছু UI এলিমেন্টে ক্লিক-এন্ড-ড্র্যাগ স্ক্রলিং ডিজাইনগতভাবেই কাজ নাও করতে পারে। সেক্ষেত্রে, স্ক্রল করার জন্য মাউস হুইল ব্যবহার করুন।
কিছু উইন্ডোজ সিস্টেম কনফিগারেশনে ক্রোমে ঝাপসা লেখা, ইউআই এবং অন্যান্য ত্রুটি দেখা যায়। সম্ভাব্য সমাধান: WHP সক্রিয় করা ।
এমুলেটর - প্লেন এবং অ্যাঙ্করের সিমুলেশন:
- মাঝে মাঝে অ্যাঙ্করগুলো একই জায়গার কাছাকাছি পুনরায় তৈরি হয় না।
- চলনযোগ্য কাঁচের ফলকগুলো দেয়াল বা ছাদে আটকানো নাও যেতে পারে।
- পাসথ্রু মোডে সিমুলেটেড প্লেনগুলো 3D রুমের বাস্তব বিন্যাসের সাথে মেলে না।
- ভার্চুয়াল রুমে বস্তু নোঙর করার জন্য সামগ্রিকভাবে সীমিত জায়গা রয়েছে।
- উইন্ডোজের পাসথ্রু ভিউতে একটি ছোট দৃশ্যমান ত্রুটি।
- কিছু ক্ষেত্রে, অ্যাঙ্কর স্থাপন করলে অ্যাপটি ক্র্যাশ করতে পারে।
- উইন্ডোজে অ্যাপগুলোকে মাটির কাছাকাছি সরালে সেগুলোর উপরে কালো রেখা দেখা যেতে পারে।
এমুলেটর - অন্যান্য:
- এমুলেটর শুধুমাত্র 'স্ট্যান্ডঅ্যালোন' মোডে চালু হয়। 'এমবেডেড' মোড (এমবেডেড ইউআই) এখনও সমর্থিত নয়।
- উইন্ডোজে এমুলেটরে অ্যাকাউন্ট দিয়ে লগ ইন করলে এমুলেটরটি কাজ করা বন্ধ করে দিতে পারে।
- আকার পরিবর্তনের পর উইন্ডোর UI কন্টেন্ট অদৃশ্য হয়ে যেতে পারে (সমাধান: "হোম" বোতাম চাপা)
- JXRCore ActivityPanelTest অ্যাপে সেকেন্ডারি প্যানেলটি প্রাথমিকভাবে প্রদর্শিত হয় না।
- দীর্ঘ সময় পর সিস্টেম সেটিংস থেকে কুইক সেটিংস আইটেমগুলো অদৃশ্য হয়ে যেতে পারে।
- প্রাথমিকভাবে এমুলেটরের ইউজার ইন্টারফেস (UI) স্ক্রিনের বাইরে প্রদর্শিত হতে পারে। যদি এমন হয়, তবে এমুলেটর উইন্ডোর আকার সামান্য সমন্বয় করুন, তাহলে এটি আবার সঠিক জায়গায় ফিরে আসবে।
- উইন্ডোজে ক্রোম রিমোট ডেস্কটপ ব্যবহার করার সময় এমুলেটর চালু নাও হতে পারে।
- এমুলেটরে এখনও পর্যন্ত OpenXR সমর্থিত নয় এবং OpenXR অ্যাপগুলো এমুলেটরটিকে ক্র্যাশ করে দিতে পারে।
- উইন্ডোজে অ্যান্ড্রয়েড স্টুডিও এক্সটেন্ডেড সেটিংস ব্যবহার করে বাগ রিপোর্ট জমা দেওয়ার চেষ্টা করার সময় বিরল ব্যর্থতা।
- ম্যাকে সেটিংস অ্যাপে "ফিরে যাওয়ার" আইকনটি কার্সর এর কাছাকাছি না আনা পর্যন্ত সঠিকভাবে দেখা যায় না।
- কোনো কোনো ক্ষেত্রে, একটি XR টেমপ্লেট প্রজেক্টের অংশ হিসেবে "বেসলাইন প্রোফাইল" মডিউলটি ব্যবহার করলে বিল্ড করার সময় ত্রুটি দেখা দিতে পারে।
- "XR Talkback"-এর অ্যাক্সেসিবিলিটি এখন পর্যন্ত এমুলেটরে শুধুমাত্র আংশিকভাবে সমন্বিত করা হয়েছে।
দৃশ্য প্রদর্শক অ্যাপ:
- সিন ভিউয়ারের মধ্যে এলিমেন্ট নাড়াচাড়া করলে এটি ক্র্যাশ করতে পারে। এই সমস্যা এড়ানোর জন্য, এলিমেন্টটি সরানোর চেষ্টা করার আগে হেডের অবস্থান তার প্রাথমিক অবস্থান থেকে সামান্য সরিয়ে নিন (যেমন প্যান, ডলি, WASD ইত্যাদি ব্যবহার করে)।
- ৩ডি মডেলের আসল মাপ স্কেলের সর্বনিম্ন ও সর্বোচ্চ সীমার (যা বর্তমানে যথাক্রমে ২০ সেমি এবং ৭০ মিটার নির্ধারণ করা আছে) চেয়ে কম বা বেশি হলে ১:১ আসল মাপের বৈশিষ্ট্যটি সঠিকভাবে কাজ করবে না।
- লোড হওয়ার পর প্রথম ফ্রেমে থ্রিডি মডেলটি লাফিয়ে উঠতে পারে।
৩৫.২.১০ (১ অক্টোবর, ২০২৪)
- Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, এবং Pixel 9 Pro Fold সহ নতুন Pixel AVD যোগ করা হয়েছে।
- ভ্যানিলা আইসক্রিমের জন্য নতুন ট্যাবলেট সিস্টেম ইমেজ (এপিআই ৩৫) যোগ করা হয়েছে।
৩৫.১.২০ (২৯ আগস্ট, ২০২৪)
- পিক্সেল 8a AVD যোগ করা হয়েছে
- ফোল্ডেবলের জন্য বিভিন্ন বাগ ফিক্স
- Qt আপডেট এবং Qt সম্পর্কিত ক্র্যাশ ও হ্যাং সমস্যার সমাধান
- [বাগ ফিক্স] ভলকান ব্যবহারকারী অ্যাপ্লিকেশনগুলিতে উইন্ডোজে ক্র্যাশ এবং ফ্রিজ সমস্যার সমাধান।
৩৪.২.১৬ (৯ জুলাই, ২০২৪)
- [ত্রুটি সংশোধন] পিক্সেল ফোল্ড ব্যবহার করে ফোল্ড/আনফোল্ড করার সময় UI ফ্রিজ হয়ে যাওয়ার সমস্যা।
- [ত্রুটি সংশোধন] ম্যাক এম১-এ অ্যান্ড্রয়েড সংস্করণটি এপিআই ৩৫-এর পরিবর্তে অ্যান্ড্রয়েড ভ্যানিলা আইসক্রিম প্রিভিউ হিসেবে ভুলভাবে প্রদর্শিত হচ্ছিল।
- [ত্রুটি সংশোধন] সমস্যা #296162661 : পিক্সেল সি ট্যাবলেট এমুলেটরে HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE ট্রু রিটার্ন করে
৩৪.২.১৫ (৩১শে মে, ২০২৪)
- সোয়াঙ্গল মোড সম্পর্কিত বিভিন্ন ক্র্যাশ ফিক্স এবং অ্যাডভার্টাইজার ক্লিনআপ
৩৪.২.১৪ (২০ মে, ২০২৪)
অ্যান্ড্রয়েড স্টুডিও জেলিফিশ স্টেবল প্যাচ ১ দিয়ে পরীক্ষা করা হয়েছে।
- [ত্রুটি সংশোধন] এমবেডেড এমুলেটরে স্ন্যাপশট মাঝে মাঝে আটকে যায়
- [ত্রুটি সংশোধন] স্ন্যাপশটে 'না' এবং 'বাতিল' বাটনগুলো সঠিকভাবে কাজ করছিল না
- [ত্রুটি সংশোধন] ডিরেকশনাল প্যাডের বাটনগুলো কাজ করছে না
- [বাগ ফিক্স] উইন্ডোজে দেখা যাওয়া একটি সমস্যার সমাধান করা হয়েছে, যেখানে ANGLE সহ GPU মোড ব্যবহার করার সময় কিছু ক্ষেত্রে এমুলেটর চালু হতে পারছিল না এবং লগে “Failed to initialize GL emulation” ত্রুটি বার্তাটি দেখাচ্ছিল। উল্লেখ্য যে, এই সংস্করণে কমান্ড লাইন থেকে
-gpu swangle_indirectঅপশনটি ব্যবহার করে এমুলেটর চালু করার চেষ্টা করলেও এই ত্রুটিটি দেখা দিতে পারে। আপনি যদি এই সংস্করণে সফটওয়্যার গ্রাফিক্স রেন্ডারিং সহ উইন্ডোজে কমান্ড লাইন ব্যবহার করে এমুলেটর চালু করতে চান, তবে অনুগ্রহ করে-gpu swiftshader_indirectব্যবহার করুন। - [ত্রুটি সংশোধন] কীবোর্ডের লোকেশন শর্টকাট একটি অব্যবহারযোগ্য মানচিত্র লোড করে।
- [ত্রুটি সংশোধন] অবস্থান নির্ধারণ করার সময়, "রুট সংরক্ষণ করুন" ডায়ালগটি অনুপস্থিত ছিল
৩৪.২.১৩ (৩০শে এপ্রিল, ২০২৪)
Android Studio Jellyfish Stable দিয়ে পরীক্ষা করা হয়েছে।
- Qt 6.5.3-এ আপডেট করুন
- এমুলেটরের এক্সটেন্ডেড কন্ট্রোলস-এর লোকেশন ফিচারগুলিতে ব্যবহৃত গুগল ম্যাপস এপিআই আপডেটের সামঞ্জস্যতা, যা মে মাসের শেষে কার্যকর হবে।
- উচ্চ প্রভাব ক্র্যাশ সমাধান
- পিক্সেল এভিডি-র বিভিন্ন সমাধান
- সফটওয়্যার রেন্ডারিংয়ের জন্য ব্যবহৃত গ্রাফিক্স লাইব্রেরি আপডেট করুন।
- [বাগ ফিক্স] সমস্যা ২২৫৫৪১৮১৯ : x86_64-এ ক্রোম চালু করলে এমুলেটর ক্র্যাশ করে।
- [ত্রুটি সংশোধন] সমস্যা ৩১৪৬১৪৪৩৫
-http-proxyসুইচটি ভুলভাবে পার্স করা হচ্ছে
৩৪.১.২০ (১ এপ্রিল, ২০২৪)
Android Studio Iguana Stable দিয়ে পরীক্ষা করা হয়েছে।
- [বাগ ফিক্স] ইস্যু #314614435 :
-http-proxyসুইচটি ভুলভাবে পার্স হওয়ার সমস্যাটির সমাধান করা হয়েছে
৩৪.১.১৯ (৭ মার্চ, ২০২৪)
Android Studio Iguana Stable দিয়ে পরীক্ষা করা হয়েছে।
- [ত্রুটি সংশোধন] সমস্যা #312677259 : উইন্ডোর আকার পরিবর্তনের পর এমবেডেড এমুলেটরে স্ক্রিন ফ্রিজ হওয়ার সমস্যাটি সমাধান করা হয়েছে।
৩৪.১.১৮ (২৯ ফেব্রুয়ারি, ২০২৪)
Android Studio Iguana Stable দিয়ে পরীক্ষা করা হয়েছে।
- এমুলেটরে নিম্নলিখিত ডিভাইসগুলি যুক্ত করা হয়েছে:
- পিক্সেল ফোল্ড
- পিক্সেল ট্যাবলেট
- পিক্সেল ৮
- পিক্সেল ৮ প্রো
- পিক্সেল 7a
- gRPC ইন্টিগ্রেশন টেস্ট: এমুলেটরের ভিতরে চলমান ইন্সট্রুমেন্টেড টেস্টগুলির জন্য এখন gRPC এন্ডপয়েন্টগুলি উপলব্ধ, যা বাস্তবসম্মত সিনারিও পরীক্ষা করতে সক্ষম করবে। এই বৈশিষ্ট্যটি ডেভেলপারদের অ্যান্ড্রয়েড ইন্সট্রুমেন্টেশন টেস্টের ভেতর থেকে অ্যান্ড্রয়েড এমুলেটর দ্বারা হোস্ট করা gRPC এন্ডপয়েন্টের সাথে নিরাপদে ইন্টারঅ্যাক্ট করতে সক্ষম করে।
- বিভিন্ন বাগ সংশোধন
- ত্রুটি সংশোধন : ফোল্ড ডিভাইসের ব্যবহারযোগ্যতার উন্নতি
- ত্রুটি সংশোধন : ঘূর্ণনের পর এমুলেটরের অবস্থান সামঞ্জস্য করা
- ক্র্যাশ ফিক্স
৩৩.১.২৪ (২৮ ডিসেম্বর, ২০২৩)
Android Studio Hedgehog Stable এবং Iguana Beta 1 দিয়ে পরীক্ষা করা হয়েছে।
- এমুলেটরের ওয়েবক্যামের সেই সমস্যাটি সমাধান করুন, যার কারণে mp4 ফরম্যাটে স্ক্রিন রেকর্ড করা যাচ্ছিল না।
- স্ক্রিন রেকর্ডিং চলাকালীন পিক্সেল ফোল্ড এভিডি খোলা হলে এমুলেটর ক্র্যাশ হওয়ার সমস্যাটি সমাধান করা হয়েছে।
- যে সমস্যার কারণে কীবোর্ড আলাদা হয়ে গেলে পিক্সেল ফোল্ড ফোনটি অন্য একটি স্কিন দেখাতো এবং ব্যবহার করা যেত না, সেই সমস্যার সমাধান করা হয়েছে (উইন্ডোজ, ম্যাক ইন্টেল এবং লিনাক্সে সমাধান করা হয়েছে)।
- স্ট্যান্ডঅ্যালোন মোডে ভার্চুয়াল সেন্সর প্রদর্শনের ত্রুটি সংশোধন করা হয়েছে (উইন্ডোজ, ম্যাক ইন্টেল এবং লিনাক্সে সমাধান করা হয়েছে)
- কিছু ক্র্যাশের সমাধান দেওয়া হয়েছে, বিশেষ করে এমুলেটর বন্ধ করার সময় হওয়া ক্র্যাশগুলো।
৩৩.১.২৩ (৩০ নভেম্বর, ২০২৩)
অ্যান্ড্রয়েড স্টুডিও জিরাফ প্যাচ ৪ এবং হেজহগ স্টেবল দিয়ে পরীক্ষা করা হয়েছে।
- পিক্সেল ফোল্ড ডিভাইসকে আরও ভালোভাবে অনুকরণ করার জন্য নতুন ফোল্ডেবল বাস্তবায়ন, যা সর্বশেষ এপিআই ৩৪ (API 34) দিয়ে কাজ করে।
- গ্রাফিক্স ব্যাকএন্ড আপগ্রেড: আমরা আমাদের গ্রাফিক্স ব্যাকএন্ডের জন্য gfxstream প্রোটোকল প্রয়োগ করেছি। এই উন্নতি আপনার সিস্টেমের সামগ্রিক গ্রাফিক্স পারফরম্যান্স এবং স্থিতিশীলতা বৃদ্ধি করে। এছাড়াও, API 34 সহ সিস্টেম ইমেজ থেকে Vulkan 1.3 সাপোর্ট চালু করা হয়েছে।
- ফিচার অনুরোধ : পিঞ্চ-টু-জুম জেসচার নিষ্ক্রিয় করার বা এর হটকি পুনরায় নির্ধারণ করার বিকল্প।
- [বাগ ফিক্স] ইস্যু #302562962 ম্যাকওএস সোনোমা ব্যবহার করার সময় এমুলেটর ওয়েবক্যাম ক্র্যাশের সমাধান করা হয়েছে
- [বাগ ফিক্স] ইস্যু #293503871: এমুলেটর পুনরায় চালু করলে 'মাইক্রোফোন' সেটিং সংরক্ষিত না হওয়ার সমস্যার সমাধান করা হয়েছে।
- [বাগ ফিক্স] ইস্যু #270386314: অ্যানিমেশন ত্রুটি সংশোধন করা হয়েছে যেখানে AVD স্ক্রিন মিনিমাইজ করার পরেও সাইডবার খোলা থাকতো।
- [বাগ ফিক্স] ইস্যু #154896775 বাগ জমা দেওয়ার টুলের সংশোধন
৩২.১.১৫ (২৯ আগস্ট, ২০২৩)
Android Studio Giraffe Patch 1 এবং Hedgehog Canary 16 দিয়ে পরীক্ষা করা হয়েছে।
- AAE এমুলেটরে সেন্সরগুলির জন্য GAS HW প্রয়োজনীয়তাগুলি মেনে চলুন।
- [বাগ ফিক্স] ইস্যু #266201208 এপিআই 33-এ হিব্রু এসএমএস পাঠানো যাচ্ছে না
- [বাগ ফিক্স] ইস্যু #257097404: API 29 এবং 30-এ হোস্টকে জাগিয়ে তোলার পর এমুলেটর সঠিক সময় দেখায় না।
- [বাগ ফিক্স] ইস্যু #228201899 অ্যান্ড্রয়েড এমুলেটর এক্সটেন্ডেড কন্ট্রোলস-এর ভিতরে গুগল ম্যাপস দেখা যাচ্ছে না
৩২.১.১৪ (২৭ জুন, ২০২৩)
Android Studio Hedgehog Canary 8, Giraffe Beta 5, এবং Flamingo Stable-এ পরীক্ষা করা হয়েছে।
- এমুলেটরের ক্যামেরার অভিমুখ ও বিকৃতি ঠিক করুন।
- [বাগ ফিক্স] ইস্যু #257097404 "হোস্ট জেগে ওঠার পর এমুলেটর সঠিক সময় দেখায় না"। এই বাগটি এখনও API 29 এবং API 30-এর জন্য পুনরায় তৈরি করা সম্ভব।
- [বাগ ফিক্স] ইস্যু #243456582 "API 30-এর পরবর্তী অ্যান্ড্রয়েড রিলিজগুলো Mac M1 মেশিনের এমুলেটরে সঠিকভাবে চালু নাও হতে পারে"
৩২.১.১৩ (২২শে মে, ২০২৩)
Android Studio Hedgehog Canary 2, Giraffe Beta 1, এবং Flamingo Stable-এর সাথে পরীক্ষা করা হয়েছে।
- পিক্সেল ফোল্ড এবং পিক্সেল ট্যাবলেট এভিডি-র জন্য সমর্থন যোগ করুন।
- gLinux ক্র্যাশ সমস্যার সমাধান করুন।
- [বাগ ফিক্স] ইস্যু #215231636 "ইন্টেল ১২তম প্রজন্মের প্রসেসরে এপিআই ৩০-এর উপরের এপিআই সহ এমুলেটর কাজ করছে না"।
- [বাগ ফিক্স] ইস্যু #275397905 অ্যান্ড্রয়েড এমুলেটর M1-এ বারবার কার্সার ফোকাস এমুলেটরের ভিতরে ও বাইরে আনা-নেওয়ার সময় উচ্চ-স্তরের ক্র্যাশ।
- নতুন কোনো এমুলেটরের ক্র্যাশ রিপোর্ট থাকলে AVD চালু করার ক্ষেত্রে একটি জ্ঞাত সমস্যা রয়েছে। আরও তথ্যের জন্য এমুলেটর ট্রাবলশুটিং দেখুন।
৩২.১.১২ (২১শে মার্চ, ২০২৩)
Android Studio Giraffe Canary 10, Flamingo RC, এবং Electric Eel Patch 2 দিয়ে পরীক্ষা করা হয়েছে।
- [বাগ ফিক্স] ইস্যু #267647323: অ্যান্ড্রয়েড স্টুডিও থেকে চালু করা এমুলেটরে নেটওয়ার্ক কাজ করে না।
- [বাগ ফিক্স] ইস্যু #268498686 এমুলেটর স্ক্রিন কাঁপছে
- [বাগ ফিক্স] ইস্যু #270034824: সংস্করণ 33.1.1-এ আপডেট করার পর এমুলেটরের পারফরম্যান্স হ্রাস পেয়েছিল।
- [ত্রুটি সংশোধন] সমস্যা #225541819 : x86_64 সিস্টেমে ক্রোম চালু করলে এমুলেটর ক্র্যাশ করে।
- [বাগ ফিক্স] ইস্যু #257097404 হোস্টকে জাগিয়ে তোলার পর এমুলেটর সঠিক সময় দেখায় না
- অ্যাপল এম১ ডিভাইসগুলির জন্য ক্র্যাশ রিপোর্টিং যোগ করুন
৩২.১.১১ (৮ ফেব্রুয়ারি, ২০২৩)
Android Studio Giraffe Canary 2, Flamingo Beta 1, এবং Electric Eel Patch 1 দিয়ে পরীক্ষা করা হয়েছে।
- নেটওয়ার্ক গতি অপ্টিমাইজেশন
- এমবেডেড এমুলেটরে মাউস সাপোর্ট
- Virtio-snd উন্নতি
- ইনস্টলেশনের সময় অ্যান্ড্রয়েড এমুলেটর আনজিপ করার সময় সিমলিংকের ব্যবহার নিষ্ক্রিয় করুন।
- এমুলেটর-চেক-এ ক্র্যাশ ঠিক করুন
৩১.৩.১৪ (১৩ ডিসেম্বর, ২০২২)
Android Studio Dolphin, Electric Eel RC1, এবং Flamingo Canary 9 দিয়ে পরীক্ষা করা হয়েছে।
- [ত্রুটি সংশোধন] প্লে স্টোরে লগ ইন করার সময় AVD ক্র্যাশ হওয়ার সমস্যাটি সমাধান করা হয়েছে।
৩১.৩.১৩ (২৭ অক্টোবর, ২০২২)
Android Studio Dolphin, Electric Eel Beta 2, এবং Flamingo Canary 5 দিয়ে পরীক্ষা করা হয়েছে।
- [ত্রুটি সংশোধন] সমস্যা #249948338: টাইম জোন প্যারামিটার কাজ করছে না
- [বাগ ফিক্স] ইস্যু #249366543: API 31 এর পরে Emulator -dns-server অপশনটি কাজ করে না
৩১.৩.১২ (১০ অক্টোবর, ২০২২)
অ্যান্ড্রয়েড স্টুডিও ডলফিন এবং ইলেকট্রিক ইল বিটা ১ দিয়ে পরীক্ষা করা হয়েছে।
এই আপডেটে নিম্নলিখিত উন্নতি ও সংশোধনগুলো অন্তর্ভুক্ত করা হয়েছে:
- [বাগ ফিক্স] ইস্যু #247843000: AVD রিলেটিভ পাথ হ্যান্ডলিং ত্রুটি
- API 24 এবং পরবর্তী সংস্করণগুলোর জন্য ডিস্কের আকার বাড়ান।
৩১.৩.১১ (২৩শে সেপ্টেম্বর, ২০২২)
Android Studio Dolphin এবং Electric Eel Canary 10 দিয়ে পরীক্ষা করা হয়েছে।
এই আপডেটে নিম্নলিখিত উন্নতি ও সংশোধনগুলো অন্তর্ভুক্ত করা হয়েছে:
- [ত্রুটি সংশোধন] এক্সটেন্ডেড কন্ট্রোলস উইন্ডোতে এমবেডেড এমুলেটর AVD ক্র্যাশ হওয়ার সমস্যা
- [বাগ ফিক্স] ইস্যু #183139207: এমুলেটর দ্বারা মাইক্রোফোন সক্রিয় করার সাথে সম্পর্কিত অডিও সমস্যা
- [বাগ ফিক্স] ইস্যু #229764024: AVD স্টিকি টাচ বাগ যার ফলে UI আচরণে সমস্যা দেখা দেয়
- [ত্রুটি সংশোধন] ম্যাক এম১-এ এপিআই ৩৩ এভিডি চালু করার ত্রুটি।
- [বাগ ফিক্স] ইস্যু #243053479: এমুলেটর আপডেট করার পর নেটওয়ার্কের গতি কমে যাওয়া
- [বাগ ফিক্স] ইস্যু #244617627: উইন্ডোজ এবং লিনাক্সে ম্যাপের অবস্থান অকার্যকর থাকা
- [বাগ ফিক্স] ইস্যু #232971796: এক্সটেন্ডেড কন্ট্রোলস > ফোন পেজে “কল ডিভাইস” বাটনের অকার্যকারিতা
- অ্যান্ড্রয়েড এমুলেটরকে মিনিজিবিএম-এ আপডেট করুন
- বিল্ড স্ক্রিপ্টগুলোকে পাইথন৩-এ স্থানান্তর করা হয়েছে
৩১.৩.১০ (১৮ আগস্ট, ২০২২)
Android Studio Dolphin Beta 5 এবং Electric Eel Canary 9 দিয়ে পরীক্ষা করা হয়েছে।
এমুলেটরটির স্বতন্ত্র ডাউনলোড এখন উপলব্ধ। এই সর্বশেষ স্থিতিশীল সংস্করণটিতে আপনি যদি কোনো সমস্যা বা ক্র্যাশের সম্মুখীন হন, তবে অনুগ্রহ করে একটি বাগ রিপোর্ট করুন এবং এমুলেটর ডাউনলোড আর্কাইভ থেকে পূর্ববর্তী কোনো কার্যকরী সংস্করণ ডাউনলোড করার কথা বিবেচনা করুন।
এই আপডেটে নিম্নলিখিত উন্নতি ও সংশোধনগুলো অন্তর্ভুক্ত করা হয়েছে:
- উইন্ডোজে উন্নত ইউনিকোড পাথ সাপোর্ট
- এমুলেটর শাটডাউনের উন্নততর ব্যবস্থাপনা, যাতে একই এভিডি-র নতুন লঞ্চ সফল হতে পারে।
- আপডেট করা ফোল্ডেবল এভিডি ডিজাইন এবং ডিফল্ট সেটিংস
- আপডেট করা Wear এমুলেটর বোতাম
- gRPC অডিও স্ট্রিমিং উন্নতি
- আকার পরিবর্তনযোগ্য এমুলেটর কনসোল কমান্ড যোগ করা হয়েছে
- এপিআই ৩১ এর জন্য ক্রোম ফিক্স
- [ত্রুটি সংশোধন] GmsCore v21.42.18-এর সাথে গুগল অ্যাকাউন্ট প্রমাণীকরণ ব্যর্থ হচ্ছিল।
৩১.২.১০ (২০ এপ্রিল, ২০২২)
অ্যান্ড্রয়েড স্টুডিও ডলফিন ক্যানারি ৮ এবং চিপমাঙ্ক আরসি ১ দিয়ে পরীক্ষা করা হয়েছে।
এই আপডেটে নিম্নলিখিত উন্নতি ও সংশোধনগুলো অন্তর্ভুক্ত করা হয়েছে:
- ফলব্যাক সহ ভলকান ফাংশন লোড করার জন্য ইউটিলিটি যোগ করুন
- [ত্রুটি সংশোধন] gcc8 বিল্ড ত্রুটি সমাধান করা হয়েছে
৩১.২.৯ (২৩ মার্চ, ২০২২)
অ্যান্ড্রয়েড স্টুডিও ডলফিন ক্যানারি ৭ দিয়ে পরীক্ষা করা হয়েছে।
এই আপডেটে নিম্নলিখিত সমাধানটি অন্তর্ভুক্ত করা হয়েছে:
- [ত্রুটি সংশোধন] M1-এ স্ন্যাপশট সংরক্ষণ করার সময় মেমরি চাপ উপেক্ষা করা হবে
৩১.২.৮ (৭ ফেব্রুয়ারি, ২০২২)
Android Studio Bumblebee Patch 1 এবং Chipmunk Canary 6 দিয়ে পরীক্ষা করা হয়েছে।
এই আপডেটে নিম্নলিখিত উন্নতি ও সংশোধনগুলো অন্তর্ভুক্ত করা হয়েছে:
- [ত্রুটি সংশোধন] অ্যাপগুলিতে সাইন ইন করা যাচ্ছিল না
- [বাগ ফিক্স] ইস্যু #215368358: ইন্টেল প্ল্যাটফর্মে "adb reboot" কমান্ডটি "vcpu shutdown request" ত্রুটির কারণে avd ক্র্যাশ করে।
৩১.২.৭ (১ ফেব্রুয়ারি, ২০২২)
Android Studio Bumblebee Patch 1 এবং Chipmunk Canary 6 দিয়ে পরীক্ষা করা হয়েছে।
এই আপডেটে নিম্নলিখিত সমাধানটি অন্তর্ভুক্ত করা হয়েছে:
- [ত্রুটি সংশোধন] M1 মেশিনে এমুলেটর হ্যাং হওয়ার ত্রুটি।
৩১.২.৬ (২০ জানুয়ারি, ২০২২)
Android Studio Arctic Fox, Bumblebee Beta 4, এবং Chipmunk Canary 6 দিয়ে পরীক্ষা করা হয়েছে।
এই আপডেটে নিম্নলিখিত উন্নতি ও সংশোধনগুলো অন্তর্ভুক্ত করা হয়েছে:
- Wear OS এমুলেটরে ওয়্যার বাটন যুক্ত করা হয়েছে।
- VHAL ট্যাবে গাড়ির সকল বৈশিষ্ট্য সম্পাদনাযোগ্য করা হয়েছে।
- [ত্রুটি সংশোধন] GmsCore v21.42.18-এর সাথে গুগল অ্যাকাউন্ট প্রমাণীকরণ ব্যর্থ হচ্ছিল।
- [ত্রুটি সংশোধন] Netshaper, VirtioWifi-এর সাথে ঠিকমতো কাজ করছিল না।
- [ত্রুটি সংশোধন] ইভেন্ট মাউস কনসোল কমান্ড কাজ করছিল না।
- স্থানীয় AVD তৈরির জন্য KVM চেক যুক্ত করা হয়েছে।
৩১.১.৩ (১৮ জানুয়ারি, ২০২২)
এই আপডেটে নিম্নলিখিত উন্নতি ও সংশোধনগুলো অন্তর্ভুক্ত করা হয়েছে:
- ফুশিয়ার জন্য কনসোল পোর্ট সক্রিয় করা হয়েছে।
- একাধিক ডিসপ্লেযুক্ত উইন্ডোর আকার পরিবর্তন করার সময়, ওরিয়েন্টেশন উপেক্ষা করা হয়।
- ওয়াই-ফাই: MAT ম্যাক অ্যাড্রেসের উপর ভিত্তি করে ইউনিকাস্ট প্যাকেট ফিল্টার করার সুবিধা যোগ করা হয়েছে।
- ওয়াই-ফাই: vmnet ব্যবহারের সময় ক্র্যাশ হওয়ার সমস্যাটি সমাধান করা হয়েছে।
৩০.৯.৫ (১৫ ডিসেম্বর, ২০২১)
এই আপডেটে নিম্নলিখিত উন্নতি ও সংশোধনগুলো অন্তর্ভুক্ত করা হয়েছে:
- ডেস্কটপ বা ট্যাবলেট আকারের উইন্ডোতে সহজে আকার পরিবর্তন করার সুবিধা যোগ করা হয়েছে।
- সামঞ্জস্যপূর্ণ হোস্ট ডিভাইস থেকে মাল্টি-টাচ ইনপুটের জন্য সমর্থন যোগ করা হয়েছে।
- VirtioWifi: ট্যাপ নেটওয়ার্কের জন্য সমর্থন যোগ করা হয়েছে।
- ওয়্যার সিস্টেম ইমেজের জন্য রোটারি ইনপুট সক্রিয় করা হয়েছে।
- gRPC অডিও কনফিগারেশন সমস্যাটি সমাধান করা হয়েছে।
- স্ট্যান্ডার্ড অ্যান্ড্রয়েড সেন্সর সমর্থন করার জন্য SensorReplay Emulator Playback আপডেট করা হয়েছে।
- ইউএসবি পাস থ্রু ব্যবহার করে ইউএসবি-র মাধ্যমে এমুলেটরটিকে পেরিফেরাল ও ডিভাইসগুলোর সাথে সংযুক্ত করা হয়েছে।
৩০.৪.৫ (২৩ ফেব্রুয়ারি, ২০২১)
এই আপডেটে নিম্নলিখিত উন্নতি ও সংশোধনগুলো অন্তর্ভুক্ত করা হয়েছে:
- ম্যাকওএস: অডিও ইনপুট বিকৃতির সমস্যা সমাধান করা হয়েছে।
- ইউজারস্পেসে virtio-vsock-এর জন্য সমর্থন যোগ করা হয়েছে।
- ভবিষ্যতের সিস্টেম ইমেজগুলোতে লগক্যাট এবং কার্নেল মেসেজের জন্য ভার্চুও-কনসোল ব্যবহার করা হবে।
- ভুলকান রেন্ডারিংয়ের গতি বাড়ান।
- টেস্ট ব্যর্থ হলে স্ন্যাপশট ডিবাগিংয়ের সুবিধা যোগ করা হয়েছে।
- ভার্চিও-জিপিইউ: সর্বশেষ ব্লব রিসোর্স এনাম সমর্থন করার জন্য সংজ্ঞাগুলো হালনাগাদ করা হয়েছে।
- 'asg' টাইপের গ্রাফিক্স ট্রান্সপোর্টের জন্য স্ন্যাপশট সাপোর্ট যোগ করা হয়েছে।
- macOS: macOS SDK 11.1+ এর বিপরীতে বিল্ড করার জন্য সমর্থন যোগ করা হয়েছে।
- নতুন সিস্টেম ইমেজগুলিতে KVMclock ডিফল্টরূপে সক্রিয় থাকে।
- Wear এমুলেটরগুলিতে হার্ট রেট সেন্সরের জন্য সমর্থন যোগ করা হয়েছে।
- libportability Vulkan ব্যাকএন্ডটি সরানো হয়েছে।
- মোডেম সিমুলেটরে আরও ফিচারের জন্য সমর্থন যোগ করা হয়েছে।
৩০.০.২৬ (আগস্ট ১৬, ২০২০)
এই আপডেটে বেশ কিছু নতুন ফিচার, বিদ্যমান ফিচারগুলোর উন্নতি এবং বাগ ফিক্স অন্তর্ভুক্ত রয়েছে।
ভার্চুয়াল হিঞ্জ সেন্সর এবং 3D ভিউ সহ ফোল্ডেবল ডিভাইস সাপোর্ট।
ফোল্ডেবল ডিভাইসগুলির জন্য হিঞ্জ সেন্সরের সাপোর্ট যোগ করা হয়েছে। এর জন্য ভবিষ্যতের একটি অ্যান্ড্রয়েড ১১ সিস্টেম ইমেজ এবং এভিডি কনফিগারেশন প্রয়োজন হবে। ৩ডি ফোল্ডেবল ভিউ এবং হিঞ্জ প্যারামিটারগুলি এখন বিদ্যমান ফোল্ডেবল প্রিসেটগুলির সাথে একীভূত করা হয়েছে। উদাহরণস্বরূপ, ৭.৩ ফোল্ডেবল এভিডি-র
config.iniফাইলের সাথে নিম্নলিখিতটি ব্যবহার করা যেতে পারে:hw.sensor.hinge = yes hw.sensor.hinge.count = 1 hw.sensor.hinge.type = 1 hw.sensor.hinge.ranges = 180-360 hw.sensor.hinge.defaults = 180 hw.sensor.hinge.areas = 54.7-0 hw.sensor.posture_list=4, 3 hw.sensor.hinge_angles_posture_definitions=210-360, 180-210 hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture=4ফোল্ডেবল ডিভাইসগুলোতে এখন একটি সাব-টাইপ প্যারামিটারও রয়েছে।
config.iniফাইলেরhw.sensor.hinge.sub_type = hinge/foldপ্রপার্টিটি এখন উপলব্ধ। এ বিষয়ে আরও জানতে " Developing for Android 11 with the Android Emulator" ব্লগপোস্টটি দেখুন।হিঞ্জ সেন্সর এখন ডিফল্টরূপে সক্রিয় করা হয়েছে।
যদি কোনো ফোল্ডেবল ডিভাইস কনফিগার করা থাকে, তাহলে এমুলেটরটি এখন গেস্ট ডিভাইসে হিঞ্জ অ্যাঙ্গেল সেন্সরের আপডেট এবং পসচার পরিবর্তনের তথ্য পাঠাবে। বিদ্যমান ফোল্ডেবল ডিভাইসগুলো এখন টুলবারের ফোল্ড বা আনফোল্ড বাটন চাপলে তাদের হিঞ্জ সেন্সরের অ্যাঙ্গেল এবং পসচার আপডেট করবে।

ARM64 হোস্টের জন্য এমুলেটর
লিনাক্স এমুলেটরের সোর্স কোড এখন x86_64 থেকে arm64 হোস্টে ক্রস কম্পাইলেশন সমর্থন করে, যা KVM ভার্চুয়ালাইজেশনের সাথে arm64 সিস্টেম ইমেজ চালানো সম্ভব করে। বর্তমানে, শুধুমাত্র
-gpu swiftshader_indirect(সুইফটশেডার arm64 হোস্ট রেন্ডারিং) সমর্থিত, কিন্তু lib64/gles_swiftshader-কে libEGL/libGLESv2 লাইব্রেরি দিয়ে প্রতিস্থাপন করে এবং তারপর-gpu swiftshader_indirectদিয়ে পুনরায় চালু করে হোস্ট GPU-এর সাথে সামঞ্জস্যপূর্ণ libEGL/libGLESv2 লাইব্রেরিও ব্যবহার করা যেতে পারে। স্ন্যাপশটও কাজ নাও করতে পারে (কমান্ড লাইনে-no-snapshotযোগ করুন)। নির্দেশাবলী:mkdir emu cd emu repo init -u https://android.googlesource.com/platform/manifest -b emu-master-dev --depth=1 repo sync -qcj 12 cd external/qemu pip install absl-py pip install urlfetch sudo apt-get install crossbuild-essential-arm64 python android/build/python/cmake.py --noqtwebengine --noshowprefixforinfo --target linux_aarch64অ্যাপল সিলিকনের জন্য সমর্থন তৈরির কাজ চলছে।
ভার্চিও-জিপিইউ সমর্থন
- আসন্ন ভার্চুও-জিপিইউ হোস্ট কোহেরেন্ট ব্লব রিসোর্সগুলোর জন্য হোস্ট সাইডে সমর্থন যোগ করা হয়েছে।
- এমুলেটর রেন্ডারিং যেভাবে কাজ করে, তার কারণে আমরা এখন virtio-gpu virtqueue-কে vcpu থ্রেডে প্রসেস করি (কারণ রেন্ডারিং এমনিতেও অন্যান্য থ্রেডে অফলোড করা থাকে)। virtio-gpu রেন্ডারিং ভবিষ্যতের কোনো সিস্টেম ইমেজ এবং এমুলেটর সংস্করণে চালু করা হবে।
- ভবিষ্যতের কোনো সিস্টেম ইমেজে এমুলেটরটি ভার্চুও-জিপিইউ ভিত্তিক স্ট্যাকের মাধ্যমে সমস্ত গ্রাফিক্স চালাতে সক্ষম হবে।
অন্যান্য নতুন বৈশিষ্ট্য এবং উন্নতি
-
-qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>` কমান্ডটি ব্যবহার করে এখন উইন্ডোজে ইউএসবি পাসথ্রু (USB passthrough) করা যাচ্ছে। (এটি লিনাক্স এবং ম্যাকওএস-এও ইতিমধ্যে কাজ করার কথা ছিল) - WebRTC লাইব্রেরিগুলো M83-তে আপডেট করা হয়েছে।
- এমুলেটরটি এখন WebRTC-এর মাধ্যমে কন্টেইনারের মধ্যে অডিও স্ট্রিমিং সমর্থন করে।
- ডারউইন পাইপ এন্ডপয়েন্টটি সরিয়ে ফেলা হয়েছে।
- হার্ডওয়্যারে CUDA VPx ডিকোড উপলব্ধ থাকলে,
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1এনভায়রনমেন্ট ভেরিয়েবলের মাধ্যমে ভিডিওর জন্য CUDA VPx ডিকোড এখন ব্যবহার করা যাবে। - macOS-এ, SSE 4.1 এবং 4.2 এখন অ্যান্ড্রয়েড গেস্টের ভেতর থেকে ব্যবহার করা যায়।
- macOS-এ INVTSC এখন ডিফল্টরূপে সক্রিয় থাকে। এটি গেস্ট থেকে সময় পরিমাপের নির্ভুলতা উন্নত করতে পারে।
- আমরা এখন মেট্রিক্সের মাধ্যমে ট্র্যাক করি যে ব্যবহারকারী কোন এক্সটেন্ডেড কন্ট্রোল পেইনটি নির্বাচন করেছেন।
- গেস্ট কার্নেল সংস্করণ ৫.৪ বা তার বেশি হলে (R সিস্টেম ইমেজ বা তার পরবর্তী সংস্করণ), লিনাক্স এমুলেটর এখন KVM প্যারাভার্চুয়ালাইজড ক্লক ব্যবহার করে।
- এমুলেটর এখন গেস্ট কার্নেল ডিকম্প্রেস করতে LZ4 ব্যবহার করে, ফলে এটি আধুনিক কার্নেল পাইপলাইনের সাথে সামঞ্জস্যপূর্ণ।
এমুলেটরের AVD ডিরেক্টরি, স্টুডিও-এমবেডেড ব্যবহারের ক্ষেত্রে ডিসকভারি ফাইলের পাথ এবং স্ন্যাপশটের পাথ পাওয়ার জন্য কনসোল কমান্ড যোগ করা হয়েছে:
adb emu avd path # Obtains path to AVD directory adb emu avd discoverypath # Obtains path to discovery file adb emu avd snapshotspath # Obtains path to snapshots folder adb emu avd snapshotpath <snapshotName> # Obtains path to the folder that stores the snapshot for the snapshot with name <snapshotName>
উল্লম্ব স্ক্রিন স্পেস বাঁচানো সহজ করার জন্য, আমরা Extended Controls > Settings- এ বর্তমান AVD-এর জন্য ডিভাইস ফ্রেম লুকানোর একটি অপশন যোগ করেছি। বিশ্বব্যাপী সমস্ত AVD-এর জন্য ডিভাইস ফ্রেম লুকানোর জন্য, আমরা
NoDeviceFrameফিচার ফ্ল্যাগটি উপলব্ধ করেছি, যা কমান্ড লাইন থেকে-feature NoDeviceframe দিয়ে এমুলেটর চালু করে সক্রিয় করা যেতে পারে, অথবা এটিকে লক করার জন্য~/.android/advancedFeatures.iniফাইলেNoDeviceFrame = onযোগ করতে হবে (ফাইলটি আগে থেকে না থাকলে তৈরি করুন)।সেলুলার পেজে মিটারনেস সাপোর্ট চালু ও বন্ধ করার জন্য একটি ড্রপ-ডাউন আইটেম যোগ করা হয়েছে; যেসব পুরোনো সিস্টেম ইমেজে ৫জি মিটারনেস টগল সাপোর্ট করে না, সেগুলোর জন্য এটি কাজ করবে না।
- একই উদ্দেশ্যে কনসোল কমান্ডও যোগ করা হয়েছে:
gsm meter on|off
- একই উদ্দেশ্যে কনসোল কমান্ডও যোগ করা হয়েছে:
টুলচেইন আপগ্রেড করা হয়েছে / C++17-এ বিল্ড করা হয়েছে।
সমাধান: এমবেডেড এমুলেটর
- এখন ক্লিপবোর্ড কাজ করার কথা।
- এমুলেটরে বড় হাতের অক্ষর ছোট হাতের অক্ষর হিসেবে প্রদর্শিত হওয়ার সমস্যাটি সমাধান করা হয়েছে।
- উইন্ডোজে ইউনিকোড পাথ থেকে কনসোল টোকেন লোড করার সমস্যাটি সমাধান করা হয়েছে।
- লিনাক্সে
SO_REUSEPORTত্রুটির বার্তাটি ঠিক করা হয়েছে। - gRPC-এর মাধ্যমে স্ন্যাপশট কমান্ড পাঠানোর সময়, এবং অ্যান্ড্রয়েড স্টুডিও এমবেডেড এমুলেটরে স্ন্যাপশট সেভ বাটন চাপার সময় স্ন্যাপশট করাপশনের সমস্যাটি সমাধান করা হয়েছে।
স্টুডিওতে এমবেড করা লিনাক্স এমুলেটর ব্যবহার করার সময় আমরা দেখেছি যে, ক্রোম রিমোট ডেস্কটপের মাধ্যমে এটি করলে একটি বাগ দেখা দেয়, যেখানে
XDG_RUNTIME_DIRসেট করা থাকে না। এর ফলে, এমুলেটর ডিসকভারি ফাইলগুলোXDG_RUNTIME_DIRএ থাকার কারণে এমবেড করা এমুলেটরটি প্রদর্শিত নাও হতে পারে। আপনি ক্রোম ইস্যু ট্র্যাকারে এই সমস্যাটির অবস্থা দেখতে পারেন।একটি সাময়িক সমাধান হিসেবে, এমুলেটরটি এখন ব্যবহারকারীর UID-এর উপর ভিত্তি করে সম্ভবত ভিন্ন একটি ডিরেক্টরিতে থাকা ডিসকভারি ফাইলগুলো ব্যবহার করে:
/run/user/<uid>।এমবেডেড এমুলেটর: গোলাকার কোণা/নচযুক্ত ডিভাইসগুলো এখন কোণা এবং নচের জন্য জায়গা করে দিতে তাদের লেআউট সঠিকভাবে পরিবর্তন করে। এর জন্য ওই এমুলেটরগুলোকে কোল্ড বুট করতে হবে।
gRPC এন্ডপয়েন্ট এখন ডিভাইসে এসএমএস পাঠানো সমর্থন করে।
সাধারণ সমাধান
- রায়ট ভ্যানগার্ড সক্রিয় থাকা অবস্থায় উইন্ডোজ এমুলেটর চালাতে গিয়ে আমরা সামঞ্জস্যের সমস্যা দেখেছি। উইন্ডোজ এমুলেটরটি এখন ভ্যানগার্ড অ্যান্টি-চিট শনাক্ত করে এবং ভ্যানগার্ড শনাক্ত হলে একটি সতর্কীকরণ বার্তা প্রদর্শন করে।
- উইন্ডোজে
FD_SETSIZEত্রুটি সমাধান করা হয়েছে। এখন আমরা লুপব্যাক সার্ভারের সাথে নন-ব্লকিং সংযোগ স্থাপনের জন্যselect()এর পরিবর্তেWSAEventSelect()) ব্যবহার করি। - লিনাক্স এমুলেটরে F16C CPUID ফিচার সাপোর্ট যোগ করা হয়েছে, যা NDK ট্রান্সলেশনের মাধ্যমে কিছু ARM64 অ্যাপ্লিকেশন চালানোর সমস্যা সমাধান করে; macOS/Windows-এর কাজ প্রক্রিয়াধীন।
- টাইমস্ট্যাম্প অনুসরণ করার জন্য gpx/kml রাউট প্লেব্যাক ঠিক করা হয়েছে।
- MacOs-এ চালু করার সময় আইকনের কাঁপুনির সমস্যাটি সমাধান করা হয়েছে।
-
config.iniফাইলেhw.audioInput=noএবংhw.audioOutput=noকরা থাকলে, এমুলেটরের অডিও এখন সঠিকভাবে নিষ্ক্রিয় হয়ে যাবে। - একটি সমস্যার সমাধান করা হয়েছে যেখানে এক্সটেন্ডেড কন্ট্রোলস উইন্ডোটি খোলা কিন্তু নিষ্ক্রিয় থাকা অবস্থায় এমুলেটর উইন্ডোটি মিনিমাইজ করা হলে, এমুলেটর উইন্ডোর আকার পরিবর্তন করার সময় এক্সটেন্ডেড কন্ট্রোলস উইন্ডোটি বারবার দেখা যেত। ভবিষ্যতের একটি আপডেটে আমরা এই আচরণটি (সক্রিয় এক্সটেন্ডেড কন্ট্রোলস উইন্ডোর ক্ষেত্রে) সম্পূর্ণরূপে দূর করে দেব।
- এমুলেটর চালু হওয়ার সময় ওয়াই-ফাই সংযুক্ত না হওয়ার একটি ত্রুটিপূর্ণ বাগ সংশোধন করা হয়েছে।
- এমুলেটর দীর্ঘ বা অনির্দিষ্ট টাইমআউট সহ শেল কমান্ড জারি করলে, প্রস্থানের সময় আটকে যাওয়ার সমস্যাটি সমাধান করা হয়েছে।
-
-initrdতে পাঠানো বড় আকারের ইমেজগুলোকে আরও ভালোভাবে সাপোর্ট করার জন্য ফিক্সসহ পিসি-বায়োস আপডেট করা হয়েছে; আগের বায়োস একটি অত্যন্ত অদক্ষ পদ্ধতি ব্যবহার করত। -
-wifi-server-portঅপশনটি ব্যবহার করার সময় টার্মিনেশনের সময় ক্র্যাশ হওয়ার সমস্যাটি সমাধান করা হয়েছে। - এখন
-propএর সাথে অসমর্থিত অপশন পাস করা হলে এমুলেটরটি একটি সতর্কবার্তা প্রিন্ট করে (শুধুমাত্র qemu.* প্রপস সমর্থিত)। - উইন্ডোজে এমুলেটর বিল্ড করার সময়, ফাইল লেখার ক্ষেত্রে অনিয়মিত ব্যর্থতার সম্ভাবনা কম থাকা উচিত। আরও তথ্যের জন্য, উইন্ডোজ বিল্ড নির্দেশাবলী দেখুন।
- ফোল্ডেবল এভিডি-র জন্য জুম বাটনটি নিষ্ক্রিয় করা হয়েছে, যা সমস্যা সৃষ্টি করছিল।
- ডিভাইস রিবুট করার পর এমুলেটর এখন বুট টাইম সঠিকভাবে রিপোর্ট করে।
- লিনাক্স: কেভিএম (KVM) পারমিশন অপর্যাপ্ত থাকলে, এমুলেটরটি এখন আরও দ্রুত ডিবাগিং নির্দেশাবলী প্রিন্ট করে।
- যে সমস্যাটির কারণে এমুলেটরটি অ্যাক্সিলারেশন ছাড়া সাম্প্রতিক সিস্টেম ইমেজ বুট করতে পারছিল না, তা সমাধান করা হয়েছে।
- বুট-সম্পূর্ণ ডিটেক্টর থেকে উদ্ভূত সমস্যা অনুযায়ী, চালু হওয়ার সময় মেমরি করাপশন বা ক্র্যাশের সমাধান করা হয়েছে।
- দীর্ঘ স্ক্রিন রেকর্ডিং সেশনের সময় মেমরি লিকের সমস্যা সমাধান করা হয়েছে।
- স্টুডিও ৪.১-এর ব্র্যান্ডিং অনুযায়ী এমুলেটর আইকনগুলো আপডেট করা হয়েছে।
- উইন্ডোজে রিমোট সেশন শনাক্ত করার জন্য উন্নততর সাপোর্ট যোগ করা হয়েছে।
সংশোধন: গ্রাফিক্স এবং ভিডিও ডিকোড
- সর্বশেষ Asphalt 9 গেমটিতে কালো স্ক্রিন দেখানোর সমস্যাটি সমাধান করা হয়েছে।
-
NULLদিয়ে ম্যাপড বাফার ফ্লাশ করা সংক্রান্ত স্প্যাম মুছে ফেলা হয়েছে। - গেস্ট ভলকান অ্যাপ বন্ধ হয়ে গেলে ভলকান স্টেট টিয়ার ডাউন করার সময়কার একটি রেস কন্ডিশন সমাধান করা হয়েছে।
- Vulkan ASTC/ETC2 এমুলেশন শেডারগুলো এখন libOpenglRender লাইব্রেরির অন্তর্ভুক্ত করা হয়েছে। ফাইলসিস্টেম থেকে পড়ার চেয়ে এটি আরও নির্ভরযোগ্য হবে।
- Vulkan-এর একটি সমস্যা সমাধান করা হয়েছে, যেখানে হোস্টে Vulkan 1.0 ইনস্ট্যান্সের সাথে চালানো হলে,
vkGetImageMemoryRequirements2KHRভুলবশত ফেরত আসাVkMemoryRequirements2struct-এরpNextফিল্ডটি মুছে ফেলত। - ভুলকান রেন্ডারারে একটি মেমোরি লিক সংশোধন করা হয়েছে।
- সাম্প্রতিক একটি রিগ্রেশন সংশোধন করা হয়েছে, যেখানে
isampler2Dমতো ভেরিয়েবল নামযুক্ত GLSL ES 1.00 শেডারগুলো কম্পাইল হতে ব্যর্থ হচ্ছিল। - লিনাক্সে শেডার কম্পাইল করতে সম্ভাব্য ব্যর্থতার সমস্যা সমাধানের জন্য বিভিন্ন সংশোধন সহ ANGLE শেডার ট্রান্সলেটর আপডেট করা হয়েছে।
- এই ঘটনাটির উপর নজর রাখার জন্য, বেসিক ফ্রেমবাফার ব্লিট শেডারটি কম্পাইল হতে ব্যর্থ হলে আমরা এখন এমুলেটরটি ক্র্যাশ করাই।
- আপস্ট্রিম ANGLE-এর সাথে তাল মিলিয়ে চলার জন্য ANGLE শেডার ট্রান্সলেটর আপডেট করা হয়েছে। এর মাধ্যমে নন-স্কয়ার ম্যাট্রিক্স ব্যবহারকারী OpenGL ES শেডার অনুবাদ এবং কনস্ট্যান্ট-ফোল্ডিং করার সময় মেমরি করাপশন সংক্রান্ত একটি সমস্যার সমাধান করা হয়েছে। শেডার ট্রান্সলেটরটি এখন
libshadertranslator.dllনামে একটি পৃথক শেয়ার্ড লাইব্রেরি। - কিছু GPU ড্রাইভারে Vulkan ইনিশিয়ালাইজেশনের একটি সমস্যা সমাধান করা হয়েছে, যেখানে নির্দিষ্ট কিছু 1.1 ডিভাইস ফাংশন খুঁজে পাওয়া যাচ্ছিল না।
- ভলকান: আমরা পূর্ব-নির্মিত লোডার ব্যবহারে ফিরে এসেছি, কারণ সিস্টেম ভলকান লোডারকে প্রাধান্য দেওয়ায় কিছু সেটআপে সমস্যা তৈরি হচ্ছিল; আমরা একটি আরও ভালো সমাধান খুঁজে বের করব।
- ভলকান এক্সটার্নাল মেমরি ব্যবহারের সময় একটি সমস্যা সমাধান করা হয়েছে, যেখানে হোস্টের মেমরি টাইপ ইনডেক্সের সাথে অমিলের কারণে এটি ইম্পোর্ট হয়ে যেতে পারতো।
-
GL_ALIASED_POINT_SIZE_RANGEএর এমুলেশনে একটি সমস্যা সমাধান করা হয়েছে, যেখানে enum-টি হোস্টে সমর্থিত ছিল না। - যে সমস্যাটির কারণে কিছু হোস্ট GPU-তে
GL_EXT_shader_framebuffer_fetchসম্পর্কিত ত্রুটির জন্য Skia শেডার কম্পাইল করা যাচ্ছিল না, তা সমাধান করা হয়েছে। - যেহেতু কয়েকটি ভার্সন আগে আমাদের D3D9 ANGLE রেন্ডারারের কপিটি সরিয়ে ফেলা হয়েছে, তাই এখন আমরা স্বয়ংক্রিয়ভাবে সেইসব ব্যবহারকারীদের d3d11 ANGLE-এ পরিবর্তন করে দিই, যারা UI প্রেফারেন্সে সেটি নির্বাচন করা থাকলে ওই রেন্ডারারটি ব্যবহার করছিলেন।
- ব্যর্থতা শনাক্ত করার জন্য উইন্ডোজে WGL ইনিশিয়ালাইজেশনে আরও ডিবাগ তথ্য যোগ করা হয়েছে।
- যখন
hw.gltransport=virtio-gpu-pipe, তখন হোস্ট থেকে গেস্টে ডেটা স্থানান্তরের সময় হোস্টে এটি স্পিন না করার ফলে পারফরম্যান্স উন্নত হয়। - OpenGLES এমুলেশন চালু হতে ব্যর্থ হলে তার জন্য আরও ডিবাগ লগিং যোগ করা হয়েছে।
- স্ন্যাপশট লোড করার সময় ইউটিউব ভিডিও ঝিকমিক করা বা প্রদর্শিত না হওয়ার সমস্যাটি সমাধান করা হয়েছে।
- আপাতত libvpx-এর জন্য সফটওয়্যার ডিকোডে ফিরে যাওয়া হয়েছে, কারণ আমরা libvpx-এর CUDA হার্ডওয়্যার ডিকোডে কিছু সমস্যা দেখেছি। যদি আপনার হোস্ট সাইডে একটি সমর্থিত CUDA হার্ডওয়্যার ডিকোড ইমপ্লিমেন্টেশন থাকে,
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1এনভায়রনমেন্ট ভেরিয়েবলের মাধ্যমে libvpx-এর হার্ডওয়্যার ডিকোড পুনরায় চালু করা যেতে পারে।
৩০.০.১০ (৩০শে এপ্রিল, ২০২০)
এই আপডেটে অ্যান্ড্রয়েড স্টুডিওতে সরাসরি এমুলেটর চালানোর এবং ডিফল্টরূপে ফ্রিফর্ম উইন্ডো মোড সক্রিয় থাকা ভার্চুয়াল ডিভাইসগুলোর সুবিধা অন্তর্ভুক্ত করা হয়েছে।
অ্যান্ড্রয়েড স্টুডিওতে এমুলেটরটি চালান
এখন অ্যান্ড্রয়েড এমুলেটর সরাসরি অ্যান্ড্রয়েড স্টুডিও-তে চালানো যাবে। স্ক্রিনের জায়গা বাঁচাতে, হটকি ব্যবহার করে এমুলেটর ও এডিটর উইন্ডোর মধ্যে দ্রুত যাতায়াত করতে এবং আপনার IDE ও এমুলেটরের কার্যপ্রবাহ একটিমাত্র অ্যাপ্লিকেশন উইন্ডোতে গুছিয়ে নিতে এই বৈশিষ্ট্যটি ব্যবহার করুন।
ফ্রিফর্ম উইন্ডো মোড
এখন আপনি অ্যান্ড্রয়েড স্টুডিওতে ভার্চুয়াল ডিভাইস তৈরি করার সময় ১৩.৫” ফ্রিফর্ম ট্যাবলেট হার্ডওয়্যার প্রোফাইলটি নির্বাচন করে ফ্রিফর্ম উইন্ডো মোড সক্রিয় করা একটি এভিডি (AVD) তৈরি করতে পারেন। এই হার্ডওয়্যার প্রোফাইলটির জন্য অ্যান্ড্রয়েড ১১ ডেভেলপার প্রিভিউ ৩ বা তার উচ্চতর সংস্করণের একটি সিস্টেম ইমেজ প্রয়োজন।
পরিচিত সমস্যা
উইন্ডো ম্যানেজারে ফোকাস স্থানান্তরের সমস্যার কারণে বর্তমানে ফ্রিফর্ম উইন্ডোগুলোর আকার পরিবর্তন করা যাচ্ছে না। অ্যান্ড্রয়েড ১১-এর পরবর্তী কোনো সিস্টেম ইমেজ রিলিজে এই সমস্যার সমাধান করা হবে।
৩০.০.০ (১৯ ফেব্রুয়ারি, ২০২০)
এই আপডেটে অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) সিস্টেম ইমেজ এবং এআরএম বাইনারি চালানোর ক্ষেত্রে উন্নত পারফরম্যান্স অন্তর্ভুক্ত রয়েছে।
অ্যান্ড্রয়েড ১১ সিস্টেম ইমেজ
এখন আপনি উপলব্ধ API লেভেল 30 সিস্টেম ইমেজগুলোর যেকোনো একটি নির্বাচন করে Android 11 চালিত একটি AVD তৈরি করতে পারেন:
- x86 : এর মধ্যে x86 এবং ARMv7 উভয় ABI অন্তর্ভুক্ত।
- x86_64 : এর অন্তর্ভুক্ত ABI-গুলো হলো x86, x86_64, ARMv7 এবং ARM64।
অ্যান্ড্রয়েড ৯ এবং ১১ সিস্টেম ইমেজে ARM বাইনারিগুলির জন্য সমর্থন
আপনার অ্যাপটি ARM বাইনারির উপর নির্ভরশীল হওয়ায় যদি আপনি আগে অ্যান্ড্রয়েড এমুলেটর ব্যবহার করতে না পারতেন, তবে এখন আপনি আপনার অ্যাপটি চালানোর জন্য অ্যান্ড্রয়েড ৯ x86 সিস্টেম ইমেজ অথবা যেকোনো অ্যান্ড্রয়েড ১১ সিস্টেম ইমেজ ব্যবহার করতে পারেন – ARM বাইনারি চালানোর জন্য এখন আর কোনো নির্দিষ্ট সিস্টেম ইমেজ ডাউনলোড করার প্রয়োজন নেই। এই অ্যান্ড্রয়েড ৯ এবং অ্যান্ড্রয়েড ১১ সিস্টেম ইমেজগুলো ডিফল্টভাবে ARM সাপোর্ট করে এবং সম্পূর্ণ ARM এমুলেশনযুক্ত ইমেজগুলোর তুলনায় উল্লেখযোগ্যভাবে উন্নত পারফরম্যান্স প্রদান করে।
পরিচিত সমস্যা
- কিছু ARMv7 বাইনারি Android 11 x86 এবং x86_64 সিস্টেম ইমেজে চলতে ব্যর্থ হয়। Android 11 টার্গেট করার সময় ARM64-এর জন্য বিল্ড করার কথা বিবেচনা করুন।
২৯.০.১১ (২৯ মে, ২০১৯)
এই আপডেটে নিম্নলিখিত উন্নতি ও সংশোধনগুলো অন্তর্ভুক্ত করা হয়েছে:
- উইন্ডোজ: এমুলেটরটি এখন
libgccদিয়ে স্ট্যাটিক্যালি কম্পাইল হওয়ার পরিবর্তে আমাদের সরবরাহ করাlibgccDLL-এর উপর নির্ভর করে। - লিনাক্স: gRPC API-তে logcat সাপোর্ট যোগ করা হয়েছে। gRPC সম্পর্কে আরও তথ্যের জন্য, gRPC স্ট্রিমিং এমুলেটর (লিনাক্স) দেখুন।
- এমুলেটরটিতে এখন ৩২-বিট x86 গেস্টের (
qemu-system-i386) জন্য একটি হেডলেস বিল্ড অন্তর্ভুক্ত করা হয়েছে। এই ফিচারটি এপিআই লেভেল ২৬ এবং তার নিচের x86 ৩২-বিট ইমেজগুলোকে হেডলেস বিল্ডের সাথে চালানোর সুযোগ করে দেয়। উল্লেখ্য যে, এপিআই ২৭ এবং তার পরবর্তী সংস্করণের ৩২-বিট x86 গেস্টের জন্য এমুলেটরটি ৬৪-বিট ইঞ্জিন (qemu-system-x86_64) ব্যবহার করে, কারণ এই সিস্টেম ইমেজগুলোতে ইউজারস্পেস ৩২-বিট হলেও কার্নেলটি ৬৪-বিট হয়ে থাকে। অ্যান্ড্রয়েড স্টুডিও এমুলেশন ইঞ্জিন নির্বাচন করার জন্য কার্নেল ব্যবহার করে থাকে। - এখন আপনি
ANDROID_QT_LIB_PATHএনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করে নিজস্ব Qt লাইব্রেরি পাথ নির্দিষ্ট করতে পারবেন। - এখন আপনি QEMU1 ব্যবহারকারী পূর্ববর্তী বাইনারিগুলো দিয়ে এমুলেটরটি চালাতে পারবেন, যদি QEMU1 এক্সিকিউটেবলগুলো (
emulator[64]-[x86|arm|etc]) এমুলেটর ডিরেক্টরিতে রাখা হয়। - উইন্ডোজ: এমন একটি সমস্যার সমাধান করা হয়েছে যার কারণে মাঝে মাঝে "vCPU shutdown request" মেসেজ দেখিয়ে এমুলেটরটি চালু হতে ব্যর্থ হতো।
- ভুলকানে অনুকৃত সংকুচিত টেক্সচারে একটি অপ্রয়োজনীয় পাইপলাইন বাধা সংক্রান্ত সমস্যা সমাধান করা হয়েছে।
- চাঙ্কড ট্রান্সফার এনকোডিং ব্যবহার করার সময় http প্রক্সি অনুরোধে যে ত্রুটি দেখা দিত, তা সংশোধন করা হয়েছে। আরও তথ্যের জন্য, কমিটের বিবরণ দেখুন।
২৯.০.৯ (৭ মে, ২০১৯)
এই আপডেটে নিম্নলিখিত সমাধানটি অন্তর্ভুক্ত করা হয়েছে:
- উইন্ডোজ: এমুলেটরে ভার্চুয়াল সিন ক্যামেরা এবং ওয়েবক্যাম কাজ না করার সমস্যাটি সমাধান করা হয়েছে।
২৯.০.৮ (৬ মে, ২০১৯)
এই আপডেটে নিম্নলিখিত উন্নতি ও সংশোধনগুলো অন্তর্ভুক্ত করা হয়েছে:
- যখন প্রতিটি ডিসপ্লে গণনা ও সেট করার জন্য একটি গেস্ট সার্ভিস থাকে, তখন একাধিক ভার্চুয়াল হার্ডওয়্যার ডিসপ্লের জন্য সমর্থন যোগ করা হয়েছে। একাধিক ভার্চুয়াল হার্ডওয়্যার ডিসপ্লে ভবিষ্যতের একটি এমুলেটর সিস্টেম ইমেজ আপডেটে অন্তর্ভুক্ত করা হবে।
- একটি নতুন কমান্ড লাইন অপশন যোগ করা হয়েছে:
-delay-adb। এই অপশনটি গেস্টের বুটিং (কোল্ড বুটের পর) সম্পূর্ণ না হওয়া পর্যন্ত ADB প্যাকেট প্রসেসিং বন্ধ রাখে। এই অপশনটি সেইসব সমস্যা সমাধানে সাহায্য করে যা এমন একটি CI পরিবেশে এমুলেটর ব্যবহার করার সময় ঘটতে পারে, যেখানে এমুলেটরটি রিবুট হয় এবং একই সাথে DDMS ব্যবহৃত হয়। - স্ন্যাপশট লোড করার সময় যে ত্রুটিটি ঘটত, যেখানে
glIsRenderbufferভুল মান ফেরত দিত, তা সংশোধন করা হয়েছে। - অ্যান্ড্রয়েড গেস্ট রিবুট করার সময়কার পুরনো অবস্থা সংক্রান্ত কিছু সমস্যা সমাধান করা হয়েছে।
- উইন্ডোজ: উইন্ডোজ ইউজারনেমে নন-ASCII অক্ষর বা স্পেস থাকলে এমুলেটর চালু হতে না পারার সমস্যাটি সমাধান করা হয়েছে।
পরিচিত সমস্যা
- অটোমোটিভ সিস্টেম ইমেজগুলির জন্য স্ন্যাপশট UI নিষ্ক্রিয় করা হয়েছে, কারণ এই সিস্টেম ইমেজগুলিতে বর্তমানে স্ন্যাপশট সমর্থিত নয়।
২৯.০.৬ (১ মে, ২০১৯)
এই আপডেটে বেশ কিছু নতুন ফিচার, বিদ্যমান ফিচারগুলোর উন্নতি এবং বাগ ফিক্স অন্তর্ভুক্ত রয়েছে।
QEMU1 এবং ৩২-বিট উইন্ডোজ সমর্থনের অপসারণ
এমুলেটরটির উন্নত রক্ষণাবেক্ষণের জন্য, আমরা এখন আর QEMU1 এবং ৩২-বিট উইন্ডোজ বাইনারি সরবরাহ করি না। আপনি যদি ৩২-বিট উইন্ডোজ ব্যবহার করেন, তবে আপনি সংস্করণ ২৯.০.৬-এ আপগ্রেড করতে পারবেন না।
অ্যান্ড্রয়েড কিউ সিস্টেম ইমেজের জন্য প্রয়োজনীয়তা
আপনি যদি অ্যান্ড্রয়েড কিউ (Android Q) সিস্টেম ইমেজ ব্যবহার করে এমন কোনো এভিডি (AVD) চালাতে চান, তাহলে আপনাকে এখন অবশ্যই সংস্করণ ২৯.০.৬ (এই রিলিজ সংস্করণ) বা তার উচ্চতর সংস্করণ ব্যবহার করতে হবে।
প্রকল্প মার্বেল উন্নয়ন
এই আপডেটটি আমাদের প্রজেক্ট মার্বেল উদ্যোগের কাজকে এগিয়ে নিয়ে যায়, যা নভেম্বর ২০১৮-এর অ্যান্ড্রয়েড ডেভেলপার সামিটে ঘোষণা করা হয়েছিল। পূর্ববর্তী রিলিজগুলিতে প্রজেক্ট মার্বেলের অন্যান্য উন্নতি সম্পর্কে আরও তথ্যের জন্য, দেখুন অ্যান্ড্রয়েড এমুলেটর: প্রজেক্ট মার্বেল ইমপ্রুভমেন্টস ।
এই আপডেটের জন্য, আমাদের প্রজেক্ট মার্বেল-এর বেশিরভাগ প্রচেষ্টা এমুলেটরের রিসোর্স ব্যবহার কমানোর উপর নিবদ্ধ ছিল, যেমন নিষ্ক্রিয় অবস্থায় এমুলেটরের সিপিইউ ব্যবহার কমানো। আমরা এমন কিছু পরিবর্তনও যুক্ত করেছি যা আরও বিভিন্ন পরিবেশে এমুলেটর নিয়ে কাজ করা সহজ করে তোলে এবং আমরা সাধারণ মানের সমস্যাগুলোও সমাধান করেছি।
নিম্নলিখিত বিভাগগুলিতে প্রজেক্ট মার্বেলের সেই উন্নতিগুলি বর্ণনা করা হয়েছে যা এই আপডেটের সাথে অন্তর্ভুক্ত রয়েছে:
হোস্ট অডিও আচরণের উন্নতি
সংস্করণ ২৮.০.৩ থেকে শুরু করে, এমুলেটরটি ডিফল্টরূপে হোস্ট থেকে অডিও ইনপুট ব্লক করে দেয় ।
আপনি যদি হোস্ট অডিও ডেটা ব্যবহার করতে চান, তাহলে Extended Controls > Microphone- এ গিয়ে ‘Virtual microphone uses host audio input’ অপশনটি চালু করতে পারেন। যখনই এমুলেটরটি পুনরায় চালু করা হয়, এই অপশনটি স্বয়ংক্রিয়ভাবে নিষ্ক্রিয় হয়ে যায়।
আপনি যদি কমান্ড লাইন ব্যবহার করেন, তাহলে -allow-host-audio অপশনটি ব্যবহার করে হোস্ট অডিও চালু করতে পারেন, এবং যথাক্রমে হোস্ট অডিও ডেটা চালু বা বন্ধ করার জন্য নিম্নলিখিত ADB কমান্ডগুলো ব্যবহার করতে পারেন:
-
adb emu avd hostmicon -
adb emu avd hostmicoff
হেডলেস এমুলেটর বিল্ডের জন্য উন্নতি
সংস্করণ 28.0.25 থেকে শুরু করে, এমুলেটরটিতে একটি হেডলেস বিল্ড বিকল্প অন্তর্ভুক্ত করা হয়েছে যা UI ছাড়াই চালানো যায়। ডকার এবং কন্টিনিউয়াস ইন্টিগ্রেশন (CI) ওয়ার্কফ্লোর জন্য এমুলেটরটি সেট আপ করতে আপনি হেডলেস বিল্ড ব্যবহার করতে পারেন।
এই আপডেটের মাধ্যমে, এমুলেটরটিকে ন্যূনতম সংখ্যক ডিপেন্ডেন্সি সহ চালানোর জন্য আমরা আরও কিছু উন্নতি করেছি। লিনাক্সে, হেডলেস বিল্ডগুলিতে এখন আর pulseaudio বা libX11 লাইব্রেরি অন্তর্ভুক্ত থাকে না। এমুলেটরের সাথে প্যাকেজ করা হয় না এমন সিস্টেম-নির্ভর শেয়ার্ড লাইব্রেরির তালিকাটি কমিয়ে নিম্নলিখিত তালিকায় আনা হয়েছে:
-
Linux-vdso.so.1 -
Libutil.so.1 -
Libm.so.6 -
Libdl.so.2 -
Librt.so.1 -
Libpthread.so.0 -
Libgcc_s.so.1 -
Libc.so.6 -
ld-linux-x86-64.so.2
Qt UI লাইব্রেরিগুলো 5.12 LTS-এ আপগ্রেড করা হয়েছে।
এই আপডেটে Qt 5.12 LTS রিলিজ থেকে নিম্নলিখিত উন্নতিগুলো অন্তর্ভুক্ত করা হয়েছে:
- নির্দিষ্ট কিছু সিস্টেম ইমেজ চালু করার সময় Qt-এর
libpngডিকোডিং-এ ক্র্যাশ এড়ানোর জন্য, এমুলেটরটি এখন PNG ইমেজ ডিকোড করতেlibpngএর নিজস্ব কপি ব্যবহার করে। - কিছু লিনাক্স ইনস্টলেশনে Qt-নির্ভর কিছু লাইব্রেরির বেমানান সংস্করণ থাকার সমস্যা সমাধানের জন্য, আমরা এখন এমুলেটরের সাথে
libfreetype,libsoftokn,libsqlite3এবংlibxkbcommonপ্যাকেজ করি। - অনির্ভরযোগ্য ফলাফল প্রদানকারী Qt লাইব্রেরিগুলোর পরিবর্তে, এমুলেটরটি এখন মনিটরের মাত্রা পাওয়ার জন্য প্ল্যাটফর্মের নিজস্ব উইন্ডোইং লাইব্রেরি ব্যবহার করে।
কোল্ড বুটের পরে স্বয়ংক্রিয় সিপিইউ অপ্টিমাইজেশন
সিপিইউ ব্যবহারের বিষয়টি সমাধান করতে, এমুলেটরটি এখন boot complete সংকেত পাওয়ার পর কোল্ড বুটের সময় নিম্নলিখিত ADB কমান্ডগুলো চালায়:
-
adb shell settings put screen_off_timeout 214783647 - এই কমান্ডটি স্ক্রিন অফ টাইমআউট বাড়িয়ে দেয়, ফলে এমুলেটরটি চার্জ না দিয়েই ব্যাটারি মোডে ব্যবহার করা যায়। ব্যাটারি মোডে, ব্যাকগ্রাউন্ডে সিপিইউ-এর ব্যবহার ব্যাপকভাবে কমে যায়।
- এসি চার্জিং মোডে, অ্যাপ আপডেটের মতো GMSCore ব্যাকগ্রাউন্ড অপারেশনগুলো কোনো পূর্ব সতর্কবার্তা ছাড়াই ডিভাইসের সমস্ত সিপিইউ কোর—এবং ফলস্বরূপ, ব্যবহারকারীর মেশিন—দখল করে নিতে পারে।
-
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO - এই কমান্ডটি গুগল সার্চ অ্যাপের মাইক্রোফোন ব্যবহারের অনুমতি বাতিল করে দেয়, যার ফলে গুগল সার্চ অ্যাপটি সক্রিয় থাকাকালীন হোম স্ক্রিনে এবং লঞ্চারে ব্যাকগ্রাউন্ড সিপিইউ ব্যবহার ব্যাপকভাবে কমে যায়।
- হোস্টের জন্য হোস্ট অডিও নিষ্ক্রিয় করার এমুলেটরের ডিফল্ট আচরণের পাশাপাশি এই কমান্ডটি চালানো হয়। অধিকন্তু, এটি স্বয়ংক্রিয়ভাবে 28.0.23 রিলিজ থেকে হটওয়ার্ড সনাক্তকরণের জন্য বর্ণিত সিপিইউ ব্যবহারের প্রশমন প্রদান করে।
পারফরম্যান্স নিরীক্ষণের জন্য নতুন পরিবেশ ভেরিয়েবল
এখন আপনি দুটি নতুন এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করে এমুলেটরের পারফরম্যান্স এবং রিসোর্স ব্যবহারের বিস্তারিত পর্যবেক্ষণ করতে পারবেন।
-
SHOW_PERF_STATS=1 - এই এনভায়রনমেন্ট ভেরিয়েবলটি সিপিইউ এবং র্যাম উভয়ের ব্যবহার ট্র্যাক করতে সক্ষম করে। র্যাম ব্যবহারের ট্র্যাকিং গ্রাফিক্স ব্যবহার এবং মোট রেসিডেন্ট মেমরির মধ্যে পার্থক্য করে।
-
ANDROID_EMU_TRACING=1 - এই এনভায়রনমেন্ট ভেরিয়েবলটি প্রতিবার কোনো ইনপুট বা গ্রাফিক্স অপারেশনে দীর্ঘ সময় (১ মিলিসেকেন্ডের বেশি) লাগলে প্রিন্ট করা সক্ষম করে।
- আমরা এই এনভায়রনমেন্ট ভেরিয়েবলটি সেইসব সমস্যা নির্ণয় করতেও ব্যবহার করছি, যেগুলোতে উইন্ডোজ ব্যবহারকারীরা macOS বা Linux-এর ব্যবহারকারীদের তুলনায় বেশি জ্যাঙ্ক (ফ্রেম ড্রপ)-এর সম্মুখীন হয়েছেন।
সাধারণ প্রকল্পের মার্বেল উন্নয়ন
এই আপডেটে ‘প্রজেক্ট মার্বেল’ উদ্যোগের অংশ হিসেবে নিম্নলিখিত সাধারণ উন্নতিগুলোও অন্তর্ভুক্ত রয়েছে:
- এখন আপনি নিম্নলিখিত কনসোল কমান্ডগুলির মাধ্যমে এমুলেটরের সমস্ত vCPU অবিলম্বে বিরতি দিতে পারেন:
-
adb emu avd pause -
adb emu avd resume
-
- OpenGL ড্রয়িংয়ের ওভারহেড ব্যাপকভাবে হ্রাস করা হয়েছে। এই উন্নতির ফলে এমুলেটরটি অ্যানিমেশন চালানোর সময় সিপিইউ-এর ব্যবহার কমে যায়।
- মেইনলাইন QEMU-এর e1000 ভার্চুয়াল নেটওয়ার্ক ডিভাইসের জন্য সমর্থন পুনরুদ্ধার করা হয়েছে। আপনি এই ডিভাইসটি ব্যবহার করে একটি ব্রিজড নেটওয়ার্ক পরিবেশে এমুলেটর সেট আপ করতে পারেন। একটি ব্রিজড নেটওয়ার্ক পরিবেশে, এমুলেটরটি হোস্ট নেটওয়ার্কে এবং হোস্ট নেটওয়ার্কটি এমুলেটরে প্রদর্শিত হয়।
- এখন এমুলেটরটি চালু করতে QEMU 2.12-এর জন্য উপযুক্ত BIOS বাইনারি ব্যবহার করা হয়।
- ভিডিও এনকোডিং এবং ডিকোডিংয়ের জন্য
ffmpegসংস্করণটি 3.4.5-এ আপগ্রেড করা হয়েছে। -
select()ভিত্তিক মেইন লুপকেkqueueভিত্তিক মেইন লুপ দ্বারা প্রতিস্থাপন করার মাধ্যমে macOS-এ QEMU মেইন লুপের I/O ওভারহেড ব্যাপকভাবে হ্রাস করা হয়েছে। - এমুলেটরের সাথে লগক্যাট চালানোর সময় অনিয়মিত ও অপ্রত্যাশিত EOF সংক্রান্ত সমস্যা সমাধানের জন্য লগক্যাট বাফার সাইজ ২ মেগাবাইটে বাড়ানো হয়েছে।
- এমুলেটরটি এখন ডিফল্টরূপে
LC_ALL=Cএনভায়রনমেন্ট ভেরিয়েবলটি এক্সপোর্ট করে। এই পরিবর্তনটি বিভিন্ন লোকেলে এমুলেটর চালানোর সাথে সম্পর্কিত ক্র্যাশ এবং সামঞ্জস্যহীনতার সমস্যাগুলোর সমাধান করে। - এখন আপনি Extended Controls > Settings > Advanced > Performance Stats- এ গিয়ে পারফরম্যান্স স্ট্যাটস ব্যবহার করে এমুলেটরের সিপিইউ এবং র্যাম ব্যবহারের হিসাব রাখতে পারবেন। এমুলেটরটি যদি অতিরিক্ত সিপিইউ বা র্যাম ব্যবহার করছে বলে মনে হয়, তবে সমস্যা দ্রুত নির্ণয় করতে এই স্ট্যাটসগুলো ব্যবহার করুন।
-
glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPEএখন এমুলেটেড ফলাফলের পরিবর্তে হোস্ট GPU-এর ফলাফল ব্যবহার করে। এই পরিবর্তনটি সেইসব সমস্যা সমাধানে সাহায্য করে যেখানে রিডব্যাকের অনুপযুক্ত ফরম্যাটের কারণে ছবি এবং অ্যাসেট প্রদর্শিত হতো না। - হোস্ট দ্বারা সমর্থিত হলে, OpenGL ES এক্সটেনশন
GL_EXT_texture_format_BGRA8888এবংGL_APPLE_texture_format_BGRA8888এর জন্য সমর্থন যোগ করা হয়েছে। - বাগরিপোর্ট UI-তে আরও ডায়াগনস্টিক তথ্য যোগ করা হয়েছে। এছাড়াও, আপনি নিম্নলিখিত কমান্ডগুলো ব্যবহার করে কনসোল থেকে বাগ রিপোর্ট অ্যাক্সেস করতে পারবেন:
-
telnet localhost 5554 -
avd bugreport
-
- অ্যান্ড্রয়েড Q সিস্টেম ইমেজে, এমুলেটরটি তার ন্যূনতম র্যামের পরিমাণ বাড়িয়ে ২ জিবি করে।
- যখনই OpenGL বা হাইপারভাইজর ইনিশিয়ালাইজ করতে ব্যর্থ হয়, তখন আরও বেশি লগিং এবং প্রিন্টিং-এর ব্যবস্থা করা হয়েছে।
- যদি এমুলেটর কোনো AVD-এর একটি যুগপৎ
-read-onlyইনস্ট্যান্স চালু করতে না পারে, তবে এমুলেটরটি এখন ৩ সেকেন্ডের মধ্যে সেই-read-onlyAVD-টিকে আরও ৩ বার পুনরায় চালু করার চেষ্টা করবে। এই পরিবর্তনের ফলে এমুলেটরের পক্ষে একটি AVD-এর যুগপৎ-read-onlyইনস্ট্যান্স চালু করার সম্ভাবনা বৃদ্ধি পায়, যদি সেই AVD-এর অন্যান্য রাইটেবল ইনস্ট্যান্সগুলো অপ্রচলিত ফাইলগুলো পরিষ্কার করার কাজ শেষ না করে থাকে। - আসন্ন সিস্টেম ইমেজগুলোতে, এমুলেটরটি এখন হার্ডওয়্যার কম্পোজার ২.০ সমর্থন করে। এই পরিবর্তনের ফলে বেশিরভাগ অ্যানিমেশন চালানোর সময় ড্রাইভারের ওভারহেড কমে আসবে।
- এমুলেটর বিল্ডটি এখন CMake/Ninja-এর উপর ভিত্তি করে তৈরি।
- এমুলেটরের বর্ধিত কন্ট্রোল UI-তে, কীবোর্ড শর্টকাট টেবিলের বিভাজক রেখাগুলো পুনরুদ্ধার করা হয়েছে।
- ব্যবহারকারীরা এখন প্রতি ১০ সেকেন্ড অন্তর আমাদের টিমকে সিপিইউ এবং র্যাম ব্যবহারের মেট্রিক্স প্রদান করার জন্য সম্মতি জানাতে পারেন। আমরা এই মেট্রিক্সগুলো ব্যবহার করে আমাদের ব্যবহারকারীদের বিভিন্ন ব্যবহারের ক্ষেত্র থেকে প্রাপ্ত তথ্যের মাধ্যমে এমুলেটরের রিসোর্স ব্যবহার সম্পর্কিত ডেটাকে সমৃদ্ধ করি, যা আমাদের এমুলেটরটিকে আরও কার্যকর এবং প্রতিক্রিয়াশীল করে তুলতে সাহায্য করে।
সাধারণ প্রকল্পের মার্বেল মেরামত
এই আপডেটে প্রজেক্ট মার্বেল উদ্যোগের অংশ হিসেবে নিম্নলিখিত সাধারণ সংশোধনগুলোও অন্তর্ভুক্ত রয়েছে:
- অ্যান্ড্রয়েড কিউ সিস্টেম ইমেজ ব্যবহার করার সময় ইন্টেল জিপিইউ যুক্ত সিস্টেমে প্রদর্শিত ঝাঁকুনি এবং ভুল ফ্রেমের সমস্যাগুলো সমাধান করা হয়েছে।
- পিক্সেল ২ এক্সএল স্কিন (অথবা নচ বা গোলাকার কোণাযুক্ত যেকোনো স্কিন) এর সাথে অ্যান্ড্রয়েড কিউ সিস্টেম ইমেজ ব্যবহার করার সময় কালো স্ক্রিন প্রদর্শিত হওয়ার সমস্যাটি সমাধান করা হয়েছে।
- এমন একটি সমস্যার সমাধান করা হয়েছে যেখানে
-partition-sizeকমান্ড লাইন অপশনটি ডেটা পার্টিশনের আকার নির্ধারণ করত না। - এমন একটি সমস্যার সমাধান করা হয়েছে যেখানে Linx এমুলেটরে পালসঅডিও কিছু ক্ষেত্রে স্পিন করে একটি সম্পূর্ণ সিপিইউ কোর দখল করে নিত।
- কম্প্রেসড টেক্সচার প্রসেস করার সময় মেমোরির সীমার বাইরে অ্যাক্সেস সংক্রান্ত সমস্যা সমাধান করা হয়েছে।
- নির্দিষ্ট কিছু gralloc বাফার (RGB 565, RGB10A2, RGB(A)16F ফরম্যাটের) আপডেট করার সময়
glTexSubImage2Dতে হোস্টে যে GL ত্রুটিগুলো ঘটত, তা সংশোধন করা হয়েছে। - স্ন্যাপশটসহ অ্যান্ড্রয়েড কিউ সিস্টেম ইমেজগুলিতে একটি ডিসপ্লে সমস্যা সমাধান করা হয়েছে, যেখানে নোটিফিকেশন শেডের জ্যামিতি একটি অনুপযুক্ত ইনস্ট্যান্স ডিভাইজর সেটিং দিয়ে রেন্ডার করা হচ্ছিল।
- চালু হওয়ার সময় Qt-এর সিগন্যাল হারিয়ে যাওয়া বা এর অবস্থা অস্থিতিশীল ও অসামঞ্জস্যপূর্ণ থাকার কারণে যে কয়েকটি ক্র্যাশ এবং ফ্রিজ সমস্যা হতো, যা পুনরায় ঘটানো কঠিন ছিল, সেগুলোর সমাধান করা হয়েছে।
- বহুবিধ কনকারেন্সি সমস্যা সমাধান করা হয়েছে। আমরা এখন থ্রেডস্যানিটাইজার (TSAN) ব্যবহার করে লিনাক্স এমুলেটরটি বিল্ড করতে সক্ষম, যা এমন সব বাগ সহজেই খুঁজে বের করতে পারে যেগুলো অন্যথায় পুনরায় তৈরি করা কঠিন।
- লিনাক্স ব্যবহারকারীদের জন্য: আমরা দেখেছি যে কিছু নির্দিষ্ট হোস্ট কার্নেলে, গেস্ট অ্যান্ড্রয়েড কার্নেলটি একটি সাধারণ হার্ডওয়্যার ত্রুটি দেখিয়ে KVM-এ বন্ধ হয়ে যেতে পারে। ডিবাগ করার সুবিধা বাড়ানোর জন্য, এখন থেকে এমনটি ঘটলে এমুলেটরটি
abort()যাবে (আগে এমুলেটরটি শুধু হ্যাং হয়ে যেত)। - লিনাক্স ব্যবহারকারীদের জন্য: CI সেটআপের সুবিধার জন্য, আপনারা
stdoutএবংstderrউভয়কেই একটি ফাইলে রিডাইরেক্ট করতে নতুন-stdouterr-file <file-name>কমান্ড লাইন অপশনটি ব্যবহার করতে পারেন। -
SO_REUSEADDRভুল ব্যবহারের সমস্যাটি সমাধান করা হয়েছে। আরও তথ্যের জন্য, কমিটের বিবরণ দেখুন। - উইন্ডোজ এমুলেটরের একটি দীর্ঘদিনের সমস্যার সমাধান করা হয়েছে, যেখানে ব্যবহারকারীর নামে স্পেস থাকলে ADB কমান্ডের মতো সাব-প্রসেসগুলো চালু হতে ব্যর্থ হতো।
- HAXM vCPU থ্রেডগুলিতে RCU-এর অসম্পূর্ণ প্রারম্ভিকতার সমস্যাটি সমাধান করা হয়েছে। এই সমাধানটি সম্ভবত কিছু ক্র্যাশ এবং রেস কন্ডিশনের সমাধান করতে পারে।
- সাম্প্রতিক অ্যান্ড্রয়েড কিউ সিস্টেম ইমেজ ব্যবহার করে স্ন্যাপশট UI থেকে নির্দিষ্ট কিছু প্যাটার্নে স্ন্যাপশট সেভ ও লোড করার সময় যে ক্র্যাশটি ঘটত, তা সমাধান করা হয়েছে।
- একটি সমস্যার সমাধান করা হয়েছে যেখানে কোনো স্ন্যাপশট সেভ করার সময় যদি একটি এআর ম্যাক্রো চালু থাকতো, তাহলে সেই স্ন্যাপশট থেকে এমুলেটর ইনিশিয়ালাইজ করার সময় ভার্চুয়াল সিন ক্যামেরাটি ফাঁকা দেখা যেত।
- একটি সমস্যার সমাধান করা হয়েছে যেখানে রিমোট ডেস্কটপ সেটআপ থাকা কিছু ব্যবহারকারী লিনাক্সে এমুলেটর চালু করার সময় একটি কালো স্ক্রিন পেতেন। এটি এড়ানোর জন্য, এমুলেটরটি এখন স্পষ্টভাবে
MESA_RGB_VISUALকনফিগার করে। আরও তথ্যের জন্য, কমিটের বিবরণ দেখুন। - টিভি এভিডি-তে রোটেট বাটনগুলো প্রদর্শিত হওয়ার সমস্যাটি সমাধান করা হয়েছে।
- একটি সমস্যার সমাধান করা হয়েছে যেখানে এমুলেটরকে সর্বদা উপরে (always on top) সেট করা থাকলে, প্রতিবার এমুলেটর ঘোরানোর সময় বর্ধিত কন্ট্রোল উইন্ডোটি (extended controls window) প্রদর্শিত হতো।
ফোল্ডেবল ডিভাইসের জন্য হার্ডওয়্যার প্রোফাইল
এমুলেটরটিতে এখন ফোল্ডেবল ডিভাইসের জন্য হার্ডওয়্যার প্রোফাইল অন্তর্ভুক্ত করা হয়েছে। এই নতুন হার্ডওয়্যার প্রোফাইলগুলো ব্যবহার করার জন্য, আপনাকে অবশ্যই অ্যান্ড্রয়েড স্টুডিও ৩.৫ ক্যানারি ১০ বা তার উচ্চতর সংস্করণ ব্যবহার করতে হবে।
দুটি ফোল্ডেবল হার্ডওয়্যার প্রোফাইল রয়েছে যা ব্যবহার করে আপনি একটি এভিডি তৈরি করতে পারেন:
- ৭.৩" ভাঁজযোগ্য: খোলা অবস্থায় ১৫৩৬x২১৫২, ৪.৬" ভাঁজ করা অবস্থায় ৮৪০x১৯৬০
- ৮" ফোল্ডেবল: খোলা অবস্থায় ২২০০x২৪৮০, ৬.৬": ভাঁজ করা অবস্থায় ১৪৮০x২৪৮০
যখন আপনি এই হার্ডওয়্যার প্রোফাইলগুলির মধ্যে একটি ব্যবহার করে এমুলেটরটি চালান, তখন আপনি এমুলেটর টুলবারের ফোল্ড ও আনফোল্ড অ্যাকশন , কনসোল কমান্ড , অথবা নিম্নলিখিত কীবোর্ড শর্টকাটগুলি ব্যবহার করে ডিভাইসটি ফোল্ড ও আনফোল্ড করতে পারেন:
- ফোল্ড:
Ctrl + F(macOS-এCommand + F) - খুলুন:
Ctrl + U(macOS-এCommand + U)
এআর ম্যাক্রো
এমুলেটরটিতে এখন এআর ম্যাক্রো অন্তর্ভুক্ত করা হয়েছে, যা আপনাকে সাধারণ এআর অ্যাকশনগুলো পরীক্ষা করতে সাহায্য করতে পারে। উদাহরণস্বরূপ, আপনি একটি ম্যাক্রো ব্যবহার করে ডিভাইসটির সমস্ত সেন্সরকে তাদের ডিফল্ট অবস্থায় রিসেট করতে পারেন।
আরও তথ্যের জন্য, ম্যাক্রো দিয়ে সাধারণ AR অ্যাকশনগুলো পরীক্ষা করুন দেখুন।
ভুলকান সমর্থন (উইন্ডোজ, লিনাক্স)
উইন্ডোজ এবং লিনাক্স ব্যবহারকারীরা এখন একটি সামঞ্জস্যপূর্ণ সিস্টেম ইমেজ (ভুলকান ১.১-এর জন্য অ্যান্ড্রয়েড কিউ বিটা ৩ বা তার উচ্চতর সংস্করণ, এবং ভুলকান ১.০-এর জন্য অ্যান্ড্রয়েড কিউ বিটা ২) এবং একটি সামঞ্জস্যপূর্ণ হোস্ট জিপিইউ (এর মধ্যে ২০১৪ এবং তার পরবর্তী সময়ের বেশিরভাগ ইন্টেল, এনভিডিয়া, এবং এএমডি জিপিইউ অন্তর্ভুক্ত) ব্যবহার করে অ্যান্ড্রয়েড এমুলেটরের মাধ্যমে ভুলকান ১.১ পর্যন্ত ভুলকান অ্যাপ পরীক্ষা করতে পারবেন।
Vulkan সাপোর্ট চালু করতে, আপনাকে অবশ্যই আপনার ~/.android/advancedFeatures.ini ফাইলে নিম্নলিখিত ফিচার ফ্ল্যাগগুলি যোগ করতে হবে (ফাইলটি না থাকলে তৈরি করুন):
-
Vulkan = on -
GLDirectMem = on
রম ডেভেলপারদের জন্য প্রাথমিক সমর্থন
যেসব রম ডেভেলপার AOSP master ব্রাঞ্চে sdk_phone_x86 অথবা sdk_phone_x86_64 ( userdebug , eng ভ্যারিয়েন্ট) টার্গেটগুলো বিল্ড করছেন, তারা এখন একটি Vulkan-সক্ষম এমুলেটর চালাতে পারবেন।
এই সাপোর্টটি এখনও পরীক্ষামূলক পর্যায়ে রয়েছে এবং এটি মূলত সেইসব ডেভেলপারদের জন্য যারা সিস্টেম ইমেজ, ড্রাইভার এবং গেম ইঞ্জিন নিয়ে কাজ করেন। এখনও অনেক এক্সটেনশন অনুপস্থিত। তবে, HOST_COHERENT মেমরি সমর্থিত হয়েছে এবং আপনি এখন ভলকান এপিআই টিউটোরিয়াল স্যাম্পলগুলো চালাতে পারবেন।
আপনি যদি লিনাক্স ব্যবহার করেন, তাহলে নিচের কমান্ডগুলো ব্যবহার করে এটি চেষ্টা করতে পারেন:
mkdir aosp-mastercd aosp-masterrepo init -u https://android.googlesource.com/platform/manifest -b master --depth=1repo sync -c -j12. build/envsetup.shlunch sdk_phone_x86_64-userdebugmake -j12emulator -no-snapshot -feature Vulkan,GLDirectMem
ভলকান দিয়ে স্কিয়া রেন্ডারিং
যেসব NVIDIA এবং AMD GPU Vulkan সমর্থন করে, সেগুলো GL_EXT_memory_objects এক্সটেনশনের মাধ্যমে OpenGL-এর সাথে জিরো-কপি ইন্টারঅপও সমর্থন করে। এমুলেটরটি Skia Vulkan API ব্যবহার করে অ্যান্ড্রয়েড UI রেন্ডার করার একটি সম্পূর্ণ উপায় প্রদান করতে এই সক্ষমতাকে কাজে লাগায়।
আপনার যদি ভলকান (Vulkan) সমর্থনকারী কোনো এনভিডিয়া (NVIDIA) বা এএমডি (AMD) জিপিইউ (GPU) থাকে, তাহলে একটি সামঞ্জস্যপূর্ণ সিস্টেম ইমেজ (অ্যান্ড্রয়েড কিউ বিটা ৩ এবং উচ্চতর সংস্করণ) দিয়ে স্কিয়া (Skia) রেন্ডারিং পরীক্ষা করতে নিম্নলিখিত কমান্ডগুলো ব্যবহার করুন:
adb shellsusetprop debug.hwui.renderer skiavkstopstart
macOS-এ Vulkan-এর সমর্থন
macOS-এর জন্য সমর্থন এখনও পরীক্ষামূলক পর্যায়ে রয়েছে, কিন্তু এমুলেটরটিতে ইতিমধ্যেই Swiftshader , MoltenVK , এবং libportability ( gfx-rs ) API-গুলো অন্তর্ভুক্ত আছে। নিম্নলিখিত এনভায়রনমেন্ট ভেরিয়েবলগুলো সেট করার মাধ্যমে আপনি এই API-গুলো নিয়ে পরীক্ষা-নিরীক্ষা করতে পারেন:
- সুইফটশেডার:
ANDROID_EMU_VK_ICD=swiftshader - MoltenVK:
ANDROID_EMU_VK_ICD=moltenvk - libportability:
ANDROID_EMU_VK_ICD=portability
পরিচিত সমস্যা
মাঝে মাঝে HAXM গেস্ট-এ ভলকান কোহেরেন্ট মেমোরি ম্যাপ করতে ব্যর্থ হয় এবং এমুলেটরটি বন্ধ করে দেয়। HAXM-এর একটি আসন্ন আপডেটে এই সমস্যার সমাধান করা হবে।
gRPC স্ট্রিমিং এমুলেটর (লিনাক্স)
আমরা সর্বদা হোস্ট জিপিইউ রেন্ডারিং এবং বিস্তৃত পরিসরের চলমান প্রেক্ষাপটে ইন্টারঅ্যাক্টিভিটির সুযোগ দিয়ে এমুলেটরটিকে যথাসম্ভব বহুমুখী করে তোলার চেষ্টা করছি। আমাদের সিআই এবং রিমোট ডেস্কটপ ব্যবহারকারীদের নিম্নলিখিত দীর্ঘস্থায়ী সমস্যাগুলো রয়েছে:
- প্রোগ্রামের মাধ্যমে এমুলেটরে ইনপুট কমান্ড পাঠানোর দুটি উপায় আছে: হয় adb শেল কমান্ড চালানো, যাতে উচ্চ ওভারহেড থাকতে পারে, অথবা টেলনেট কনসোল ব্যবহার করা, যা দ্রুততর হলেও নির্দিষ্ট কিছু নেটওয়ার্ক কনফিগারেশনে কাজ নাও করতে পারে।
- CI ব্যবহারকারীরা প্রায়শই এমুলেটরগুলি হেডলেস মোডে চালান, যার ফলে এমন সমস্যাগুলি লক্ষ্য করা কঠিন হয়ে পড়ে যেগুলির জন্য স্ক্রিন দৃশ্যমান বা ইন্টারেক্টিভ থাকা প্রয়োজন।
- হোস্ট জিপিইউ রেন্ডারিং ব্যবহার করার সময় রিমোট ডেস্কটপ ব্যবহারকারীরা প্রায়শই এমুলেটরের সাথে ইন্টারঅ্যাক্ট করতে পারেন না, কারণ জিপিইউ রেন্ডারিং প্রায়শই হোস্টের নন-ভার্চুয়াল ডিসপ্লেগুলোর সাথে সংযুক্ত থাকে।
এর সমাধান করতে, লিনাক্স মেশিনে চালানোর সময় এমুলেটরটি এখন একটি gRPC পরিষেবা প্রদান করে। gRPC হলো RPC-এর একটি সাধারণ ফ্রেমওয়ার্ক যা HTTP-এর মাধ্যমে কাজ করে।
ডিফল্টরূপে, এমুলেটরের gRPC পরিষেবাটি নিষ্ক্রিয় থাকে, কিন্তু আপনি নিম্নলিখিত কমান্ড লাইন বিকল্পটি ব্যবহার করে পরিষেবাটি সক্রিয় করতে পারেন, যেখানে <port> হলো সেই পোর্ট যেটিতে এমুলেটর gRPC অনুরোধগুলি পরিবেশন করবে (সাধারণত 5556 ):
-grpc <port>
সার্ভিসটি চালু হয়ে গেলে, ক্লায়েন্ট থেকে gRPC কমান্ড জারি করা যাবে। বর্তমান কমান্ড সেটটি ইনপুট ইভেন্ট পাঠানো এবং স্ক্রিনশট গ্রহণ করা—উভয়ই করতে দেয়। এই কমান্ডগুলো নিম্নলিখিত সমস্যাগুলো সমাধানে সাহায্য করে:
- HTTP-এর মাধ্যমে খুব কম ওভারহেডে এমুলেটরে ইনপুট কমান্ড পাঠানো যায়। HTTP অতিরিক্ত নেটওয়ার্ক কনফিগারেশনেও কমান্ড পাঠানোর সুযোগ দেয়।
- এমুলেটরটি হেডলেস মোডে চললেও, বর্তমান স্ক্রিনটি দেখার জন্য স্ক্রিনশট কমান্ড পাঠানো যেতে পারে। ইন্টারঅ্যাক্টিভিটির জন্য, ইনপুট ইভেন্টগুলোও এমুলেটরে ফেরত পাঠানো যায়।
- রিমোট ডেস্কটপ ব্যবহারকারীরা জিপিইউ অ্যাক্সিলারেটেড রেন্ডারিং সহ প্রধান ডিসপ্লেতে হেডলেস মোডে এমুলেটরটি চালাতে পারেন এবং একই সাথে স্ক্রিনশট নিতে ও এমুলেটরের সাথে ইন্টারঅ্যাক্ট করার জন্য ইনপুট ইভেন্ট পাঠাতে gRPC ব্যবহার করতে পারেন।
উপলব্ধ কমান্ডগুলির সম্পূর্ণ তালিকার জন্য, এই প্রোটোবাফটি দেখুন।
gRPC দিয়ে কাজ শুরু করতে আপনাকে সাহায্য করার জন্য, আমরা কিছু নমুনা ক্লায়েন্ট দিয়েছি যা আপনি দেখতে পারেন।
বর্তমানে, এর মধ্যে নিম্নলিখিত নমুনাগুলো অন্তর্ভুক্ত রয়েছে:
- একটি গো-ভিত্তিক পরিষেবা যা এমুলেটরের অবস্থা জানতে ব্যবহার করা যেতে পারে।
- একটি React অ্যাপ যা স্ক্রিনশট এবং ইনপুট RPC-এর মাধ্যমে রিমোট ইন্টারঅ্যাকটিভিটি প্রদর্শন করে। এই স্যাম্পলটির জন্য protobuf ভার্সন 3.7.0 বা তার উচ্চতর সংস্করণ প্রয়োজন।
- একটি পাইথন নমুনা যা এমুলেটরের ভিএম কনফিগারেশন জিজ্ঞাসা করে এবং তারপর একাধিক কমান্ড পাঠায়।
২৮.০.২৫ (২৯ মার্চ, ২০১৯)
এই আপডেটে নিম্নলিখিত উন্নতি ও সংশোধনগুলো অন্তর্ভুক্ত করা হয়েছে:
হেডলেস এমুলেটর বিল্ড
সিস্টেমটি Qt এবং এর শেয়ার্ড লাইব্রেরি নির্ভরতাগুলোকে সমর্থন করতে পারবে—এমন একটি অন্তর্নিহিত প্রত্যাশার কারণে (অন্যান্য সমস্যার পাশাপাশি) ডকার এবং অন্যান্য কন্টিনিউয়াস ইন্টিগ্রেশন (CI) ওয়ার্কফ্লোর সাথে এমুলেটরটি সেট আপ করা কঠিন হয়ে পড়েছে।
এর সমাধানের প্রথম পদক্ষেপ হিসেবে, আমরা QEMU এক্সিকিউটেবলসহ এমুলেটর লঞ্চারের এমন একটি সংস্করণ চালু করেছি যা Qt-এর উপর নির্ভরশীল নয়। লিনাক্সে এখনও libX11 এর একটি লিঙ্ক রয়েছে, কিন্তু আমরা আশা করি শীঘ্রই সেটিও সরিয়ে ফেলব।
হেডলেস এমুলেটর ব্যবহার করতে, কমান্ড লাইন থেকে যথারীতি এমুলেটরটি চালান, কিন্তু এমুলেটর বাইনারি ইনভোকেশনটি emulator-headless দিয়ে প্রতিস্থাপন করুন। আরও তথ্যের জন্য, 28.1.8 ক্যানারি রিলিজ আপডেটটি দেখুন।
- অ্যান্ড্রয়েড কিউ সিস্টেম ইমেজ চালানোর সময় ইন্টেল জিপিইউ-তে ঝাঁকুনি এবং ভুল ফ্রেম প্রদর্শনের সমস্যা সমাধান করা হয়েছে।
- পিক্সেল ২ এক্সএল স্কিনের সাথে অ্যান্ড্রয়েড কিউ সিস্টেম ইমেজ ব্যবহার করার সময় কালো স্ক্রিন প্রদর্শিত হওয়ার সমস্যাটি সমাধান করা হয়েছে।
- এমুলেটর চালু করার জন্য এখন সর্বশেষ BIOS বাইনারি ব্যবহার করা হয়। এই পরিবর্তনটি "vCPU shutdown request" ত্রুটি কমাতে সাহায্য করতে পারে, যা উইন্ডোজে এমুলেটর চালু করার সময় মাঝে মাঝে ঘটে থাকে।
- 'স্ন্যাপশট থেকে অ্যান্ড্রয়েড কিউ সিস্টেম ইমেজ পুনরায় চালু করার সময় ভুল ডিসপ্লে' সমস্যার সমাধানটি ব্যাকপোর্ট করা হয়েছে।
- platform-tools 28.0.2-এ ADB-এর একটি অসঙ্গত পরিবর্তনের কারণে ব্যবহারকারীরা "অননুমোদিত" এমুলেটর সংক্রান্ত সমস্যার সম্মুখীন হচ্ছিলেন। এখন আপনি এমুলেটরের সাথে platform-tools 28.0.2 থেকে নিরাপদে ADB ব্যবহার করতে পারেন। আপনি যদি "অননুমোদিত" এমুলেটর নিয়ে সমস্যার সম্মুখীন হন, তবে নিম্নলিখিত সমস্যা সমাধানের পদক্ষেপগুলি অনুসরণ করুন:
- সমস্ত এমুলেটর থেকে প্রস্থান করুন।
-
~/.android/adbkeyএবং~/.android/adbkey.pubউভয় ফাইল মুছে ফেলুন। - নিম্নলিখিত কমান্ডটি চালান:
adb kill-server - নিম্নলিখিত কমান্ডটি চালান:
adb devices - AVD ডেটা মুছে ফেলুন।
- এমুলেটরটি পুনরায় চালু করুন।
২৮.০.২৩ (২৯শে জানুয়ারি, ২০১৯)
এই আপডেটে নিম্নলিখিত উন্নতি ও সংশোধনগুলো অন্তর্ভুক্ত করা হয়েছে:
হোস্ট অডিও ইনপুট ডিফল্টরূপে নিষ্ক্রিয় থাকে
রেডিটে সম্প্রতি প্রকাশিত একটি পোস্টে বিস্তারিতভাবে জানানো হয়েছে যে, গেস্ট অ্যান্ড্রয়েড ওএস সবসময় হোস্ট মাইক্রোফোনের অডিও ব্যবহার করছিল, যার ফলে অপ্রত্যাশিতভাবে "ওকে গুগল" কাজ করছিল। আমরা এর জন্য দুঃখিত এবং অ্যান্ড্রয়েড টিমের সাথে কাজ করে নিশ্চিত করব যেন সিস্টেম ইমেজেও হটওয়ার্ড ডিটেকশন নিষ্ক্রিয় থাকে।
এর সমাধানের জন্য, আমরা নিম্নলিখিত পরিবর্তনগুলো করেছি:
- হোস্টের আসল অডিও ডেটা এখন ডিফল্টরূপে দমন করা হয়। যখন অতিথি মাইক্রোফোন ব্যবহার করেন, তখন হোস্টের অডিওর পরিবর্তে নীরবতা শোনা যায়।
- আপনি যদি হোস্ট অডিও ডেটা ব্যবহার করতে চান, তাহলে এখন Extended Controls > Microphone- এ গিয়ে ‘Virtual microphone uses host audio input’ অপশনটি চালু করতে পারেন। যখনই এমুলেটরটি পুনরায় চালু করা হয়, এই অপশনটি স্বয়ংক্রিয়ভাবে নিষ্ক্রিয় হয়ে যায়।
সিপিইউ ব্যবহার সংক্রান্ত তদন্তের হালনাগাদ তথ্য
আমাদের প্রজেক্ট মার্বেল অনুসন্ধানকালে আমরা লক্ষ্য করেছি যে, এমুলেটরে উচ্চ সিপিইউ ব্যবহার সাধারণত নিম্নলিখিত তিনটি শ্রেণীতে পড়ে:
নিষ্ক্রিয় অবস্থায়: প্লে স্টোরের ছবিগুলিতে অ্যাপের স্বয়ংক্রিয় আপডেট
আমরা দেখেছি যে, ব্যবহারকারী লগ ইন করা না থাকলেও, কিছু সময় পর পর ইনস্টল করা সমস্ত অ্যাপ আপডেট হয়ে যায়। এই প্রক্রিয়ার সময়, GMSCore এবং dex2oat-এ সিপিইউ-এর ব্যবহার কোরের সংখ্যা x ১০০% (সাধারণত ~৪০০%) পর্যন্ত বেড়ে যায়। প্লে স্টোর অ্যাপে স্বয়ংক্রিয় অ্যাপ আপডেট বন্ধ করে আপনি এই সমস্যাটি সমাধান করতে পারেন।
নিষ্ক্রিয় অবস্থায়: হটওয়ার্ড সনাক্তকরণ
হোম স্ক্রিনে থাকা অবস্থায় এবং কোনো অ্যাপ ফোরগ্রাউন্ডে না থাকলে, সিপিইউ-এর ব্যবহার অনেক বেড়ে যেতে পারে (প্রায় ২৫%, যা মাঝে মাঝে ৫০% পর্যন্ত পৌঁছায়)। এর কারণ হলো হটওয়ার্ড ডিটেকশন, যা ক্রমাগত হোস্টকে পিং করতে থাকে। হোস্ট অডিও ইনপুট নিষ্ক্রিয় করে আপনি এই সমস্যার সমাধান করতে পারবেন না, কারণ সিপিইউ-এর এই খরচের প্রধান কারণ হলো হোস্ট থেকে গেস্ট-এ ডেটা পৌঁছাতে যে সময় লাগে তা। তবে, গুগল অ্যাপ থেকে মাইক্রোফোনের অনুমতি প্রত্যাহার করে আপনি এই সমস্যার সমাধান করতে পারেন।
সক্রিয় থাকা অবস্থায়, এবং কখনও কখনও নিষ্ক্রিয় অবস্থায়: অ্যানিমেশন
উচ্চ সিপিইউ ব্যবহারের তৃতীয় উৎস হলো অ্যানিমেশন। আমরা দেখেছি যে, গ্রাফিক্স ড্রাইভার স্ট্যাক অপ্টিমাইজ করার মাধ্যমে এমুলেটর নিষ্ক্রিয় না থাকলেও সিপিইউ ব্যবহার কমানো সম্ভব। প্রজেক্ট মার্বেল-এর অংশ হিসেবে আমরা পর্যায়ক্রমে গ্রাফিক্স ড্রাইভার অপ্টিমাইজেশন চালু করব।
২৮.০.২২ (২১শে ডিসেম্বর, ২০১৮)
এই আপডেটে নিম্নলিখিত উন্নতি ও সংশোধনগুলো অন্তর্ভুক্ত করা হয়েছে:
- একটি দীর্ঘদিনের সমস্যার সমাধান করা হয়েছে, যেখানে কিছু সেটিংসে কুইকবুট সেভ করার সময় ম্যাক এমুলেটরটি রিবুট বা কার্নেল প্যানিক করত। ( ইস্যু ১২০৯৫১৬৩৪ )
- র্যাম স্ন্যাপশট হিসেবে কোনো ম্যাপ করা ফাইল ব্যবহার করার সময়, এমুলেটরটি এখন বন্ধ হওয়ার মুহূর্তে ফাইল ম্যাপিংটি স্পষ্টভাবে আনম্যাপ করে দেয়।
২৮.০.২০ (১১ ডিসেম্বর, ২০১৮)
এই আপডেটে নিম্নলিখিত উন্নতি ও সংশোধনগুলো অন্তর্ভুক্ত করা হয়েছে:
- উইন্ডোজের একটি সমস্যা সমাধান করা হয়েছে, যার কারণে নির্দিষ্ট কিছু মডেলের ইন্টেল জিপিইউ-তে স্ন্যাপশট লোড করার সময় এমুলেটরটি ফ্রিজ হয়ে যেত।
- একটি নন-স্ট্যান্ডার্ড
ANDROID_SDK_HOMEলোকেশন ব্যবহার করার সময়unauthorizedADB ডিভাইস স্টেট তৈরি হওয়ার সমস্যাটি সমাধান করা হয়েছে। - উইন্ডোজের একটি সমস্যা সমাধান করা হয়েছে, যার কারণে সিপিইউ অ্যাক্সিলারেশন নিষ্ক্রিয় রেখে সিস্টেম ইমেজ বুট করার সময় এমুলেটরটি ক্র্যাশ করত।
- পিক্সেলযুক্ত এমুলেটর ডিসপ্লের সমস্যাটি সমাধান করা হয়েছে। ডাউনস্যাম্পলিং এখন কাজ করার কথা।
- macOS 10.14+ সংস্করণে একটি সমস্যার সমাধান করা হয়েছে, যেখানে নতুন অ্যাক্সেসিবিলিটি নিরাপত্তা সেটিংসের সাথে মিথস্ক্রিয়ার কারণে ভার্চুয়াল সিন ক্যামেরার মাউসলুক কন্ট্রোল অতিরিক্ত সংবেদনশীল হয়ে যেতে পারতো।
- টাইমজোন গণনার একটি ত্রুটি সংশোধন করা হয়েছে, যার কারণে এমুলেটরের ঘড়ি মাঝে মাঝে পরিবর্তিত হতে পারতো।
- বিভিন্ন কোকোস২ডি এবং আনরিয়েল ইঞ্জিন অ্যাপের রেন্ডারিং ত্রুটি সংশোধন করা হয়েছে।
- এমুলেটরে ওয়াই-ফাই পিয়ার-টু-পিয়ার সাপোর্ট যোগ করা হয়েছে। সর্বশেষ পাই প্লে স্টোর ইমেজ ব্যবহার করলে এখন দুটি এমুলেটর সরাসরি ওয়াই-ফাই এর মাধ্যমে একে অপরের সাথে যোগাযোগ করতে পারবে। ওয়াই-ফাই পিয়ার-টু-পিয়ার ব্যবহার করতে, একই
-wifi-server-portএবং-wifi-client-portআর্গুমেন্ট দিয়ে দুটি AVD চালু করুন:-
emulator @<server-avd-name> -wifi-server-port 9999 -
emulator @<client-avd-name>-wifi-client-port 9999
-
- যেকোনো বেমানান ফ্রেম সাইজকে অ্যান্ড্রয়েড গেস্টের ক্যামেরা সেটিংয়ের সাথে মানানসই করে গতিশীলভাবে আকার পরিবর্তন করার মাধ্যমে উইন্ডোজে আরও ওয়েবক্যামের জন্য সমর্থন যোগ করা হয়েছে।
২৮.০.১৬ (নভেম্বর ২০১৮)
এই আপডেটে বেশ কিছু নতুন ফিচার, বিদ্যমান ফিচারগুলোর উন্নতি এবং বাগ ফিক্স অন্তর্ভুক্ত রয়েছে।
সম্পদ ব্যবহার
এমুলেটরটি এখন সামগ্রিকভাবে কম র্যাম ব্যবহার করে, বিশেষ করে এপিআই লেভেল ২৮ বা তার উচ্চতর সিস্টেম ইমেজ ব্যবহার করার সময়। এই সিস্টেম ইমেজগুলোতে গেস্ট-সাইড গ্রাফিক্স ড্রাইভারের জন্য উন্নত মেমরি ব্যবহারের ব্যবস্থা অন্তর্ভুক্ত রয়েছে।
In addition, we have also improved resource usage in the following areas:
- Reduced emulator memory usage during long-running tests. If you still experience issues with memory usage during long-running tests, please create an issue that describes your use case in Issue Tracker .
- Reduced CPU usage when running apps with animations.
- Fixed an issue where the QEMU AIO context could leak on Windows.
Run multiple instances of a single AVD concurrently
You can now launch multiple instances of the same AVD and run them concurrently. Instances that you launch after the first instance are read-only, and their changes to the guest virtual disk are discarded on exit.
To run multiple instances of the same AVD at the same time, launch any instances after the first instance from the command line using the -read-only flag.
This feature is made possible by copying the QCOW2 files associated with the writable parts of the Android image. To help you manage disk space, we have also bundled the qemu-img command line tool to allow you to pre-commit QCOW2 files before launching multiple instances.
In addition, when used in tandem with the File-backed guest RAM snapshots feature, multiple AVD instances share the primary AVD Quickboot snapshot as a common source of copy-on-write guest RAM. This property means that the instances share much of their RAM in common. Use this feature to run tests that require multiple devices to run in parallel.
We appreciate your feedback on possible use cases that are part of your normal interactive or CI workflow. Please create or upvote issues in Issue Tracker .
File-backed guest RAM snapshots
By pre-allocating and mapping guest RAM as a file, the emulator can now save Quickboot snapshots during runtime, instead of doing all of the work on exit. If you currently experience long save times when closing your emulators, enable this feature to improve your Quickboot performance. By default, a Quickboot snapshot is saved on exit and loaded again every time, like suspending and waking a real device.
Because Android guest RAM is now auto-saved by default, if you want to define a device state and repeatedly load from that state, you need to tell the emulator to discard changes after each session. You can do this in the following ways:
- Use the
-no-snapshot-saveor-read-onlyflags when launching the emulator from the command line. - Go to Extended Controls > Snapshots > Settings and switch Auto-save current state to Quickboot? to No .
- You will need to restart the emulator after selecting this option. If the emulator is set to auto-save, you can run the following command to set a checkpoint:
After you run this command, the emulator Quickboot snapshot will stay at that checkpoint. Run the same command again to load the emulator from your checkpoint.adb emu avd snapshot remap 0
Snapshots that are taken and loaded through the Snapshots UI function as they did before, with no file mapping.
Because this is a large change to how Quickboot works, we would greatly appreciate your feedback on whether it improves Quickboot performance and what kind of issues you encounter when using it. If you experience problems, you can disable this feature by adding the following line to your ~/.android/advancedFeatures.ini file:
QuickbootFileBacked = off
When you start the emulator from a snapshot (either using the -snapshot command line option, or launching from a snapshot in the AVD manager) the emulator disables both auto-saving for Quickboot snapshots and saving Quickboot snapshots on exit. This reduces the chances that the Quickboot snapshot will be unintentionally overwritten, and avoids slow fallback paths that do not use file-backed Quickboot snapshots.
QEMU 2.12
We have rebased our variant of QEMU from QEMU 2.9 to QEMU 2.12. This update includes the following QEMU changes:
- https://wiki.qemu.org/ChangeLog/2.10
- https://wiki.qemu.org/ChangeLog/2.11
- https://wiki.qemu.org/ChangeLog/2.12
Here are some of the notable changes that impact the Android Emulator:
- x86:
gdbstubnow provides access to SSE registers. - Disk images: Image locking is added and enabled by default. Multiple QEMU processes cannot write to the same image as long as the host supports OFD or posix locking, unless options are specified otherwise.
-
qemu-img: qemu-img resizesupports preallocation of the new parts of the image. - QCOW2 shrinking now supported in
qemuandqemu-img.
প্রবেশগম্যতা
- Fixed issues with screen readers and added better support for these tools in the Screen Record and Snapshot UI.
- Made the Quick Boot notification icons more accessible to users who are color blind.
গ্রাফিক্স
- Fixed an out-of-bounds memory access issue that could occur for OpenGL ES vertex array pointers.
- Some older GPUs did not support OpenGL 2.1 or greater (which is required), or had other reliability issues. These issues could cause the emulator to crash on start, freeze, or be unusable on the default GPU setting. The emulator now automatically switches to the Swiftshader renderer if it detects that these GPUs are in use.
- Fixed an issue that caused the emulator to not post the correct framebuffer if
FBO != 0was bound at the time ofeglSwapBuffers. - Fixed issue where the virtual Android display would only show up in the top left corner. We believe this was due to misconfigured Qt environment variables. The emulator now overrides all Qt scaling-related environment variables.
- Fixed an issue where the emulator crashed in some situations when loading GLES1 apps from a snapshot.
- Fixed concurrency issues in OpenGL and launching render threads that could result in double frees or corrupted data.
- Android Emulator now supports ASTC LDR compressed texture support (
GL_KHR_texture_compression_astc_ldr) for system images that use API level 28 or higher. - Most modern GPUs should now be able to launch the emulator with OpenGL ES 3.x enabled by default without using the
GLESDynamicVersionfeature flag. -
-gpu guest(software rendering in the guest) has been deprecated. System images for API level 28 or higher now automatically switch to using Swiftshader instead (-gpu swiftshader_indirect). - If the emulator is launched from the command line using the
-no-windowflag, the default renderer is now Swiftshader.
অবস্থান
- The emulator can now update bearing along with latitude and longitude position. The magnetometer virtual sensor adjusts itself dynamically to magnetic north by inferring motion when playing back a GPX or KML file.
- Device speed can now be set on the Location page.
- When playing back a GPX or KML file, the speed is set automatically, and is set to zero when the playback ends.
- The altitude is no longer restricted to being between -1,000 and +10,000 meters.
- Fixed an issue where the virtual GPS location would not be updated periodically unless the Extended Controls window was opened at least once.
ক্যামেরা
On Windows, more webcams are now supported because the emulator dynamically resizes the camera frames that are delivered from the webcam. This feature also prevents errors in frame delivery from causing the emulator to hang.
প্লে স্টোর
To address issues with running out of disk space on Play Store images, the emulator now automatically resizes the userdata partition to 6 GB when running with a fresh Play Store AVD.
General quality improvements and fixes
- Some users reported that the emulator has been running slow. We identified one possible cause where the temp directory for the emulator ends up with too many stale files inside. As a workaround, the emulator no longer stores ADB liveness check files in that directory. However, it may also help to delete the contents of that folder. The folder is located in one of the following locations, depending on your operating system:
- Windows:
C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\* - macOS or Linux:
/tmp/android-<username>/*
- Windows:
- If the emulator is unable to start due to insufficient free RAM, an error message is now displayed. If you are on Windows and notice that there is RAM free, but you are still unable to start the emulator, the commit charge may have been exceeded. For help with this issue, see the emulator Troubleshooting page .
- The
-sysdircommand line option now properly overrides the inferred system image directory. - Virtual modem now supports the model activity info
+MAIquery. - Fixed various issues with memory leaks, memory corruption, and CPU usage. If you are experiencing crashes, memory leaks, or other high resource usage, please create an issue in Issue Tracker .
- Fixed an issue that reappeared on macOS 10.14 where using Bluetooth headsets with the emulator would degrade audio globally. To prevent this, the emulator now avoids using Bluetooth audio when running on macOS. ( Issue 37070892 )
- Fixed an issue on Windows where the emulator clock would not be in the correct timezone.
- Fixed emulator slowness and hangs on Linux systems with spinning harddrives (HDDs).
- Fixed some compile warnings that could lead to stack corruption on macOS.
- Fixed issues that could result in misleading reports of hanging.
- Fixed an issue with destroying thread pools that could cause a crash if one of the threads was not successfully created.
- Fixed an issue on macOS where timers would become unreliable, leading to hangs and other strange behavior. If you experience emulator hangs on macOS, please create an issue in Issue Tracker .
- Fixed an issue where closing the emulator would disable the UI, but not actually close the emulator.
- Fixed issues involving sporadic crashes, including an abort due to opening too many instances of
/dev/urandom. - Fixed an issue that caused the emulator to fail to start after the first time if ADB was terminated forcefully.
- The MIPS build has been removed. If you still require MIPS, please create an issue in Issue Tracker .
- Fixed an issue where ADB connections could become corrupt on snapshot load.
- Fixed an issue where the emulator window would have an afterimage or teleport offscreen when resuming a snapshot where the device orientation was different from the AVD's default orientation.
- Fixed issues involving crashes when saving snapshots.
- On Linux, btrfs filesystems can cause extreme slowdowns because the emulator automatically saves snapshots and uses copy-on-write for its virtual disk devices. We recommend cleaning out the
~/.android/avddirectory and running the following command on the empty~/.android/avddirectory: This creates new snapshots in a folder where copy-on-write is disabled.chattr +C
HAXM 7.3.2
We would like to mention HAXM 7.3.2 again because it must be installed in order for recent system images to run properly on the emulator. HAXM 7.3.2 should already be available in the Stable channel, and can also be installed manually from https://github.com/intel/haxm/releases .
Here are a couple of the issues that this version of HAXM resolved:
- Fixed random crashes of guest OSes that use a recent Linux kernel (>= 4.6). For example, Ubuntu 18.04 ( #39 , #74 ).
- Fixed an x86 instruction emulator bug that could lead to a host crash ( #93 ).
32-bit Windows deprecation
Due to low usage and high maintenance costs, we are planning to deprecate the 32-bit version of the Android Emulator that runs on Windows. We will roll out a transition plan before removal and end-of-life for the 32-bit version of the Android Emulator. However, we are actively seeking any feedback or concerns with this future change.
Please let us know in Issue Tracker if you currently rely on the 32-bit version of the Android Emulator that runs on Windows and tell us how we can best work with you going forward.
27.3.10 (August 2018)
This update includes the following bug fix:
RAM size configuration fix
Some users reported that the emulator has been running slow. We identified one possible cause where the AVD RAM size in the AVD's config.ini file was being set incorrectly.
To mitigate this, the emulator increases the minimum RAM level for images that use API level 26 or higher to the Android Studio default level of 1536 MB. If your AVD's config.ini file is not listing hw.ramSize in megabytes, please create an issue in Issue Tracker . You can find the config.ini file in the following location:
~/.android/avd/<avdname>.avd/config.ini
27.3.9 (July 2018)
This update includes the following improvements and bug fixes:
Improved error messages for Windows Hypervisor Platform
Some users were having difficulty diagnosing why the Windows Hypervisor Platform (WHPX) failed to initialize when they activated a WHPX emulator. To help you diagnose these issues, we have added more informative error messages. You can enable these error messages by running the emulator from the command line using the -verbose flag.
সাধারণ সমাধান
- Fixed OpenGL errors that occur when loading a snapshot in the camera app.
27.3.8 (July 2018)
এই আপডেটে বেশ কিছু নতুন ফিচার, বিদ্যমান ফিচারগুলোর উন্নতি এবং বাগ ফিক্স অন্তর্ভুক্ত রয়েছে।
স্ন্যাপশট
You can now save multiple AVD snapshots for a given device configuration and choose which of the saved snapshots to load when you start the emulator.
Starting with Android Studio 3.2 Canary 13, each device configuration includes a control in the advanced settings in the Virtual Device Configuration dialog with which you can you can specify which AVD snapshot to load when starting the AVD.
To accommodate this expansion of the snapshot features, we have added a Snapshots category to the Extended controls dialog. This new pane contains controls for saving and loading AVD snapshots, including the controls for saving and loading the quick-boot snapshot that had previously been in the Settings pane.
You can edit the name and description of each saved snapshot.
For details, see Snapshots .
HAXM 7.2.0
HAXM 7.2.0 is now available in all channels.
This update includes bug fixes and improved support for large amounts of RAM. Also, with this HAXM update and Emulator 27.3 and later, snapshots load their contents into RAM on demand rather than loading the entire snapshot when the virtual device starts. This change should greatly decrease the time needed to load a snapshot.
For details, see Configuring VM acceleration .
27.2.9 (May 2018)
এই আপডেটে বেশ কিছু নতুন ফিচার, বিদ্যমান ফিচারগুলোর উন্নতি এবং বাগ ফিক্স অন্তর্ভুক্ত রয়েছে।
Screen recording
You can now record video and audio from the Android Emulator and save the recording to a WebM or animated GIF file.
The screen recording controls are in the Screen record tab of the Extended Controls window.
Tip: You can also open the screen recording controls by pressing Control + Shift + R (Command + Shift + R on Mac).
To begin screen recording, click the Start recording button in the Screen record tab. To stop recording, click Stop recording .
Controls for playing and saving the recorded video are at the bottom of the Screen record tab. To save the video, choose WebM or GIF from the menu at the bottom of the tab and click Save .
You can also record and save a screen recording from the emulator using the following command on the command line:
adb emu screenrecord start --time-limit 10 [path to save video] /sample_video.webm
স্ক্রিনশট
You can take screenshots from the command line with either of the following commands:
-
screenrecord screenshot [destination-directory] -
adb emu screenrecord screenshot [destination-directory]
Screenshots are saved in PNG format.
Virtual scene camera and ARCore
Developing and testing augmented reality apps (AR) with ARCore is now even easier with the new virtual scene camera, which allows you to experiment with your AR experience within a virtual environment.
For information on using the virtual scene camera in the emulator, see Run AR apps in Android Emulator .
Google Play Store on Pixel device images
The Google Play Store is now enabled for Pixel and Pixel 2 device images. This is indicated in the AVD Manager in Android Studio 3.2 and later with the Google Play logo in the Play Store column. AVDs with Google Play Store enabled have a Google Play tab in the Extended controls dialog that provides a convenient button for updating Google Play services on the device.
স্ন্যাপশট
You can now load a Quick Boot snapshot without restarting the emulator. To load a snapshot, open the Extended Controls window to the Settings page and click the Load Now button.
We have made many improvements to the loading and saving of snapshots to improve efficiency of resource usage and to minimize the time that each operation takes. If you still experience unusually long saves, please file an issue , providing details of your CPU, RAM, and settings of any antivirus / firewall / security software that is running.
Rendering with Skia
When using images for API 27 or later, the emulator can render the Android UI with Skia , which can render more smoothly and efficiently.
For now, use of Skia requires that you explicitly enable it.
To enable Skia rendering, use the following commands in adb shell:
su setprop debug.hwui.renderer skiagl stop start
ক্যামেরা
On Windows, Android Emulator now uses Media Foundation as the webcam back end, which greatly improves performance and frame rate for webcam capture, up to 720p 30 FPS.
On Mac, you can now use webcam0 and webcam1 together.
বিবিধ
The -phone-number-prefix command-line option has been changed to -phone-number [number] , which allows setting of the full phone number.
You can now use alphanumeric SMS addresses.
Fixes
- The Linux version of the Android Emulator is now built using a modern Clang C++ toolchain. This change fixes the issue of the emulator failing to start due to libGL and libstdc++ errors.
- Fixed several causes of crashes and hangs.
- To avoid crashes and hangs caused by not having enough free disk space, the emulator now checks for sufficient free disk space on startup, and will not start unless at least 2 GB is free.
- Fixed an issue that prevented some Unity games from rendering.
- Fixed DNS issue that caused the emulator to be unable to connect to the network.
- Fixed an issue that caused changes to the internal storage allocated to an AVD through the Virtual Device Configuration dialog to not work.
- Fixed an issue of many adb processes being created and not properly shut down.
- Fixed an issue that caused the rotate buttons and other parts of the UI to become unresponsive unless the Extended controls window was open.
- Fixed an issue that caused copy and paste from the host to not work unless the Extended controls dialog was opened at least once.
- The frameless emulator's resize rectangle has been updated to better follow the emulator's visual theme.
- Telephone and SMS are now properly deactivated when airplane mode is on.
- Fixed an issue that caused SMS and cellular functionality to be disabled after loading a snapshot.
- You will no longer receive false warning messages saying
“Unable to open... \pstore.bin. Permission denied.” - Fixed an issue that prevented re-positioning the AVD on some Mac screens.
- Fixed issues with flickering and blank screens on newer MacBook Pro computers when running AVDs with Pixel 2 XL skins.
- Fixed issues with blank screens when switching into zoomed mode while a frameless emulator was active.
- Fixed an issue that caused the device skin and emulator contents to scroll out of sync when zoomed in.
If you are still experiencing hangs or other instabilities, please file an issue .
27.1.12 (March 2018)
This update includes fixes for the following issues:
- Bluetooth audio quality degraded after starting the emulator. ( Issue 37095756 )
- Locations sent to one emulator were sent to all of them. ( Issue 73450633 )
- GPS location set using the console was overridden by values set using Extended Controls > Location in the graphical user interface. ( Issue 73471760 )
If you are still experiencing hangs or other instabilities, please file an issue .
With this update, a current system image, and a preview version of Android Studio, you can use Android Emulator to run augmented reality applications built with ARCore. For detailed requirements and instructions, see Run AR apps in Android Emulator .
27.1.10 (February 2018)
Camera capture resolution
720p frames can now be captured from an attached webcam.
To work with Android 8.1 (API level 27) and higher system images, any attached webcam must have the capability to capture 720p frames.
Fixes
- Fixed an issue that caused webcam capture to sometimes output a distorted or all-green image.
- Fixed an issue that made it possible to see the following message even when there was no actual hang: "emulator: ERROR: detected a hanging thread 'Qt event loop'. No response for 15000 ms".
If you are still experiencing hangs or other instabilities, please file an issue .
27.1.7 (February 2018)
Frameless emulator window:
By default, emulators with device skin files are now shown without a surrounding window frame. To show the surrounding window frame, enable Show window frame around device in the Settings pane of the Extended Controls window.
Quick Boot improvements to make working with AVD snapshots more efficient:
- You can save an AVD snapshot at any time using the Save Now button in the Settings pane of the Extended Controls dialog box.
- The emulator reduces the time that it takes to save a snapshot in many cases by saving only the difference between the current state and the previously saved snapshot.
For details, see the Quick Boot documentation.
The emulator has been updated to use QEMU 2.9.
Some notable improvements include the following:
- Optimized I/O and finer-grained I/O thread locking for greater performance.
- Fixed bugs since QEMU 2.8 (26.1.4).
- New implementation of the HAXM back end.
See the full list of changes in the QEMU 2.9 change log .
Swiftshader implementation conforming to OpenGL ES 3.0:
The emulator's Swiftshader renderer now conforms fully with OpenGL ES 3.0. For details of the Swiftshader renderer, see the Settings > Advanced section of Extended Controls .
Fixes
- Fixed an issue where clipboard sharing was not working unless the Enable clipboard sharing option was toggled off and on.
- Fixed a hang when using the Swiftshader rendering back end with low-resolution AVDs.
27.0.5 (January 2018)
ANGLE for rendering on Windows is now disabled by default.
If ANGLE works better for you, you can re-enable it with command line flag
-gpu angle_indirect. Or, open the Extended controls window, navigate to Settings > Advanced , and select ANGLE D3D11 for the OpenGL ES renderer setting.Fixed an issue where Shift+B does not type a capital B character.
27.0.2 (December 2017)
New Quick Boot feature provides faster emulator start times, based on a snapshot of your AVD instance.
Quick Boot is enabled by default for all AVDs. Although the first time you start an AVD it must perform a cold boot (just like powering on a device), all subsequent starts are fast and the system is restored to the state at which you closed the emulator (similar to waking a device).
If you want to control when the emulator saves a snapshot, open the emulator's Extended controls window and click Settings . Here, you can select one of the following settings for Save quick boot state on exit :
- Yes : Always save quick boot snapshot when you close the emulator. This is the default.
- No : Never save quick boot snapshot; always perform a cold boot.
- Ask : Prompt whether or not to save quick boot snapshot when you close the emulator.
Your selection applies only to the currently open AVD.
For more information, see the Quick Boot documentation .
Added support for Mac OpenGL ES 3 (for system images using API level 24 and higher, Google APIs, and the x86 ABI).
For added stability in OpenGL ES 2+ apps, emulator now uses OpenGL core profile if available.
New options for rendering with Swiftshader / ANGLE:
-
-gpu swiftshader_indirect: Faster, more stable variant of Swiftshader that works with Quick Boot. -
-gpu angle_indirect(Windows only): More stable variant of ANGLE D3D that also works with Quick Boot.
The older
-gpu swiftshaderand-gpu angleoptions are now deprecated. In the Extended controls window, the "SwiftShader" and "ANGLE" options for the OpenGL ES renderer setting in Settings > Advanced now use the*_indirectvariants.-
Various other bug fixes.
26.1.4 (August 2017)
This is a minor release with bug fixes and the following improvements to GPU configuration:
- Enable boot animation when running on ANGLE renderer
- Disable GLES3 when running on ANGLE renderer
26.1.3 (August 2017)
This is a minor release with bug fixes, performance improvements, and small feature changes.
- This version is now required to use the latest Android 8.0 system images. They are Treble-compliant , featuring separate
vendor.imgpartitions. - New HAXM 6.2.0 now available (check the SDK Manager) and includes the following updates:
- Improved memory usage. The peak working set of memory pinned by HAXM is no longer equal to the size of the AVD's RAM; instead, memory is paged in on demand. This should help the emulator run more reliably on machines with lower amounts of RAM.
- The emulator with HAXM 6.2.0 can now boot faster on macOS, skipping a lengthy initialization phase.
- Improvements to GPU configuration
- Fixed issues with black screen on boot when performing guest-side software rendering by falling back to host-side software rendering with Swiftshader. Latest revisions of system images for API levels 19 - 25 with Google APIs should have working guest-side rendering.
- Fixed an issue where the emulator was switched to a software renderer due to detecting the presence of older Intel GPUs, but the emulator was actually running on a discrete GPU. Which GPUs will be switched to use ANGLE or Swiftshader rendering is determined as follows:
- Older Intel iGPUs have driver issues on both OpenGL and ANGLE D3D drivers. Users with Intel HD Graphics 3xxx and older will use Swiftshader.
- Some users reported the inability to use API level 25 images because of a bug in which "Pixel Launcher keeps stopping." This seems to be a driver issue in some Intel HD 4xxx models. So they will be switched to use ANGLE automatically.
- For best results with GPU emulation, we recommend either to use a discrete NVIDIA or AMD GPU, or a newer Intel GPU (Iris, HD 5xxx, HD 5xx/6xx).
- Fixed an issue where the emulator would fail to start (OpenGL emulation failed to initialize) if the AVD was configured with
hw.gpu.mode=hostand the emulator was launched in a remote desktop client. - Clarified "OpenGL ES API level (requires restart)" settings; added an option to downgrade from OpenGL ES 3 to OpenGL ES 2 if experiencing issues or needing to test on lower OpenGL ES API levels.
- Mesa renderer is deprecated;
hw.gpu.mode=mesawill now be automatically switched to use Swiftshader on the host.
- Improvements for macOS:
- The emulator is now fully compatible with macOS 10.13 High Sierra through either Hypervisor.Framework or HAXM 6.2.0.
- Hypervisor.framework is now enabled by default on macOS for 32-bit x86 images to improve performance and macOS compatibility. If you experience issues with it specifically, please file a bug report and append
HVF = offto~/.android/advancedFeatures.ini(create this file if it doesn't exist). - Fixed issues with no internet / failure to attach debugger while using Hypervisor.framework.
- To enhance compatibility and performance of webcam capture, the QTKit-based camera capture has been replaced with a buffered one based on AVFoundation.
- Added support for Wi-Fi in some system images (currently only API level 25). An access point called "AndroidWifi" is available and Android automatically connects to it. Wi-Fi support can be disabled by running the emulator with the command line parameter
-feature -Wifi. - Some users raised the concern that the fixed-size Play Store system images did not have sufficient storage. As such, we've increased the size to 2 GB by default (up from 800 MB).
- Added a keyboard shortcut (Ctrl+Shift+U) to open the bug reporting UI page directly from the settings page.
- Fixed an issue where if an older CPU with Intel x86 EPT but without UG was used, the emulator would fail to boot if more than one core was configured.
- Fixed an issue where HyperV would be improperly detected if the emulator was itself running in a Xen hypervisor.
- Fixed an issue where the emulator would crash on start in some Linux configurations.
26.1.2 (July 2017)
This release includes new features and performance improvements.
Added the ability to define a custom HTTP proxy configuration in the extended controls (click More
, and then click Settings and Proxy ). By default, the emulator uses the Android Studio HTTP proxy settings, but this screen allows you to define a manual proxy configuration.
Added VNC support for guest mode GPU so emulator can be remotely viewed and controlled. For example, you can launch the emulator and let VNC listen to port 5901 as follows:
- Execute:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1 Open a VNC viewer, such as tightvnc viewer, to connect to port 5901.
To use Mac's built-in screen sharing client, a VNC password is required when launching the emulator. To set a password, use this command:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1,password -monitor stdioAnd then enter
change vnc passwordinto the console, and enter a password.
Android O is not currently supported for VNC mode.
- Execute:
Added a File a bug button in the extended controls Help screen (Click More
, and then click Help and Emulator help ). Clicking File a bug opens a dialog where you can see the bug report details such as the screenshot, the AVD configuration info, and a bug report log. You can then save the report for yourself or report emulator issues .Added gyroscope sensor to emulator and virtual sensors panel. This requires a system image with gyroscope support to work (currently API level 24 and 25).
Added host-preferred DNS to Qemu DNS list on Windows, when multiple virtual network interfaces on the host introduce multiple DNS addresses which are not functional for the emulator.
Added experimental macOS Hypervisor.Framework support for 32-bit x86 images on macOS 10.10+ through server flags, which should improve boot time and performance.
- If you experience problems with it, add the line
HVF = offin~/.android/advancedFeatures.ini.
- If you experience problems with it, add the line
OpenGL ES 3.x is now enabled by default for system images and host GPUs that support OpenGL ES 3. Currently, only Android O (API level 26) and Windows/Linux hosts support OpenGL ES 3.
- If you experience problems with OpenGL ES 3, add the line
GLESDynamicVersion = offin~/.android/advancedFeatures.ini.
- If you experience problems with OpenGL ES 3, add the line
Emulator now uses offscreen OpenGL FBOs for all rendering except final display image posting, which should help with color consistency issues across platforms.
After collecting data on sudden emulator slowdown issues, we have determined that the problem may have to do with some interaction between older Intel OpenGL drivers and Windows updates. As such, users with Intel HD 4000, 3000, 2000 (and related GPUs) now have rendering set by default to either a D3D renderer (ANGLE) or Swiftshader (software renderer).
26.0.0 (March 2017)
This release is compatible with API level 26. It also includes a number of performance improvements and bug fixes.
Minor revision 26.0.3 (May 2017)
- Adds online-updateable feature flags for quickly addressing issues stemming from problematic hardware configurations. This allows Google to roll out fixes and features that are dependent on user configurations by updating server-side flags. If you notice issues with specific hardware, please report a bug so we can investigate the problem.
- New support for rotary input for Android Wear API level 25 system images. To emulate the rotary input dial on a Wear device, click the Rotary Input tab on the extended window.
- The Crash Reporting dialog is now resizable and no longer resets When to send crash reports to Ask without input.
- The 32-bit emulator now requires that the maximum AVD RAM size be less than or equal to 512 MB, in order prevent the emulator from running out of room in the 2 GB virtual address space.
- Adds support for absolute paths in emulator images.
- Adds a new tab in the extended window for Google Play Store images that displays the Play Services version and a button to check for updates to Play Services.
- Adds a dropdown to select the OpenGL renderer on the Emulator Settings page. If you are experiencing issues with the OpenGL driver on a Windows machine, try using the ANGLE (D3D11) or ANGLE (D3D9) options (requires a restart). If you are experiencing issues with the OpenGL driver on a non-Windows machine, try using the Swiftshader software renderer (requires a restart).
- Fixes a rare crash on exit when the emulator receives both
exitandminimizecommands. - Fixes a scaling issue when changing displays on a Mac machine. ( Issue 268296 )
- Fixes an issue where the emulator takes 300% of the CPU and holds it after resuming the host computer from sleep or when the emulator has been running for a long time.
- Fixes a crash when the emulator is shutting down.
Updates with HAXM v6.1.1 (March 2017)
Note: HAXM v6.1.1 is available for Mac users through the SDK Manager as of March 30th, and will be available for Windows users soon.
Version 26.0.0 of the Android Emulator supports HAXM v6.1.1, which includes the following updates:
- Enables Performance Monitoring Units (PMU) emulation. ( Issue 223377 )
- Fixes coexistence with VirtualBox and Docker on Macs. ( Issue 197915 )
- Revises the installation error message displayed when the installer fails to detect Intel VT-x on Windows, usually because Hyper-V is enabled.
- Adds support for accelerating the Android Emulator in a Hyper-V-based Windows VM. This update requires that the host Hyper-V instance (the one that manages the Windows VM/guest) use the latest version of Hyper-V with nested virtualization enabled. Hyper-V must be disabled in the guest Hyper-V instance (the Windows VM).
Dependencies
- Android SDK Platform-Tools revision 25.0.4 or later.
- Android SDK Tools revision 26.0.0 or later.
New features and bug fixes
- Compatible with API level 26.
- Fully GLES 2.0 compliant. Given a host GPU that has conformant desktop OpenGL drivers, the emulator now passes 100% of the Android CTS dEQP-GLES2
mustpasslist . This has been released for API level 24 x86 images (revision 11 and higher) and will soon be included for all system images. - Improved video playback performance. The emulator now stores all video color buffers in host/guest shared memory and performs necessary final YUV to RGB conversion in the GPU. 1080p30 should be well within reach of most systems now. This has been released for API level 24 x86 images (revision 11 and higher) and will soon be included for all system images.
- The emulator now correctly unregisters itself from the
adb deviceslist on exit and closes open TCP ports on Linux machines. - adb connections are now more reliable. A running emulator is detected faster and doesn't go into “offline” or “unauthorized” status anymore.
25.3.0 (March 2017)
As of this release, the Android Emulator will be released separately from the SDK Tools. This release contains a variety of performance improvements, new features, and bug fixes.
Minor revision 25.3.1 (March 2017)
- Fixed a crash occurring on some GPU configurations by disabling GLAsyncSwap by default. This feature was added in 25.3.0 to improve frame timing and frames per second for games and video, but causes the emulator to fail on some unknown machine configurations. You can manually enable it by opening the
android_sdk /emulator/lib/advancedFeatures.inifile and settingGLAsyncSwap = on.
Dependencies
- Android SDK Platform-Tools revision 24 or later.
- Android SDK Tools revision 25.3.0.
New features and bug fixes
- Updated emulation engine to QEMU 2.7, including all recent bug fixes, improved performance, and new features.
- New IPv6 support.
- The emulator now uses SwiftShader as a pure software renderer on the host.
- Android Pipe performance improvements: Android Pipe, the main communication channel between the emulator and Android OS, is now an order of magnitude faster, has lower latency and offers better multi-threaded performance. This causes a number of performance improvements for the emulator, including:
- Improved ADB push/pull speed.
- Better 3D acceleration support.
- Increased overall responsiveness of the emulator.
- Improved graphics performance.
- The emulator now uses GPU-side buffers (glBindBuffers / glBufferData) when the guest requests them, decreasing CPU overhead in some apps.
- Improved audio support.
- Faster disk I/O: The emulator now uses separate threads to dispatch disk I/O, resulting in lower latency and better throughput (~1.5x sequential I/O speed, ~5x random access I/O speed). This also reduces the number of flushes to disk, resulting in much lower physical device load.
- The emulator now uses sparse files for disk boots on Windows machines, speeding up both first boot and "wipe-data" boots. When creating or resetting an AVD, the emulator now writes 100-200 MB of data to disk, instead of 2 GB or more.
- Various GUI enhancements:
- The emulator now uses Qt 5.7.0, which includes bug fixes and performance improvements.
- UI initialization no longer attempts to load all emulator executables as Qt plugins, so it's dramatically shorter, especially on HDDs.
- UI interactions are now faster and smoother, including rotation, window resizing, and extended controls window loading and closing.
OpenXR™ and the OpenXR logo are trademarks owned by The Khronos Group Inc. and are registered as a trademark in China, the European Union, Japan and the United Kingdom.