ইমুলেটর রিলিজ নোট

Android Studio-তে Android এমুলেটর অন্তর্ভুক্ত থাকে।

25.3.0-এর আগের ভার্সন Android SDK টুলের অংশ হিসেবে ডিস্ট্রিবিউট করা হয়েছে।

আপনার কাছে লেটেস্ট ভার্সন আছে কিনা তা নিশ্চিত করতে, আপডেটের জন্য SDK ম্যানেজার চেক করুন।

Android এমুলেটরের আগের ভার্সন ডাউনলোড করতে, এমুলেটর ডাউনলোড আর্কাইভ দেখুন।

25.3.0-এর আগের Emulator ভার্সনের রিলিজ নোটের জন্য, Android SDK টুলের রিলিজ নোট দেখুন।

Android Emulator-এর সবচেয়ে সাম্প্রতিক ভার্সনে কী কী সমস্যা সমাধান করা হয়েছে তা দেখতে, সমাধান করা সমস্যা দেখুন।

পরিচিত সমস্যা ও তার সমাধান সম্পর্কে জানতে, ইমুলেটর সংক্রান্ত সমস্যার সমাধান দেখুন।

37.2.12 Stable (১ অক্টোবর, ২০২৬)

  • [বাগ ফিক্স]Issue #537802959 macOS (Apple Silicon): gRPC streamScreenshot with ImageTransport MMAP crashes emulator engine / silently never writes frames

  • [সমস্যার সমাধান]Issue #507078580 ইমুলেটর macOS-কে স্লিপ মোডে যেতে বাধা দেয়

  • [বাগ ফিক্স]Issue #506475581 macOS-এ অডিও ইন্টারফেস ব্যবহার করার সময় >২টি চ্যানেল (লুপব্যাক, মাল্টি-আউটপুট) সহ বাকি অডিও বিকৃতি ও স্টার্ট-আপ ক্র্যাকলিং সংক্রান্ত সমস্যার সমাধান করা হয়েছে

37.1.11 Stable (৩০ জুলাই, ২০২৬)

  • Android Emulator হাইপারভাইজার ড্রাইভার (AEHD) ৩১ ডিসেম্বর, ২০২৬-এ বন্ধ হয়ে যাবে। এই ট্রানজিশনে সহায়তা করতে, Android Studio এখন Windows ব্যবহারকারীদের AEHD থেকে Windows Hypervisor Platform (WHPX)-এ কনভার্ট করতে সাহায্য করে। WHPX ব্যবহার করে VM অ্যাক্সিলারেশন কনফিগার করা সংক্রান্ত তথ্যের জন্য WHPX ব্যবহার করে VM অ্যাক্সিলারেশন কনফিগার করুন লিঙ্ক দেখুন।

    WHPX-এ আপডেট করার জন্য পপ-আপ

  • Pixel 10a AVD যোগ করা হয়েছে

  • API 37 সিস্টেম ইমেজ চালানোর জন্য প্রয়োজনীয় নতুন Vulkan এক্সটেনশনের জন্য সহায়তা যোগ করা হয়েছে

  • [সমস্যার সমাধান]Issue #324465986 No out of storage error when taking a snapshot on an emulator with no space

  • [সমস্যার সমাধান]Issue #526671872 AVD RAM ও VM হিপ সাইজের জন্য ইউনিট সাফিক্স (যেমন, "6G", "32M") config.ini-তে কনফিগারেশন

  • [সমস্যার সমাধান]Issue #325814592 macOS 14-এ হওয়া সমস্যা যেখানে এমুলেটর ফ্রিজ হয়ে যায় এবং ক্যামেরা চালু করার পরে খুব ধীরে কাজ করে

36.6.11 স্থিতিশীল (২ জুন, ২০২৬)

  • API 37 থেকে শুরু করে, AVD-এর VM-এর দ্বারা ব্যবহৃত ন্যূনতম মেমরি (RAM) ৪ GBytes-এ বাড়ানো হয়েছে।

    Android 17 (API 37)-এর বেশি মেমরি সংক্রান্ত চাহিদা পূরণ করতে, ফোনের Android ভার্চুয়াল ডিভাইসের (AVD) জন্য এখন কঠোরভাবে ন্যূনতম ৪ জিবি RAM প্রয়োজন। আপনার AVD কম মেমরি দিয়ে কনফিগার করা থাকলে, সম্ভাব্য রানটাইম সমস্যা প্রতিরোধ করতে, Emulator অটোমেটিক সেটিং ওভাররাইট করে কমপক্ষে ৪ জিবি মেমরি অ্যাসাইন করবে।

  • কনফিগার করা যায় এমন ভার্চুয়াল সিন ব্যাকগ্রাউন্ডের জন্য ইমুলেটরে "এনভায়রনমেন্ট" ক্যামেরা মোড যোগ করা হয়েছে। AVD-এর environment.ini ফাইলে এইসব দৃশ্য সংজ্ঞায়িত করা হয় এবং রানটাইমে ডায়নামিক পদ্ধতিতে আবার লোড করা যায়।

  • স্ট্যান্ডঅ্যালোন এমুলেটরে স্ন্যাপশট মুছে দেওয়ার পরেও স্ন্যাপশট প্রিভিউ মুছে না যাওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে।

  • [বাগ ফিক্স]Issue #506475581 >২টি চ্যানেল (লুপব্যাক, মাল্টি-আউটপুট) সহ অডিও ইন্টারফেস ব্যবহার করার সময় macOS-এ এমুলেটর অডিও খুব বেশি বিকৃত হয়ে যায়

  • [সমস্যার সমাধান]Issue #516455370 ইমুলেটর বন্ধ করার সময় macOS 26.3-এ হওয়া একটি গুরুত্বপূর্ণ মেমরি লিক ঠিক করা হয়েছে, যা Hypervisor.framework API-এর ব্যবহার করা রিসোর্স ক্লিন-আপ করার সাথে সম্পর্কিত।

36.5.11 প্যাচ (২৩ এপ্রিল, ২০২৬)

  • [বাগ ফিক্স]Issue #492228020 Intel GPU-তে হার্ডওয়্যার/অটো গ্রাফিক্স রেন্ডারিং ব্যবহার করলে Android এমুলেটর কালো স্ক্রিন দেখায়

36.5.10 স্থিতিশীল (২ এপ্রিল, ২০২৬)

এই আপডেটে নিম্নলিখিত ফিচার ও সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

Android এমুলেটরের মাধ্যমে একাধিক ডিভাইস ইন্টার‍্যাকশন পরীক্ষা করা

Android এমুলেটরে এখন মাল্টি-ডিভাইস টেস্টিং উন্নত করতে একটি নতুন নেটওয়ার্কিং স্ট্যাক রয়েছে। এর ফলে একই হোস্টের একাধিক AVD ইনস্ট্যান্স কানেক্ট করার জন্য ম্যানুয়াল পোর্ট ফরওয়ার্ডিংয়ের প্রয়োজন হয় না। AVD এখন অটোমেটিক একে অপরের সাথে কানেক্ট করতে এবং কমিউনিকেট করতে পারবে, যেন সেগুলি একই ভার্চুয়াল নেটওয়ার্কে আছে। এর ফলে Wi-Fi Direct ও নেটওয়ার্ক সার্ভিস ডিসকভারির মতো প্রোটোকল ব্যবহার করে পিয়ার-টু-পিয়ার ইন্টার‍্যাকশনের সিমলেস টেস্টিং করা যায়।

এই নতুন নেটওয়ার্কিং স্ট্যাক ডেভেলপারদের জন্য বেশ কিছু গুরুত্বপূর্ণ সুবিধা প্রদান করে:

  • জিরো-কনফিগারেশন: ম্যানুয়ালি পোর্ট ফরওয়ার্ড করা বা adb কমান্ড স্ক্রিপ্ট করার আর প্রয়োজন নেই।
  • নিরবচ্ছিন্ন পিয়ার-টু-পিয়ার: Wi-Fi Direct এবং Network Service Discovery-এর মতো গুরুত্বপূর্ণ প্রোটোকল এমুলেটরগুলির মধ্যে বক্সের বাইরে কাজ করে।
  • উন্নত স্থিতিশীলতা: দীর্ঘস্থায়ী স্থিতিশীলতা সংক্রান্ত সমস্যার সমাধান করে, যেমন ডেটা হারিয়ে যাওয়া (Issue #150758736) এবং কানেকশন ড্রপ হওয়া (Issue #449817856) যা লেগ্যাসি স্ট্যাকে পাওয়া গেছে।

শুরু করতে, Android Studio SDK ম্যানেজারে লেটেস্ট Android এমুলেটর ভার্সনে আপডেট করুন। আরও তথ্যের জন্য, ডকুমেন্টেশন এখানে দেওয়া আছে।

অতিরিক্ত ফিচার ও সমস্যার সমাধান

  • Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL এবং Pixel 10 Pro Fold সহ নতুন Pixel AVD যোগ করা হয়েছে

  • ওয়েবক্যামকে ব্যবহারকারীর পক্ষে সহজবোধ্য নাম হিসেবে তালিকাভুক্ত করুন এবং Linux-এ সেই সমস্যা সমাধান করুন যেখানে এমুলেটর কানেক্ট করা সবকটি ওয়েবক্যাম শনাক্ত ও তালিকাভুক্ত করতে পারেনি

  • [বাগ ফিক্স]Issue #333628462 crashpad_handler প্রসেস macOS-এ অতিরিক্ত সিপিইউ ব্যবহার করে

36.4.10 প্যাচ (৯ মার্চ, ২০২৬)

  • [সমস্যার সমাধান]Issue #489369080 Panda 2-তে আপডেট করার পরে টিভি এমুলেটরে হোভার করার সময় ক্র্যাশ হওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে

36.4.9 স্থিতিশীল (১০ ফেব্রুয়ারি, ২০২৬)

  • ইউজার ইন্টারফেসের মধ্যে GPU বেছে নেওয়ার প্রসেসকে আরও সহজ করতে, Android Emulator-এর এক্সটেন্ডেড কন্ট্রোলে এখন নির্দিষ্ট হার্ডওয়্যার ও সফ্টওয়্যার বিকল্প অন্তর্ভুক্ত করা হয়েছে। কমান্ড লাইন ব্যবহারকারীদের জন্য, '-gpu software' বিকল্পটি এখন আপনার সিস্টেমের জন্য উপলভ্য সবচেয়ে ভালো GLES এবং Vulkan সফ্টওয়্যার রেন্ডারিং ব্যাকএন্ড বেছে নিতে ব্যবহার করা যেতে পারে

  • সব প্ল্যাটফর্ম জুড়ে Vulkan কম্প্যাটিবিলিটি উন্নত করতে ডিফল্ট গ্রাফিক্স সফ্টওয়্যার রেন্ডারার হিসেবে Lavapipe চালু করা হয়েছে

  • Vulkan-এ উন্নতি:

    • ইমুলেটরের সাথে বান্ডেল করা Vulkan লোডার আপডেট করা হয়েছে
    • Vulkan ব্যাকএন্ডে বিভিন্ন ভুল ব্যবহারের সমস্যা সমাধান করা হয়েছে
    • নতুন সিস্টেম ইমেজে গ্রাফিক্স কিউ এমুলেশনের সাথে systemui-তে SkiaVk ব্যবহার করার জন্য সহায়তা যোগ করা হয়েছে
    • হোস্টে GL ব্যবহার বন্ধ করতে Vulkan কম্পোজিশনের জন্য সহায়তা যোগ করা হয়েছে। XR ছবির জন্য এটি ডিফল্ট হিসেবে চালু করা থাকে এবং '-feature VulkanNativeSwapchain' কমান্ড লাইন বিকল্পের মাধ্যমে চালু করা যেতে পারে।
  • [বাগ সমাধান]Issue #471008659 অ্যাক্টিভিটি খোলা/বন্ধ করার সময় এমুলেটরের হোস্ট সাইডে মেমরি লিক হওয়া

36.4.3 Canary (৮ ডিসেম্বর, ২০২৫)

নতুন AI Glasses Emulator

AI Glasses-এর জন্য Jetpack XR SDK-এর সাহায্যে তৈরি করা অ্যাপ ডেভেলপ ও টেস্ট করার জন্য আমরা একটি নতুন, পরীক্ষামূলক AI Glasses এমুলেটর যোগ করেছি। আপনি ফোন এমুলেটরের সাথে গ্লাস এমুলেটর রান করাতে পারবেন, সেগুলি পেয়ার করতে পারবেন এবং গ্লাসে সাধারণত যে ইন্টার‍্যাকশন করেন, সেগুলি করতে পারবেন। AI গ্লাস এমুলেটর ইনস্টল করা এবং আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট সেট-আপ করা সম্পর্কে তথ্য পেতে ভার্চুয়াল AI গ্লাস তৈরি করা ডিভাইস দেখুন।

AI গ্লাস এমুলেটর হল একটি পরীক্ষামূলক টুল। সমস্যা হতে পারে, বিশেষ করে ফোন এমুলেটর ও টাচপ্যাড UI ইন্টার‍্যাকশনের সাথে গ্লাস আবার পেয়ার করার সময়।

নতুন XR Glasses Emulator

আমরা আগে লঞ্চ করা Android XR এমুলেটরকে OST (অপটিক্যাল সি থ্রু) XR গ্লাসের জন্য এক্সটেন্ড করেছি। XR গ্লাসের ডিভাইসের আনুমানিক FOV ও রেজোলিউশন সহ আপনার অ্যাপের প্রিভিউ দেখতে XR গ্লাস এমুলেটর ব্যবহার করতে পারবেন। XR গ্লাস এমুলেটর ইনস্টল করা এবং আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট সেট-আপ করা সম্পর্কে তথ্য পেতে ভার্চুয়াল XR গ্লাস ডিভাইস তৈরি করা দেখুন।

XR Glasses এমুলেটর ও AI Glasses এমুলেটর হল পরীক্ষামূলক টুল। কিছু Windows GPU ও ড্রাইভার কনফিগারেশনে (দেখুন Windows সিস্টেমের প্রয়োজনীয়তা) সমস্যা হতে পারে।

পরিচিত সমস্যা

আপনার মতামত আমাদের উন্নতি করতে এবং ভবিষ্যতে ফিচার অগ্রাধিকার দেওয়ার ব্যাপারে সাহায্য করবে। Android Studio বা Android Emulator-এর সাথে সম্পর্কিত সমস্যা সম্পর্কে অভিযোগ জানানোর ব্যাপারে তথ্য পেতে সমস্যার ব্যাপারে অভিযোগ জানান দেখুন।

36.3.10 স্থিতিশীল (৪ ডিসেম্বর, ২০২৫)

  • [সমস্যার সমাধান]সমস্যা #452843321 Android API 34 ও তার পরের ভার্সনে এমুলেটরে বড় ফাইল পুশ করার সময় পারফর্ম্যান্স খারাপ হয়ে যাওয়া।

  • GPU টেক্সচার মোডে ভিডিও কোডেক চললে Vulkan কম্পোজিশন ক্র্যাশ হওয়ার সমস্যার সমাধান করুন।

  • -debug-events সহ চালানোর সময় টাচস্ক্রিন ইভেন্টে এমুলেটর ক্র্যাশ হওয়ার সমস্যা সমাধান করুন।

36.2.12 প্যাচ (১৩ অক্টোবর, ২০২৫)

  • সফ্টওয়্যার রেন্ডারিং মোডে কোনও Vulkan অ্যাপ লঞ্চ করার সময় Windows-এ ক্র্যাশ হওয়া সংক্রান্ত সমস্যার সমাধান করা

36.2.11 স্থিতিশীল (৯ অক্টোবর, ২০২৫)

  • ইমুলেটর থেকে HAXM সহায়তা সরিয়ে দেওয়া হয়েছে। আপনি যদি HAXM-এর সাথে AVD তৈরি করার চেষ্টা করেন, তাহলে একটি হাইপারভাইজার অনুপস্থিতির রিপোর্ট সহ একটি ব্যানার দেখতে পাবেন এবং AEHD ইনস্টল করার জন্য একটি অ্যাকশন লিঙ্ক দেখতে পাবেন।

    HAXM-এর সাহায্যে ব্যবহারকারী নতুন AVD তৈরি করার চেষ্টা করলে দেখানো ব্যানার

    HAXM আনইনস্টল করা সংক্রান্ত তথ্যের জন্য, HAXM আনইনস্টল করুন দেখুন।

  • ড্রাইভার ক্র্যাশ এড়াতে Intel GPU যাতে OpenGL ES 3.0 ব্যবহার করে তা নিশ্চিত করার জন্য সমাধান

  • [বাগ সমাধান]সমস্যা #340322888 ডিভাইসে খালি জায়গা না থাকলে AVD চালু করা যায় না

  • [বাগ সমাধান]Issue #150758736 ইমুলেটরে TCP কানেকশনে মাঝে মাঝে সিঙ্গেল-বাইট ডেটা হারিয়ে যাওয়া

  • [সমস্যার সমাধান]Issue #434774381 i7-11850H-এ WHPX ব্যবহার করে Windows 11-এ API 36 এবং 35 (আরও বেশি হতে পারে)-এর জন্য দ্রুত বুট করার পরে গেস্ট কার্নেল ক্র্যাশ করেছে

36.1.9 স্থিতিশীল (৩১ জুলাই, ২০২৫)

  • [বাগ ফিক্স]Issue #419157428 ইউজারনেম বা AVD পাথে UTF-8 অক্ষর থাকলে এমুলেটর চালু হতে পারে না

  • [সমস্যার সমাধান]Issue #423670833 btrfs ফাইল সিস্টেমে Android এমুলেটর ক্র্যাশ করে

  • মনে রাখবেন: X11-এ এমুলেটর লঞ্চ করতে সমস্যা হলে, সফ্টওয়্যার রেন্ডারিং ব্যবহার করার কথা বিবেচনা করুন। সফ্টওয়্যার রেন্ডারিং কীভাবে কনফিগার করতে হয় তা জানতে গ্রাফিক্স অ্যাক্সিলারেশন কনফিগার করুন লিঙ্ক দেখুন।

35.6.11 স্থিতিশীল (২৪ জুন, ২০২৫)

  • XR এমুলেশনের জন্য Windows ও Linux-এ AMD ও Nvidia GPU-এর সহায়তা উন্নত করা হয়েছে

  • Android Studio-তে চলমান উইন্ডোতে এম্বেড করা হিসেবে XR AVD চালানো যেতে পারে

  • Emulator-এর সম্পূর্ণ ডাম্প চালু করতে Windows-এ ক্র্যাশ রিপোর্ট সংক্রান্ত বিবরণের উন্নতি

  • [বাগ ফিক্স]Issue #410485043 Android Emulator XR Device crashes with Vulkan error

  • [বাগ সমাধান]সমস্যা #388718417 libndk_translation.so বাতিল হয়ে যায় এবং Arm64AesEncode-এ ক্র্যাশ হয়

35.5.10 স্থিতিশীল (৬ মে, ২০২৫)

  • সমস্যার মেসেজ (যেমন: ডিস্ক স্টোরেজে পর্যাপ্ত জায়গা নেই) সহ অতিরিক্ত CPU কম্প্যাটিবিলিটি চেক যোগ করা হয়েছে

  • Vulkan মেমরি ম্যানেজমেন্ট ও ভুল ব্যবহারিক ক্ষেত্র সম্পর্কিত সমস্যার সমাধান করা হয়েছে

  • টার্মিনালে চালানোর সময় Vulkan স্ন্যাপশট সাপোর্ট সঠিকভাবে চেক করা ও এড়িয়ে যাওয়া হয়

  • VK_KHR_multiview এক্সটেনশন ও A1R5G5B5 টেক্সচার ফর্ম্যাটের জন্য সহায়তা যোগ করা হয়েছে

  • Pixel 9a AVD যোগ করা হয়েছে

35.4.9 স্থিতিশীল (২৫ ফেব্রুয়ারি, ২০২৫)

  • অতিথির GLES ড্রাইভার সংক্রান্ত পছন্দের জন্য এক্সটেন্ডেড কন্ট্রোলে ড্রপ-ডাউন মেনু যোগ করা হয়েছে

  • [বাগ সমাধান]Issue #389330750 Ñ অক্ষর সহ এমুলেটরে এসএমএস পাঠালে মেসেজটি ভেঙে যায়

  • [Bug Fix]Issue #382180488 Function "emuglConfig_get_vulkan_hardware_gpu_support_info" crashing due to zero Vulkan devices detected

  • মনে রাখবেন: Android XR এমুলেটর শুধুমাত্র Studio-এর Canary ভার্সনে উপলভ্য

35.3.11 স্থিতিশীল (৯ জানুয়ারি, ২০২৫)

  • [সমস্যার সমাধান]Issue #368059211 Car Service API ব্যবহার করে VHAL-এ Android Auto OS প্রোগ্রামাটিক অ্যাক্সেস কাজ করছে না

  • [বাগ ফিক্স]Issue #348598513 Emulator has unnecessary thread-unsafe public method in a multi-threaded lock

  • [সমস্যার সমাধান]Issue #356896486 -feature -Vulkan সহ রান করার সময় Vulkan API কল সত্যিই বন্ধ করুন

35.4.4 Canary (১২ ডিসেম্বর, ২০২৪)

নতুন Android XR এমুলেটর

হেডসেটের জন্য Jetpack XR SDK-এর সাহায্যে তৈরি করা অ্যাপ ডেভেলপ ও টেস্ট করার জন্য আমরা একটি নতুন, এক্সপেরিমেন্টাল Android XR এমুলেটর যোগ করেছি। Android XR এমুলেটর ইনস্টল করা এবং আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট সেট-আপ করা সম্পর্কে তথ্য পেতে Jetpack XR SDK সেট-আপ দেখুন।

Android XR এমুলেটর হল একটি পরীক্ষামূলক টুল। আমরা তা সত্ত্বেও আপনার সাথে আগেভাগেই শেয়ার করার সিদ্ধান্ত নিয়েছি - যাতে আপনি আগেভাগেই পরীক্ষা করে দেখতে পারেন। কিছু Windows GPU এবং ড্রাইভার কনফিগারেশনে বিশেষ করে সমস্যা হতে পারে। এছাড়াও, আগে থেকে থাকা 2D মোবাইল অ্যাপের মানানসই হওয়া সংক্রান্ত পরীক্ষা নিয়ে সমস্যা হতে পারে। আপনার মতামত আমাদের উন্নতি করতে এবং ভবিষ্যতের ফিচারগুলিকে অগ্রাধিকার দেওয়ার ব্যাপারে গাইড করতে সাহায্য করবে।

এখনও পর্যন্ত, Android XR এমুলেটর নিম্নলিখিত HW কনফিগারেশনে পরীক্ষা করা হয়েছে:

  • Mac (ARM)
  • Windows 11
    • nVidia GPU, ৪ জিবি vRAM, ড্রাইভার ভার্সন 553.35 বা তার পরবর্তী যেকোনও ভার্সন
  • ১৬ জিবি বা তার বেশি RAM
  • ৮টি বা তার বেশি কোর

পরিচিত সমস্যা

ইমুলেটর - স্থিতিশীলতা ও পারফর্ম্যান্স:

  • কিছু Windows কনফিগারেশনে বুট করার সময় বা অ্যাপ্লিকেশন চালানোর সময় গুরুত্বপূর্ণ সিস্টেম লক বা ক্র্যাশ হতে পারে। WHPX চালু করার জন্য Android Studio ডেভেলপার গাইড অনুসরণ করে Windows Hypervisor Platform (WHPX) চালু করা আছে কিনা তা নিশ্চিত করুন।
  • সাসপেন্ড-রিজিউম সাইকেলের পরে ল্যাপটপে AVD বা UI এলিমেন্ট কাজ না করা (যেমন, ল্যাপটপ বন্ধ করে আবার খোলা) ইত্যাদি সমস্যা।
  • "হোম স্ক্রিন মোড" থেকে "ফুল স্ক্রিন মোডে" অ্যাপ্লিকেশন পরিবর্তন করার সময় মাঝে মাঝে ক্র্যাশ হওয়া
  • Gemini API এখনও উপলভ্য নয়; Gemini API স্টার্টার টেমপ্লেট অ্যাপ ক্র্যাশ করবে।

ইমুলেটর - ইনপুট ও আউটপুট সিমুলেট করা:

  • সার্চ ও এডিট ফিল্ডের ভার্চুয়াল কীপ্যাড ফিল্ড অফ ভিউতে আংশিকভাবে দেখা যেতে পারে
  • মাউস ও কীবোর্ড ব্যবহার করে এলিমেন্টগুলিকে z-ডাইরেকশনে (স্ক্রিনের ভিতরে ও বাইরে) সরানো যায় না

  • AVD মাইক্রোফোন হোস্ট অডিও ইনপুট অস্থির হলে AVD রিবুট ও ক্র্যাশ হতে পারে।

  • সাউন্ডে কখনও কখনও স্ট্যাটিক বা বিকৃতি থাকে।

  • ক্যামেরাটি ভার্চুয়াল লিভিং রুম থেকে সরিয়ে নিলে, রেন্ডারিং সংক্রান্ত সমস্যা দেখা যায়।

  • Windows কনফিগারেশনে স্বাভাবিকের চেয়ে গাঢ় রঙ দেখা যায়।

  • macOS-এ এমুলেটর অলস রেখে স্ক্রিন লক করার পরে অডিও আর কাজ করে না। (এমুলেটর রিস্টার্ট করলে এটি রিস্টোর হয়ে যাবে।)

  • হোস্ট মেশিন ওয়াই-ফাই পরিবর্তন করলে নেটওয়ার্ক কানেকশন ভেঙে যায়।

  • Caps Lock চালু থাকা সত্ত্বেও ছোট হাতের অক্ষর টাইপ করা হচ্ছে।

  • Mac-এ ট্র্যাকপ্যাড ব্যবহার করে স্ক্রল করার অভিজ্ঞতা মসৃণ হয় না।

  • কিছু UI এলিমেন্টে ক্লিক-অ্যান্ড-ড্র্যাগ স্ক্রলিং ডিজাইন অনুযায়ী কাজ নাও করতে পারে। তা না হলে, স্ক্রল করার জন্য মাউস হুইল ব্যবহার করুন।

  • কিছু Windows সিস্টেম কনফিগারেশনে Chrome-এ অস্পষ্ট টেক্সট, UI এবং অন্যান্য সমস্যা। সম্ভাব্য সমাধান: WHP চালু করা।

ইমুলেটর - প্লেন ও অ্যাঙ্কর সিমুলেট করা:

  • অ্যাঙ্কর কখনও কখনও একই লোকেশনের কাছাকাছি আবার স্পন হয় না
  • মুভেবল প্যানেল দেওয়াল বা সিলিংয়ে অ্যাঙ্কর নাও হতে পারে
  • পাসথ্রু মোডে সিমুলেট করা প্লেনগুলি 3D রুমের ফিজিক্যাল লেআউটের সাথে ম্যাচ করে না
  • ভার্চুয়াল রুমে অ্যাঙ্কর অবজেক্টের জন্য সামগ্রিক সীমিত জায়গা
  • Windows-এ পাস-থ্রু ভিউতে ছোট দৃশ্যমান আর্টিফ্যাক্ট
  • কিছু ক্ষেত্রে, অ্যাঙ্কর প্লেস করলে অ্যাপ ক্র্যাশ করতে পারে
  • Windows-এ অ্যাপ গ্রাউন্ডের কাছাকাছি নিয়ে গেলে অ্যাপের উপরে কালো লাইন দেখা যেতে পারে

ইমুলেটর - অন্যান্য:

  • ইমুলেটর শুধুমাত্র "স্ট্যান্ডঅ্যালোন" মোডে চালু হয়। "এম্বেড করা" মোড (এম্বেড করা UI) এখনও কাজ করে না।
  • Windows-এ এমুলেটরে অ্যাকাউন্ট দিয়ে লগ-ইন করলে, এমুলেটর উত্তর দেওয়া বন্ধ করে দিতে পারে
  • উইন্ডোর সাইজ পরিবর্তন করার পরে UI কন্টেন্ট অদৃশ্য হয়ে যেতে পারে (এর সমাধান: "হোম" বোতাম প্রেস করা)
  • JXRCore ActivityPanelTest অ্যাপে সেকেন্ডারি প্যানেল প্রাথমিকভাবে দেখানো হয় না
  • দীর্ঘ সময় ধরে ব্যবহার না করলে সিস্টেম সেটিংস থেকে দ্রুত সেটিংস আইটেম অদৃশ্য হয়ে যেতে পারে।
  • শুরুতে এমুলেটর UI স্ক্রিন অঞ্চলের বাইরে দেখা যেতে পারে। যদি তাই হয়, তাহলে এমুলেটর উইন্ডোর সাইজ সামান্য অ্যাডজাস্ট করুন এবং এটি আবার জায়গায় স্ন্যাপ হয়ে যাবে।
  • Windows-এ Chrome রিমোট ডেস্কটপ ব্যবহার করার সময় এমুলেটর চালু নাও হতে পারে
  • এমুলেটরে এখনও পর্যন্ত OpenXR কাজ করে না এবং OpenXR অ্যাপ এমুলেটর ক্র্যাশ করিয়ে দিতে পারে
  • Windows-এ Android Studio-র এক্সটেন্ডেড সেটিংস ব্যবহার করে সমস্যার রিপোর্ট জমা দেওয়ার সময় মাঝে মধ্যে ব্যর্থতা
  • Mac-এ কার্সরটি "নেভিগেট করে ফিরে যান" আইকনের কাছাকাছি না নিয়ে যাওয়া পর্যন্ত সেটিংস অ্যাপে সেটি সঠিকভাবে দেখা যায় না
  • কিছু ক্ষেত্রে, XR টেমপ্লেট প্রোজেক্টের অংশ হিসেবে "বেসলাইন প্রোফাইল" মডিউল ব্যবহার করার সময় বিল্ড করার ক্ষেত্রে সমস্যা হতে পারে
  • "XR Talkback" অ্যাক্সেসিবিলিটি এখনও পর্যন্ত এমুলেটরে আংশিকভাবে ইন্টিগ্রেট করা হয়েছে

Scene Viewer অ্যাপ:

  • Scene Viewer-এর মধ্যে এলিমেন্ট সরালে এটি ক্র্যাশ করতে পারে। এই সমস্যার সমাধান করতে, এলিমেন্ট সরানোর চেষ্টা করার আগে হেড পজিশনকে সামান্য সরিয়ে নিন (যেমন, প্যান, ডলি, WASD ইত্যাদি ব্যবহার করে)।
  • 3D মডেলের আসল সাইজ, স্কেলের ন্যূনতম ও সর্বাধিক সীমার (বর্তমানে যথাক্রমে ২০ সেমি ও ৭০ মিটার হিসেবে সেট করা আছে) চেয়ে কম বা বেশি হলে, ১:১ আসল সাইজ ফিচার সঠিকভাবে কাজ করবে না
  • লোড হওয়ার পরে 3D মডেলটি প্রথম ফ্রেমে জাম্প করতে পারে

35.2.10 (১ অক্টোবর, ২০২৪)

  • Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL ও Pixel 9 Pro Fold সহ নতুন Pixel AVD যোগ করা হয়েছে
  • Vanilla Ice Cream (API 35)-এর জন্য নতুন ট্যাবলেট সিস্টেম ইমেজ যোগ করা হয়েছে

35.1.20 (২৯ আগস্ট, ২০২৪)

  • Pixel 8a AVD যোগ করা হয়েছে
  • ফোল্ডেবল ডিভাইসের জন্য বিভিন্ন সমস্যার সমাধান
  • Qt আপডেট এবং Qt সম্পর্কিত ক্র্যাশ ও হ্যাং হওয়ার সমস্যার সমাধান
  • [সমস্যার সমাধান] Vulkan ব্যবহার করে এমন অ্যাপ্লিকেশন সহ Windows-এ ক্র্যাশ ও ফ্রিজ হওয়া সংক্রান্ত সমস্যার সমাধান

34.2.16 (৯ জুলাই, ২০২৪)

  • [সমস্যার সমাধান] ফোল্ড/আনফোল্ড করার সময় Pixel Fold-এ UI ফ্রিজ হয়ে যাওয়া
  • [সমস্যার সমাধান] Mac M1-এ API 35-এর পরিবর্তে Android Vanilla Ice Cream Preview হিসেবে Android ভার্সন ভুলভাবে দেখানো হচ্ছে।
  • [সমস্যার সমাধান] Issue #296162661: HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE returns true on Pixel C tablet emulator

34.2.15 (৩১ মে, ২০২৪)

  • সোয়্যাঙ্গল মোড ও বিজ্ঞাপনদাতার ক্লিন-আপ সংক্রান্ত বিভিন্ন ক্র্যাশ সমাধান

34.2.14 (২০ মে, ২০২৪)

Android Studio Jellyfish Stable Patch 1-এর সাথে পরীক্ষা করা হয়েছে।

  • [সমস্যার সমাধান] এম্বেড করা ইমুলেটরে কখনও কখনও স্ন্যাপশট হ্যাং হয়ে যায়
  • [বাগ সমাধান] স্ন্যাপশটে 'না' ও 'বাতিল করুন' বোতাম সঠিকভাবে কাজ করছে না
  • [বাগ ফিক্স] ডিরেকশনাল প্যাডের বোতাম কাজ করছে না
  • [বাগ ফিক্স] ANGLE-এর সাথে GPU মোড ব্যবহার করার সময় কিছু পরিস্থিতিতে এমুলেটর চালু হতে না দেওয়ার ক্ষেত্রে Windows-এ দেখা যাওয়া সমস্যার সমাধান করা হয়েছে এবং লগ থেকে "GL এমুলেশন শুরু করা যায়নি" সমস্যা সংক্রান্ত মেসেজ সরিয়ে দেওয়া হয়েছে। মনে রাখবেন, কমান্ড লাইন থেকে -gpu swangle_indirect বিকল্প ব্যবহার করে এমুলেটর চালু করলেও এই ভার্সনে এই সমস্যা হতে পারে। আপনি যদি এখনও এই ভার্সনের সাথে Windows-এ কমান্ড লাইন ব্যবহার করে সফ্টওয়্যার গ্রাফিক্স রেন্ডারিং সহ এমুলেটর চালু করতে চান, তাহলে -gpu swiftshader_indirect
  • [সমস্যার সমাধান] কীবোর্ডে লোকেশন শর্টকাট ব্যবহারযোগ্য নয় এমন ম্যাপ লোড করে
  • [সমস্যার সমাধান] লোকেশন সেট করার সময়, "রুট সেভ করুন" ডায়ালগ দেখা যাচ্ছে না

34.2.13 (৩০ এপ্রিল, ২০২৪)

Android Studio Jellyfish Stable-এর সাথে পরীক্ষা করা হয়েছে।

  • Qt 6.5.3-এ আপডেট করুন
  • মে মাসের শেষে এমুলেটরের এক্সটেন্ডেড কন্ট্রোলে লোকেশন ফিচারে ব্যবহৃত Google Maps API আপডেটের জন্য কম্প্যাটিবিলিটি।
  • ক্র্যাশ সংক্রান্ত সমস্যার সমাধান
  • Pixel AVD-তে বিভিন্ন সমস্যা সমাধান
  • সফ্টওয়্যার রেন্ডারিংয়ের জন্য ব্যবহৃত গ্রাফিক্স লাইব্রেরি আপডেট করা
  • [সমস্যার সমাধান]Issue 225541819 x86_64-এ Chrome চালু করলে ইমুলেটর ক্র্যাশ করে
  • [সমস্যার সমাধান]Issue 314614435 -http-proxy সুইচ ভুলভাবে পার্স করা হয়েছে

34.1.20 (১ এপ্রিল, ২০২৪)

Android Studio Iguana Stable-এর সাথে পরীক্ষা করা হয়েছে।

  • [সমস্যার সমাধান] সমস্যা #314614435: -http-proxy সুইচ ভুলভাবে পার্স করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে

34.1.19 (৭ মার্চ, ২০২৪)

Android Studio Iguana Stable-এর সাথে পরীক্ষা করা হয়েছে।

  • [বাগ ফিক্স] Issue #312677259: উইন্ডোর সাইজ পরিবর্তন করার পরে এম্বেড করা এমুলেটরে স্ক্রিন ফ্রিজ হয়ে যাওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে।

34.1.18 (২৯ ফেব্রুয়ারি, ২০২৪)

Android Studio Iguana Stable-এর সাথে পরীক্ষা করা হয়েছে।

  • Emulator-এ ডিভাইস যোগ করা হয়েছে, এর মধ্যে রয়েছে:
    • Pixel Fold
    • Pixel Tablet
    • Pixel 8
    • Pixel 8 Pro
    • Pixel 7a
  • gRPC ইন্টিগ্রেশন টেস্ট: এমুলেটরের মধ্যে চলা ইন্সট্রুমেন্টেড টেস্টের জন্য এখন gRPC এন্ডপয়েন্ট উপলভ্য, যা বাস্তবসম্মত পরিস্থিতি টেস্ট করার সুবিধা দেবে। এই ফিচারের মাধ্যমে ডেভেলপাররা Android ইন্সট্রুমেন্টেশন টেস্টের মধ্যে থেকে Android এমুলেটর দ্বারা হোস্ট করা gRPC এন্ডপয়েন্টের সাথে নিরাপদে ইন্টার‍্যাক্ট করতে পারেন।
  • বিভিন্ন সমস্যার সমাধান
    • সমস্যার সমাধান: ফোল্ড করা যায় এমন ডিভাইসের ব্যবহারযোগ্যতা উন্নত করা হয়েছে
    • সমস্যার সমাধান: রোটেট করার পরে এমুলেটরের পজিশন অ্যাডজাস্ট করা
    • ক্র্যাশ সংক্রান্ত সমস্যার সমাধান

33.1.24 (২৮ ডিসেম্বর, ২০২৩)

Android Studio Hedgehog Stable এবং Iguana Beta 1-এর সাথে পরীক্ষা করা হয়েছে।

  • Emulator ওয়েবক্যাম সংক্রান্ত সেই সমস্যার সমাধান করা হয়েছে যা mp4 ফর্ম্যাটে স্ক্রিন রেকর্ড করতে দেয় না।
  • স্ক্রিন রেকর্ডিং চলাকালীন আনফোল্ড করা হলে, Pixel Fold AVD-তে এমুলেটর ক্র্যাশ হওয়ার সমস্যা সমাধান করা হয়েছে।
  • Pixel Fold-এ বিচ্ছিন্ন কীবোর্ড সহ আলাদা ফোন স্কিন দেখাচ্ছে এবং ব্যবহার করা যাচ্ছে না এমন সমস্যার সমাধান করা হয়েছে (Windows, Mac Intel এবং Linux-এ সমাধান করা হয়েছে)
  • স্ট্যান্ডঅ্যালোন মোডে ভার্চুয়াল সেন্সরের ক্ষেত্রে চেহারা সংক্রান্ত গ্লিচ সমাধান করা হয়েছে (Windows, Mac Intel ও Linux-এ সমাধান করা হয়েছে)
  • কিছু ক্র্যাশ সংক্রান্ত সমস্যার সমাধান করা হয়েছে, বিশেষ করে এমুলেটর বন্ধ করার সময়

33.1.23 (৩০ নভেম্বর, ২০২৩)

Android Studio Giraffe Patch 4 এবং Hedgehog Stable-এর সাথে পরীক্ষা করা হয়েছে।

  • Pixel Fold ডিভাইস আরও ভালোভাবে এমুলেট করার জন্য নতুন ফোল্ড করা যায় এমন ডিভাইসের প্রয়োগ, লেটেস্ট API 34-এর সাথে কাজ করে
  • গ্রাফিক্স ব্যাকএন্ড আপগ্রেড: আমাদের গ্রাফিক্স ব্যাকএন্ডের জন্য gfxstream প্রোটোকল প্রয়োগ করা হয়েছে। এই উন্নতি আপনার সিস্টেমের সামগ্রিক গ্রাফিক্স পারফর্ম্যান্স ও স্থিতিশীলতাকে উন্নত করে। এছাড়াও, API 34 সহ সিস্টেম ইমেজ থেকে শুরু করে Vulkan 1.3 সাপোর্ট চালু করা হচ্ছে
  • ফিচার সংক্রান্ত অনুরোধ: পিঞ্চ-টু-জুম জেসচার বন্ধ করার বিকল্প বা এর হটকী আবার অ্যাসাইন করা
  • [বাগ ফিক্স] Issue #302562962 MacOS Sonoma ব্যবহার করার সময় এমুলেটর ওয়েবক্যাম ক্র্যাশ করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে
  • [সমস্যার সমাধান] Issue #293503871 Emulator রিস্টার্ট করা হলে 'মাইক্রোফোন' সেটিং সেভ না হওয়ার সমস্যার সমাধান করা হয়েছে
  • [সমস্যার সমাধান] Issue #270386314 AVD স্ক্রিন মিনিমাইজ করার পরে সাইডবার খোলা থাকলে অ্যানিমেশন সংক্রান্ত সমস্যার সমাধান করা
  • [সমস্যার সমাধান] Issue #154896775 সমস্যার জমা দেওয়ার টুল সংক্রান্ত সমস্যার সমাধান

32.1.15 (২৯ আগস্ট, ২০২৩)

Android Studio Giraffe Patch 1 এবং Hedgehog Canary 16-এর সাথে পরীক্ষা করা হয়েছে।

  • AAE এমুলেটরে সেন্সরের জন্য GAS HW সংক্রান্ত প্রয়োজনীয়তা মেনে চলা
  • [সমস্যার সমাধান] Issue #266201208 API 33-এ হিব্রু এসএমএস পাঠানো হয় না
  • [বাগ সমাধান] সমস্যা #257097404 API 29 ও 30-এ হোস্ট জেগে ওঠার পরে এমুলেটর সঠিক সময় দেখায় না
  • [বাগ ফিক্স] Issue #228201899 Android Emulator Extended Controls-এর মধ্যে Google Maps দেখা যাচ্ছে না

32.1.14 (২৭ জুন, ২০২৩)

Android Studio Hedgehog Canary 8, Giraffe Beta 5 এবং Flamingo Stable-এর সাথে পরীক্ষা করা হয়েছে।

  • ইমুলেটর ক্যামেরার ওরিয়েন্টেশন ও ডিসটর্শন সংক্রান্ত সমস্যা সমাধান করুন।
  • [বাগ সমাধান] Issue #257097404 "হোস্ট কম্পিউটার ঘুম থেকে জাগানোর পরে এমুলেটর সঠিক সময় দেখায় না"। এই সমস্যাটি API 29 এবং API 30-এর জন্য এখনও দেখা যাচ্ছে।
  • [সমস্যার সমাধান] Issue #243456582 "API 30-এর পরের Android রিলিজ, Mac M1 মেশিনে ইমুলেটরে সঠিকভাবে চালু নাও হতে পারে"

32.1.13 (২২ মে, ২০২৩)

Android Studio Hedgehog Canary 2, Giraffe Beta 1 এবং Flamingo Stable-এর সাথে পরীক্ষা করা হয়েছে।

  • Pixel Fold ও Pixel Tablet AVD-এর জন্য সহায়তা যোগ করা হয়েছে।
  • gLinux ক্র্যাশ সংক্রান্ত সমস্যা উন্নত করা।
  • [বাগ সমাধান] সমস্যা #215231636 "API 30-এর উপরে API সহ এমুলেটর Intel 12th gen প্রসেসরে কাজ করছে না"।
  • [সমস্যার সমাধান] Issue #275397905 Android Emulator M1-এ কার্সর ফোকাস বারবার এমুলেটরের মধ্যে ও বাইরে নিয়ে গেলে ক্র্যাশ হওয়ার সম্ভাবনা বেশি থাকে।
  • নতুন এমুলেটরের ক্র্যাশ রিপোর্ট থাকলে AVD লঞ্চ করার সময় পরিচিত সমস্যা। আরও তথ্যের জন্য ইমুলেটর সংক্রান্ত সমস্যা সমাধান দেখুন।

32.1.12 (২১ মার্চ, ২০২৩)

Android Studio Giraffe Canary 10, Flamingo RC এবং Electric Eel Patch 2-এর সাথে পরীক্ষা করা হয়েছে।

  • [বাগ ফিক্স] Issue #267647323 Android Studio থেকে চালু করা ইমুলেটরে নেটওয়ার্ক কাজ করে না
  • [বাগ ফিক্স] Issue #268498686 এমুলেটর স্ক্রিন ফ্লিকার করছে
  • [সমস্যার সমাধান] Issue #270034824 ভার্সন 33.1.1-এ আপডেট করার পরে এমুলেটরের পারফর্ম্যান্স কমে গেছে
  • [সমস্যার সমাধান] Issue #225541819 x86_64-এ Chrome চালু করলে এমুলেটর ক্র্যাশ করে
  • [বাগ সমাধান] Issue #257097404 হোস্ট কম্পিউটার ঘুম থেকে জাগানোর পরে এমুলেটর সঠিক সময় দেখায় না
  • Apple M1 ডিভাইসের জন্য ক্র্যাশ রিপোর্টিং যোগ করা

32.1.11 (৮ ফেব্রুয়ারি, ২০২৩)

Android Studio Giraffe Canary 2, Flamingo Beta 1 এবং Electric Eel Patch 1-এর সাথে পরীক্ষা করা হয়েছে।

  • নেটওয়ার্ক স্পিড অপ্টিমাইজেশন
  • এম্বেড করা ইমুলেটরে মাউস সাপোর্ট
  • Virtio-snd সংক্রান্ত উন্নতি
  • ইনস্টলেশনের সময় Android এমুলেটর আনজিপ করার সময় সিমলিঙ্কের ব্যবহার বন্ধ করা
  • ইমুলেটর-চেক ক্র্যাশ সংক্রান্ত সমস্যার সমাধান করা

31.3.14 (১৩ ডিসেম্বর, ২০২২)

Android Studio Dolphin, Electric Eel RC1 এবং Flamingo Canary 9-এর সাথে পরীক্ষা করা হয়েছে।

  • [বাগ ফিক্স] Play Store-এ লগ-ইন করার সময় AVD ক্র্যাশ হওয়ার সমস্যার সমাধান করা হয়েছে।

31.3.13 (২৭ অক্টোবর, ২০২২)

Android Studio Dolphin, Electric Eel Beta 2 এবং Flamingo Canary 5-এর সাথে পরীক্ষা করা হয়েছে।

  • [সমস্যার সমাধান] সমস্যা #249948338: টাইম জোন প্যারামিটার কাজ করছে না
  • [সমস্যার সমাধান] Issue #249366543: Emulator -dns-server option does not work after API 31

31.3.12 (১০ অক্টোবর, ২০২২)

Android Studio Dolphin এবং Electric Eel Beta 1-এর সাথে পরীক্ষা করা হয়েছে।

এই আপডেটে নিম্নলিখিত উন্নতি ও সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

  • [Bug Fix] Issue #247843000: AVD relative path handling error
  • API 24 ও তার পরের যেকোনও ভার্সনের জন্য ডিস্কের সাইজ বাড়ানো

31.3.11 (২৩ সেপ্টেম্বর, ২০২২)

Android Studio Dolphin এবং Electric Eel Canary 10-এর সাথে পরীক্ষা করা হয়েছে।

এই আপডেটে নিম্নলিখিত উন্নতি ও সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

  • [বাগ ফিক্স] এক্সটেন্ডেড কন্ট্রোল উইন্ডোতে এম্বেড করা ইমুলেটর AVD ক্র্যাশ করা
  • [সমস্যার সমাধান] সমস্যা #183139207: এমুলেটর মাইক্রোফোন অ্যাক্টিভেট করলে অডিও সংক্রান্ত সমস্যা
  • [বাগ ফিক্স] Issue #229764024: AVD স্টিকি টাচ বাগ যার ফলে UI আচরণ সংক্রান্ত সমস্যা হয়
  • [সমস্যার সমাধান] Mac M1-এ API 33 AVD লঞ্চ করার সময় সমস্যা।
  • [সমস্যার সমাধান] Issue #243053479: Emulator আপডেট করার পরে নেটওয়ার্ক স্পিড কমে যাওয়া
  • [বাগ ফিক্স] Issue #244617627: Windows ও Linux-এ Maps লোকেশন কাজ করছে না
  • [সমস্যার সমাধান] সমস্যা #232971796: এক্সটেন্ডেড কন্ট্রোল > ফোন পৃষ্ঠায় "ডিভাইসে কল করুন" বোতাম কাজ করছে না
  • Android Emulator-কে minigbm-এ আপডেট করা
  • Python3-এ বিল্ড স্ক্রিপ্ট মাইগ্রেশন

31.3.10 (১৮ আগস্ট, ২০২২)

Android Studio Dolphin Beta 5 এবং Electric Eel Canary 9-এর সাথে পরীক্ষা করা হয়েছে।

এখন এমুলেটরের স্ট্যান্ডঅ্যালোন ডাউনলোড উপলভ্য। এই লেটেস্ট স্থিতিশীল রিলিজের সাথে কোনও সমস্যা বা ক্র্যাশ হলে, অনুগ্রহ করে একটি বাগ ফাইল করুন এবং ইমুলেটর ডাউনলোড আর্কাইভ থেকে আগে কাজ করা কোনও ভার্সন ডাউনলোড করার কথা বিবেচনা করুন।

এই আপডেটে নিম্নলিখিত উন্নতি ও সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

  • Windows-এ আরও ভালো ইউনিকোড পাথ সাপোর্ট
  • ইমুলেটর বন্ধ করা সংক্রান্ত সমস্যা আরও ভালোভাবে সমাধান করা হয়েছে, যাতে একই AVD নতুন করে লঞ্চ করা যায়।
  • ফোল্ড করা যায় এমন AVD ডিজাইন ও ডিফল্ট সেটিংস আপডেট করা হয়েছে
  • Wear এমুলেটর বোতাম আপডেট করা হয়েছে
  • gRPC অডিও স্ট্রিমিং সংক্রান্ত উন্নতি
  • সাইজ পরিবর্তন করা যায় এমন এমুলেটর কনসোল কমান্ড যোগ করা হয়েছে
  • API 31-এর জন্য Chrome সমাধান
  • [সমস্যার সমাধান] GmsCore v21.42.18 ভার্সনে Google অ্যাকাউন্ট যাচাইকরণ ব্যর্থ হয়েছে

31.2.10 (২০ এপ্রিল, ২০২২)

Android Studio Dolphin Canary 8 এবং Chipmunk RC 1-এর সাথে পরীক্ষা করা হয়েছে।

এই আপডেটে নিম্নলিখিত উন্নতি ও সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

  • ফলব্যাক সহ Vulkan ফাংশন লোড করার জন্য ইউটিলিটি যোগ করা
  • [সমস্যার সমাধান] gcc8 বিল্ড সংক্রান্ত সমস্যার সমাধান করা

31.2.9 (২৩ মার্চ, ২০২২)

Android Studio Dolphin Canary 7-এর সাথে পরীক্ষা করা হয়েছে।

এই আপডেটে নিম্নলিখিত সমস্যার সমাধান করা হয়েছে:

  • [সমস্যার সমাধান] M1-এ স্ন্যাপশট সেভ করার সময় মেমরি প্রেসার উপেক্ষা করা

31.2.8 (৭ ফেব্রুয়ারি, ২০২২)

Android Studio Bumblebee Patch 1 এবং Chipmunk Canary 6-এর সাথে পরীক্ষা করা হয়েছে।

এই আপডেটে নিম্নলিখিত উন্নতি ও সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

  • [সমস্যার সমাধান] অ্যাপে সাইন-ইন করা যাচ্ছে না
  • [বাগ ফিক্স] Issue #215368358: Intel প্ল্যাটফর্মে "adb reboot" কমান্ড দিলে "vcpu shutdown request" সহ avd ক্র্যাশ করে

31.2.7 (১ ফেব্রুয়ারি, ২০২২)

Android Studio Bumblebee Patch 1 এবং Chipmunk Canary 6-এর সাথে পরীক্ষা করা হয়েছে।

এই আপডেটে নিম্নলিখিত সমস্যার সমাধান করা হয়েছে:

  • [সমস্যার সমাধান] M1 মেশিনে এমুলেটর হ্যাং হয়ে যাওয়া সংক্রান্ত সমস্যা।

31.2.6 (২০ জানুয়ারি, ২০২২)

Android Studio Arctic Fox, Bumblebee Beta 4 এবং Chipmunk Canary 6-এর সাথে পরীক্ষা করা হয়েছে।

এই আপডেটে নিম্নলিখিত উন্নতি ও সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

  • Wear OS এমুলেটরে Wear বোতাম যোগ করা হয়েছে।
  • VHAL ট্যাবে সবকটি গাড়ির প্রপার্টি এডিট করা যায়।
  • [সমস্যার সমাধান] GmsCore v21.42.18 ভার্সনে Google অ্যাকাউন্ট যাচাইকরণ ব্যর্থ হয়েছে।
  • [বাগ ফিক্স] Netshaper, VirtioWifi-এর সাথে ভালোভাবে কাজ করেনি।
  • [সমস্যার সমাধান] ইভেন্ট মাউস কনসোল কমান্ড কাজ করেনি।
  • স্থানীয় AVD তৈরি করার জন্য KVM চেক যোগ করা হয়েছে।

31.1.3 (১৮ জানুয়ারি, ২০২২)

এই আপডেটে নিম্নলিখিত উন্নতি ও সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

  • Fuchsia-এর জন্য কনসোল পোর্ট চালু করা হয়েছে।
  • মাল্টি-ডিসপ্লে উইন্ডোর সাইজ পরিবর্তন করার সময়, ওরিয়েন্টেশন উপেক্ষা করা হয়।
  • ওয়াই-ফাই: MAT mac অ্যাড্রেসের উপর ভিত্তি করে ইউনি-কাস্ট প্যাকেট ফিল্টার করার সুবিধা যোগ করা হয়েছে।
  • ওয়াই-ফাই: vmnet ব্যবহার করা হলে ক্র্যাশ হওয়ার সমস্যা সমাধান করা হয়েছে।

30.9.5 (১৫ ডিসেম্বর, ২০২১)

এই আপডেটে নিম্নলিখিত উন্নতি ও সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

  • ডেস্কটপ বা ট্যাবলেট সাইজের উইন্ডোতে সহজেই রিসাইজ করার সুবিধা যোগ করা হয়েছে।
  • মানানসই হোস্ট ডিভাইস থেকে মাল্টি-টাচ ইনপুটের জন্য সহায়তা যোগ করা হয়েছে।
  • VirtioWifi: ট্যাপ নেটওয়ার্কের জন্য সহায়তা যোগ করা হয়েছে।
  • Wear সিস্টেম ইমেজের জন্য রোটারি ইনপুট চালু করা হয়েছে।
  • gRPC অডিও কনফিগারেশন সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • স্ট্যান্ডার্ড Android সেন্সর কাজ করে এমনভাবে SensorReplay এমুলেটর প্লেব্যাক আপডেট করা হয়েছে।
  • USB পাস থ্রু ব্যবহার করে পেরিফেরাল ও ডিভাইসের সাথে এমুলেটর কানেক্ট করা হয়েছে।

30.4.5 (২৩ ফেব্রুয়ারি, ২০২১)

এই আপডেটে নিম্নলিখিত উন্নতি ও সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

  • macOS: অডিও ইনপুট বিকৃতি সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • ব্যবহারকারীর স্পেসে virtio-vsock-এর জন্য সহায়তা যোগ করা হয়েছে।
  • ভবিষ্যতে সিস্টেমের ছবিতে logcat ও কার্নেল মেসেজের জন্য virtio-console ব্যবহার করা হবে।
  • Vulkan রেন্ডারিংয়ের স্পিড বাড়ান।
  • টেস্ট ব্যর্থ হলে স্ন্যাপশট ডিবাগিংয়ের জন্য সহায়তা যোগ করা হয়েছে।
  • virtio-gpu: লেটেস্ট blob রিসোর্স enum-কে সাপোর্ট করার জন্য আপডেট করা সংজ্ঞা।
  • 'asg' ধরনের গ্রাফিক্স ট্রান্সপোর্টের জন্য স্ন্যাপশট সহায়তা যোগ করা হয়েছে।
  • macOS: macOS SDK 11.1+ ভার্সনের সাথে কম্প্যাটিবল বিল্ড তৈরি করার সুবিধা যোগ করা হয়েছে।
  • নতুন সিস্টেম ইমেজে KVMclock ডিফল্ট হিসেবে চালু থাকে।
  • Wear এমুলেটরে হার্ট রেট সেন্সরের জন্য সহায়তা যোগ করা হয়েছে।
  • libportability Vulkan ব্যাকএন্ড সরানো হয়েছে।
  • মডেম সিমুলেটরে আরও ফিচারের জন্য সহায়তা যোগ করা হয়েছে।

৩০.০.২৬ (১৬ আগস্ট, ২০২০)

এই আপডেটে একাধিক নতুন ফিচার, আগে থেকে থাকা ফিচারে উন্নতি এবং সমস্যার সমাধান অন্তর্ভুক্ত।

ভার্চুয়াল হিঞ্জ সেন্সর ও 3D ভিউ সহ ফোল্ড করা যায় এমন ডিভাইস

  • ফোল্ড করা যায় এমন ডিভাইসের জন্য হিঞ্জ সেন্সর সংক্রান্ত সহায়তা যোগ করা হয়েছে। এর জন্য ভবিষ্যতে Android 11 সিস্টেম ইমেজ ও AVD কনফিগারেশন প্রয়োজন। আগে থেকে থাকা ফোল্ড করা যায় এমন প্রিসেটের সাথে এখন 3D ফোল্ড করা যায় এমন ভিউ ও হিঞ্জ প্যারামিটার ইন্টিগ্রেট করা হয়েছে। নিম্নলিখিত 7.3 ফোল্ড করা যায় এমন AVD-এর 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 এখন উপলভ্য। আরও জানতে, Android এমুলেটর সহ Android 11-এর জন্য ডেভেলপ করা ব্লগপোস্টটি পড়ুন।

  • ডিফল্ট হিসেবে এখন হিঞ্জ সেন্সর চালু করা হয়েছে।

  • ফোল্ড করা যায় এমন ডিভাইস কনফিগার করা থাকলে, এমুলেটর এখন গেস্টকে হিঞ্জ অ্যাঙ্গেল সেন্সর আপডেট ও পোসচার পরিবর্তন পাঠায়। আগে থেকেই থাকা ফোল্ড করা যায় এমন ডিভাইস এখন টুলবারের ফোল্ড বা আনফোল্ড বোতামে প্রেস করা হলে হিঞ্জ সেন্সর অ্যাঙ্গেল ও পোসচার আপডেট করবে।

ARM64 হোস্টের জন্য ইমুলেটর

  • Linux এমুলেটর সোর্স কোড এখন x86_64 থেকে arm64 হোস্টে ক্রস কম্পাইলেশন সাপোর্ট করে, যা KVM ভার্চুয়ালাইজেশনের মাধ্যমে arm64 সিস্টেম ইমেজ রান করার সুবিধা দেয়। বর্তমানে, শুধুমাত্র -gpu swiftshader_indirect (Swiftshader arm64 হোস্ট রেন্ডারিং) কাজ করে, তবে মানানসই হোস্ট GPU libEGL/libGLESv2 লাইব্রেরিও lib64/gles_swiftshader-এর সাথে পরিবর্তন করে এবং তারপরে -gpu swiftshader_indirect-এর মাধ্যমে আবার লঞ্চ করে ব্যবহার করা যেতে পারে। এছাড়াও, স্ন্যাপশট কাজ নাও করতে পারে (কমান্ড লাইনে add -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
    
  • Apple Silicon-এর জন্য সহায়তা প্রদান করার কাজ চলছে।

virtio-gpu সহায়তা

  • আসন্ন virtio-gpu হোস্ট কোহেরেন্ট blob রিসোর্সের জন্য হোস্টের দিকে সহায়তা যোগ করা হয়েছে।
  • এমুলেটর রেন্ডারিং যেভাবে কাজ করে, তার জন্য আমরা এখন vcpu থ্রেডে virtio-gpu virtqueue প্রসেস করি (কারণ রেন্ডারিং অন্য থ্রেডে অফলোড করা হয়)। ভবিষ্যতের সিস্টেম ইমেজ ও এমুলেটর ভার্সনে virtio-gpu রেন্ডারিং চালু করা হবে।
  • ভবিষ্যতের সিস্টেম ইমেজে এমুলেটরটি virtio-gpu ভিত্তিক স্ট্যাকের মাধ্যমে সমস্ত গ্রাফিক্স রান করতে পারবে।

অন্যান্য নতুন ফিচার ও উন্নতি

  • -qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id> ব্যবহার করে Windows-এ এখন USB পাসথ্রু উপলভ্য। (এটি Linux এবং macOS-এও আগে থেকেই কাজ করা উচিত)
  • WebRTC লাইব্রেরি M83-এ আপডেট করা হয়েছে।
  • WebRTC-এর মাধ্যমে কন্টেনারে অডিও স্ট্রিম করার সুবিধা এখন এমুলেটরে কাজ করে।
  • darwinn পাইপ এন্ডপয়েন্ট সরিয়ে দেওয়া হয়েছে।
  • ভিডিওর জন্য CUDA VPx ডিকোড এখন উপলভ্য, যদি CUDA VPx ডিকোড হার্ডওয়্যারে উপলভ্য থাকে, এনভায়রনমেন্ট ভেরিয়েবল ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1-এর মাধ্যমে।
  • macOS-এ, Android গেস্টের মধ্যে থেকে এখন SSE 4.1 এবং 4.2 উপলভ্য।
  • macOS-এ, INVTSC এখন ডিফল্ট হিসেবে চালু করা আছে। এর ফলে অতিথির থেকে পাওয়া সময় সংক্রান্ত পরিমাপের নির্ভুলতা বাড়তে পারে।
  • আমরা এখন মেট্রিক্সে ট্র্যাক করি যে কোন এক্সটেন্ডেড কন্ট্রোল প্যানেল ব্যবহারকারী বেছে নিয়েছেন।
  • গেস্ট কার্নেলের ভার্সন >= 5.4 (R সিস্টেম ইমেজ বা তার পরের যেকোনও ভার্সন) হলে, Linux এমুলেটর এখন KVM প্যারাভার্চুয়ালাইজড ক্লক ব্যবহার করে।
  • গেস্ট কার্নেলকে ডিকম্প্রেস করার জন্য এমুলেটর এখন LZ4 ব্যবহার করে, এটি আধুনিক কার্নেল পাইপলাইনের সাথে মানানসই করে তোলে।
  • ইমুলেটর AVD ডিরেক্টরি, Studio-এ এম্বেড করা ব্যবহারের ক্ষেত্রে ডিসকভারি ফাইল পাথ এবং স্ন্যাপশটের পাথ পাওয়ার জন্য কনসোল কমান্ড যোগ করা হয়েছে:

    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>
    
  • ভার্টিক্যাল স্ক্রিন স্পেস সেভ করা আরও সহজ করতে, আমরা এক্সটেন্ডেড কন্ট্রোল > সেটিংস বিকল্পে গিয়ে বর্তমান AVD-এর জন্য ডিভাইস ফ্রেম লুকানোর বিকল্প যোগ করেছি। সব AVD-র জন্য ডিভাইস ফ্রেম গ্লোবালি লুকিয়ে রাখতে, আমরা NoDeviceFrame ফিচার ফ্ল্যাগ উপলভ্য করেছি, যা -feature NoDevice ফ্রেম সহ কমান্ড লাইন থেকে এমুলেটর লঞ্চ করার মাধ্যমে অ্যাক্টিভেট করা যেতে পারে অথবা এটি লক করতে, ~/.android/advancedFeatures.ini-এ NoDeviceFrame = on যোগ করুন (এটি আগে থেকে না থাকলে এই ফাইল তৈরি করুন)।

  • মিটারডনেস সাপোর্ট চালু ও বন্ধ করার জন্য সেলুলার পৃষ্ঠায় একটি ড্রপ-ডাউন আইটেম যোগ করা হয়েছে, এটি পুরনো সিস্টেম ইমেজের জন্য কোনও অপারেশন নয় যা 5G মিটারডনেস টগল করার সুবিধা দেয় না।

    • একই উদ্দেশ্যে কনসোল কমান্ডও যোগ করা হয়েছে: gsm meter on|off
  • C++17-এ আপগ্রেড করা টুলচেন / বিল্ড।

সমস্যার সমাধান: এম্বেড করা ইমুলেটর

  • এখন ক্লিপবোর্ড কাজ করা উচিত।
  • ইমুলেটরে বড় হাতের অক্ষর ছোট হাতের অক্ষর হিসেবে ডেলিভার করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে ।
  • Windows-এ ইউনিকোড পাথ থেকে কনসোল টোকেন লোড করার সমস্যা সমাধান করা হয়েছে।
  • linux-এ SO_REUSEPORT সমস্যার মেসেজ সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • gRPC-এর মাধ্যমে স্ন্যাপশট কমান্ড পাঠানোর সময় স্ন্যাপশট করাপ্ট হওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে, পাশাপাশি Android Studio এম্বেড করা এমুলেটরে স্ন্যাপশট সেভ করার বোতাম প্রেস করার সময়ও এই সমস্যার সমাধান করা হয়েছে।
  • Studio-তে এম্বেড করা Linux এমুলেটর ব্যবহার করার সময়, আমরা দেখেছি যে এটি Chrome রিমোট ডেস্কটপের মাধ্যমে করা হলে, একটি বাগ দেখা যায় যেখানে XDG_RUNTIME_DIR সেট করা থাকে না এবং এমুলেটর ডিসকভারি ফাইল XDG_RUNTIME_DIR-এ থাকার কারণে এম্বেড করা এমুলেটর দেখানো নাও যেতে পারে। আপনি Chrome সমস্যা ট্র্যাকারে সংশ্লিষ্ট সমস্যার স্ট্যাটাসচেক করতে পারবেন।

    এর বিকল্প হিসেবে, এমুলেটর এখন ব্যবহারকারীর UID-এর উপর ভিত্তি করে সম্ভাব্য-আলাদা ডিরেক্টরিতে ডিসকভারি ফাইল ব্যবহার করার জন্য ফলব্যাক করে: /run/user/&lt;uid>।

  • এম্বেড করা এমুলেটর: রাউন্ডেড কোণ/নচ সহ ডিভাইস এখন কোণ ও নচের জন্য জায়গা করতে লেআউট সঠিকভাবে পরিবর্তন করে। এর জন্য সেইসব এমুলেটরকে কোল্ড বুট করতে হবে।

  • gRPC এন্ডপয়েন্ট এখন ডিভাইসে এসএমএস পাঠানোর সুবিধা দেয়।

সাধারণ সমাধান

  • Riot Vanguard চালু থাকা অবস্থায় Windows এমুলেটর চালানোর সময় মানানসই হওয়া সংক্রান্ত সমস্যা দেখা গেছে। Windows এমুলেটর এখন Vanguard অ্যান্টি-চিট শনাক্ত করে এবং Vanguard শনাক্ত করা হলে একটি সতর্কতা মেসেজ পপ-আপ করে।
  • Windows-এ FD_SETSIZE সমস্যার সমাধান করা হয়েছে। লুপব্যাক সার্ভারের সাথে নন-ব্লকিং কানেকশন স্থাপন করার জন্য আমরা এখন select()-এর পরিবর্তে WSAEventSelect() ব্যবহার করি।
  • NDK ট্রান্সলেশনের মাধ্যমে কিছু ARM64 অ্যাপ্লিকেশন চালানোর সমস্যা সমাধানের জন্য Linux এমুলেটরে F16C CPUID ফিচার যোগ করা হয়েছে; macOS/Windows-এ কাজ চলছে।
  • টাইমস্ট্যাম্প অনুসরণ করার জন্য gpx/kml রুটের প্লেব্যাক সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • MacOs-এ লঞ্চ করার সময় আইকন বাউন্স করার সমস্যা সমাধান করা হয়েছে।
  • config.ini-এ hw.audioInput=no এবং hw.audioOutput=no থাকলে, এমুলেটর অডিও এখন সঠিকভাবে বন্ধ করা হয়েছে।
  • এক্সটেন্ডেড কন্ট্রোল উইন্ডো খোলা থাকলেও অ্যাক্টিভ না থাকাকালীন এমুলেটর উইন্ডো মিনিমাইজ করা হলে, এমুলেটর উইন্ডোর সাইজ পরিবর্তন করার সময় এক্সটেন্ডেড কন্ট্রোল উইন্ডো বারবার দেখানো হতে থাকার সমস্যা সমাধান করা হয়েছে। ভবিষ্যতের আপডেটে আমরা এই ব্যবহার (অ্যাক্টিভ এক্সটেন্ডেড কন্ট্রোল উইন্ডো) সম্পূর্ণভাবে সরিয়ে দেব।
  • এমুলেটর চালু হলে ওয়াই-ফাই কানেক্ট না হওয়া সংক্রান্ত অনিয়মিত বাগ সমাধান করা হয়েছে।
  • দীর্ঘ বা অনির্দিষ্ট টাইমআউট সহ শেল কমান্ডের ক্ষেত্রে এমুলেটর সমস্যা হলে, বেরিয়ে আসার সময় হ্যাং-অন-এক্সিট সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • -initrd-এ পাঠানো বড় ছবিগুলিকে আরও ভালোভাবে সাপোর্ট করার জন্য সমাধান সহ আপডেট করা pc-bios; পুরনো BIOS খুব অদক্ষ পদ্ধতি ব্যবহার করত।
  • -wifi-server-port বিকল্প ব্যবহার করার সময় বন্ধ করার সময় ক্র্যাশ হওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • -prop এ কাজ করে না এমন বিকল্প পাস করা হলে এমুলেটর এখন একটি সতর্কতা প্রিন্ট করে (শুধুমাত্র qemu.* প্রপার্টি কাজ করে)।
  • Windows-এ এমুলেটর তৈরি করার সময়, ফাইলে লেখার ক্ষেত্রে অনিশ্চিত ব্যর্থতা হওয়ার সম্ভাবনা কম থাকে। আরও তথ্যের জন্য, Windows বিল্ড নির্দেশাবলী দেখুন।
  • ফোল্ড করা যায় এমন AVD-র জন্য জুম করার বোতাম বন্ধ করে দেওয়া হয়েছে, যা সমস্যার কারণ ছিল।
  • ডিভাইস রিবুট করার ফলে পাওয়া বুট টাইম এখন এমুলেটর সঠিকভাবে রিপোর্ট করে।
  • Linux: KVM সংক্রান্ত পর্যাপ্ত অনুমতি না থাকলে, এমুলেটর এখন আরও দ্রুত ডিবাগিং নির্দেশাবলী প্রিন্ট করে।
  • অ্যাক্সিলারেশন না থাকলে, এমুলেটর সাম্প্রতিক সিস্টেম ইমেজ বুট করতে না পারার সমস্যা সমাধান করা হয়েছে।
  • বুট-কমপ্লিটেড ডিটেক্টর থেকে শুরু করার সময় মেমরি করাপশন বা ক্র্যাশ হওয়ার সমস্যা সমাধান করা হয়েছে।
  • দীর্ঘ স্ক্রিন রেকর্ডিং সেশনের সময় মেমরি লিক সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • Studio 4.1 ব্র্যান্ডিংয়ের সাথে মানানসই করে এমুলেটর আইকন আপডেট করা হয়েছে।
  • Windows-এ রিমোট সেশন শনাক্ত করার জন্য আরও ভালো সহায়তা যোগ করা হয়েছে।

সমাধান: গ্রাফিক্স ও ভিডিও ডিকোড

  • Asphalt 9 গেমের লেটেস্ট ভার্সন কালো স্ক্রিনে রেন্ডার হওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • NULL-এর মাধ্যমে ম্যাপ করা বাফার ফ্ল্যাশ করা সংক্রান্ত স্প্যাম সরানো হয়েছে।
  • অতিথি Vulkan অ্যাপ বেরিয়ে গেলে Vulkan স্টেট ভেঙে ফেলার সময় রেস কন্ডিশন সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • Vulkan ASTC/ETC2 ইমুলেশন শেডার এখন libOpenglRender লাইব্রেরিতে বেক করা আছে। এটি ফাইলসিস্টেম থেকে পড়ার তুলনায় আরও নির্ভরযোগ্য হবে।
  • Vulkan-এ একটি সমস্যার সমাধান করা হয়েছে যেখানে হোস্টের Vulkan 1.0 ইনস্ট্যান্সের সাথে রান করলে, vkGetImageMemoryRequirements2KHR ভুলভাবে রিটার্ন করা VkMemoryRequirements2 struct-এর pNext ফিল্ড মুছে দিত।
  • Vulkan রেন্ডারারে মেমরি লিক সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • সম্প্রতি হওয়া একটি রিগ্রেশন সংক্রান্ত সমস্যার সমাধান করা হয়েছে যেখানে GLSL ES 1.00 শেডার, এই ধরনের ভেরিয়েবল নামের সাথে isampler2D কম্পাইল করা যায়নি।
  • বিভিন্ন সমস্যার সমাধান সহ আপডেট করা ANGLE শেডার ট্রান্সলেটর যা Linux-এ শেডার কম্পাইল করতে না পারার সম্ভাব্য সমস্যা সমাধান করে।
  • বেসিক ফ্রেমবাফার ব্লিট শেডার কম্পাইল করতে না পারলে, আমরা এখন এমুলেটর ক্র্যাশ করে দিই, যাতে এই ঘটনা ট্র্যাক করা যায়।
  • আপস্ট্রিম ANGLE-এর সাথে তাল মিলিয়ে চলতে ANGLE শেডার ট্রান্সলেটর আপডেট করা হয়েছে। এটি নন-স্কোয়ার ম্যাট্রিক্স ব্যবহার করা OpenGL ES শেডার অনুবাদ ও কনস্ট্যান্ট-ফোল্ডিং করার সময় মেমরি করাপশন সংক্রান্ত সমস্যার সমাধান করেছে। শেডার ট্রান্সলেটর এখন একটি আলাদা শেয়ার করা লাইব্রেরি, libshadertranslator.dll।
  • কিছু GPU ড্রাইভারের Vulkan ইনিশিয়ালাইজেশনের ক্ষেত্রে হওয়া সমস্যার সমাধান করা হয়েছে, যেখানে নির্দিষ্ট 1.1 ডিভাইস ফাংশন খুঁজে পাওয়া যায়নি।
  • Vulkan: আমরা আগের বিল্ট-ইন লোডার ব্যবহার করা শুরু করেছি, কারণ সিস্টেম Vulkan লোডার ব্যবহার করলে কিছু সেট-আপে সমস্যা হচ্ছে; এর একটি আরও ভালো সমাধান খুঁজে বের করা হবে।
  • Vulkan এক্সটার্নাল মেমরি ব্যবহার করার সময় হওয়া সমস্যা সমাধান করা হয়েছে, যেখানে এটি হোস্টের সাথে ম্যাচ না করা মেমরি টাইপ ইন্ডেক্স ইমপোর্ট করতে পারত।
  • GL_ALIASED_POINT_SIZE_RANGE-এর এমুলেশনে সমস্যা সমাধান করা হয়েছে যেখানে হোস্টের ক্ষেত্রে enum কাজ করত না।
  • কিছু হোস্ট GPU-তে, GL_EXT_shader_framebuffer_fetch সম্পর্কিত সমস্যার কারণে Skia শেডার কম্পাইল করা যায়নি, সেই সমস্যা সমাধান করা হয়েছে।
  • আমাদের D3D9 ANGLE রেন্ডারারের কপি কয়েক ভার্সন আগে সরিয়ে দেওয়া হয়েছে, তাই আমরা এখন সেইসব ব্যবহারকারীকেও অটোমেটিক d3d11 ANGLE-এ সুইচ করি যারা সেই রেন্ডারারে ছিলেন, যদি UI প্রেফারেন্সে এটি বেছে নেওয়া হয়ে থাকে।
  • Windows-এ WGL ইনিশিয়ালাইজেশনে আরও ডিবাগ তথ্য যোগ করা হয়েছে, যাতে ব্যর্থতা ট্র্যাক করা যায়।
  • hw.gltransport=virtio-gpu-pipe হলে, হোস্ট থেকে অতিথি মেশিনে ট্রান্সফার করার সময় হোস্ট মেশিনে স্পিনিং না করে পারফর্ম্যান্স উন্নত করা হয়।
  • OpenGLES এমুলেশন চালু করা না গেলে তার জন্য আরও ডিবাগ লগিং যোগ করা হয়েছে।
  • স্ন্যাপশট লোডে YouTube ভিডিও ফ্লিকার করা বা না দেখানো সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • libvpx-এর জন্য এখন সফ্টওয়্যার ডিকোডারে পরিবর্তন করা হয়েছে কারণ আমরা libvpx-এর CUDA হার্ডওয়্যার ডিকোডারে সমস্যা দেখেছি। হোস্টের দিকে যদি কাজ করে এমন CUDA হার্ডওয়্যার ডিকোড ইমপ্লিমেন্টেশন থাকে, তাহলে ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1 এনভায়রনমেন্ট ভেরিয়েবলের মাধ্যমে libvpx-এর হার্ডওয়্যার ডিকোড আবার চালু করা যেতে পারে।

৩০.০.১০ (৩০ এপ্রিল, ২০২০)

এই আপডেটে Android Studio-তে সরাসরি এমুলেটর চালানোর এবং ডিফল্ট হিসেবে চালু থাকা ফ্রিফর্ম উইন্ডো মোড সহ ভার্চুয়াল ডিভাইসের জন্য সহায়তা অন্তর্ভুক্ত।

Android Studio-তে এমুলেটর রান করানো

Android Emulator এখন সরাসরি Android Studio-তে চালানো যাবে। স্ক্রিনের জায়গা বাঁচাতে, হটকী ব্যবহার করে এমুলেটর ও এডিটর উইন্ডোর মধ্যে দ্রুত নেভিগেট করতে এবং একটি অ্যাপ্লিকেশন উইন্ডোতে আপনার IDE ও এমুলেটর ওয়ার্কফ্লো সাজাতে এই ফিচার ব্যবহার করুন।

ফ্রিফর্ম উইন্ডো মোড

আপনি এখন Android Studio-তে ভার্চুয়াল ডিভাইস তৈরি করার সময় ১৩.৫” ফ্রিফর্ম ট্যাবলেট হার্ডওয়্যার প্রোফাইল বেছে নিয়ে ফ্রিফর্ম উইন্ডো মোড চালু করা AVD তৈরি করতে পারবেন। এই হার্ডওয়্যার প্রোফাইলের জন্য Android 11 Developer Preview 3 বা এর পরের যেকোনও ভার্সনের সিস্টেম ইমেজ প্রয়োজন।

পরিচিত সমস্যা

উইন্ডো ম্যানেজারে ফোকাস ট্রান্সফার করার সমস্যার কারণে ফ্রিফর্ম উইন্ডোর সাইজ পরিবর্তন করার সুবিধা বর্তমানে কাজ করছে না। ভবিষ্যতে Android 11 সিস্টেম ইমেজ রিলিজে এই সমস্যার সমাধান করা হবে।

30.0.0 (১৯ ফেব্রুয়ারি, ২০২০)

এই আপডেটে Android 11 (API লেভেল 30) সিস্টেম ইমেজ এবং ARM বাইনারি চালানোর সময় উন্নত পারফর্ম্যান্স অন্তর্ভুক্ত।

Android 11 সিস্টেম ইমেজ

আপনি এখন Android 11 রান করে এমন AVD তৈরি করতে পারবেন, এর জন্য উপলভ্য API লেভেল 30 সিস্টেম ইমেজ থেকে যেকোনও একটি বেছে নিন:

  • x86: এর মধ্যে x86 ও ARMv7 ABI, দু'টিই অন্তর্ভুক্ত।
  • x86_64: এর মধ্যে x86, x86_64, ARMv7 এবং ARM64 ABI অন্তর্ভুক্ত।

Android 9 ও 11 সিস্টেম ইমেজে ARM বাইনারির জন্য সহায়তা

আপনার অ্যাপ ARM বাইনারির উপর নির্ভর করার কারণে আপনি আগে Android এমুলেটর ব্যবহার করতে না পারলে, এখন আপনার অ্যাপ চালানোর জন্য Android 9 x86 সিস্টেম ইমেজ বা যেকোনও Android 11 সিস্টেম ইমেজ ব্যবহার করতে পারবেন – ARM বাইনারি চালানোর জন্য নির্দিষ্ট সিস্টেম ইমেজ ডাউনলোড করার আর প্রয়োজন নেই। এইসব Android 9 এবং Android 11 সিস্টেম ইমেজ ডিফল্ট হিসেবে ARM-এ কাজ করে এবং সম্পূর্ণ ARM ইমুলেশনের তুলনায় অনেক ভাল পারফর্ম্যান্স দেয়।

পরিচিত সমস্যা

  • কিছু ARMv7 বাইনারি Android 11 x86 এবং x86_64 সিস্টেম ইমেজে রান করতে পারে না। Android 11 টার্গেট করলে ARM64-এর জন্য বিল্ড করার কথা বিবেচনা করুন।

29.0.11 (২৯ মে, ২০১৯)

এই আপডেটে নিম্নলিখিত উন্নতি ও সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

  • Windows: ইমুলেটর এখন libgcc DLL-এর উপর নির্ভর করে যা আমরা libgcc-এর সাথে স্ট্যাটিক্যালি কম্পাইল করার পরিবর্তে পাঠাই।
  • Linux: gRPC API-তে logcat সহায়তা যোগ করা হয়েছে। gRPC সম্পর্কে আরও জানতে, gRPC স্ট্রিমিং এমুলেটর (Linux) দেখুন।
  • ইমুলেটরে এখন ৩২-বিট x86 গেস্টের জন্য হেডলেস বিল্ড অন্তর্ভুক্ত আছে (qemu-system-i386)। এই ফিচারের মাধ্যমে API লেভেল ২৬ ও তার নিচের লেভেলের x86 ৩২-বিট ছবি হেডলেস বিল্ডের সাথে রান করানো যায়। মনে রাখবেন, API 27 ও তার পরের যেকোনও ভার্সন সহ ৩২-বিট x86 গেস্টের জন্য, এমুলেটর ৬৪-বিট ইঞ্জিন (qemu-system-x86_64) ব্যবহার করে, কারণ এই সিস্টেম ইমেজে, যদিও ইউজারস্পেস ৩২-বিট, কিন্তু কার্নেল ৬৪-বিট। Android Studio, এমুলেশন ইঞ্জিন বেছে নেওয়ার জন্য কার্নেল ব্যবহার করে।
  • আপনি এখন ANDROID_QT_LIB_PATH এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করে কাস্টম Qt লাইব্রেরি পাথ নির্দিষ্ট করতে পারবেন।
  • আপনি এখন QEMU1 ব্যবহার করে এমন আগের বাইনারি সহ এমুলেটর চালাতে পারবেন, যদি QEMU1 এক্সিকিউটেবল (emulator[64]-[x86|arm|etc]) এমুলেটর ডিরেক্টরিতে প্লেস করা হয়।
  • Windows: "vCPU বন্ধ করার অনুরোধ" মেসেজ সহ এমুলেটর চালু করতে না পারার সমস্যা সমাধান করা হয়েছে।
  • Vulkan-এ এমুলেট করা কম্প্রেসড টেক্সচারে অপ্রয়োজনীয় পাইপলাইন বাধা সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • chunked transfer encoding ব্যবহার করা হলে http প্রক্সি অনুরোধের ক্ষেত্রে হওয়া সমস্যার সমাধান করা হয়েছে। আরও তথ্যের জন্য, কমিট সংক্রান্ত বিবরণ দেখুন।

29.0.9 (৭ মে, ২০১৯)

এই আপডেটে নিম্নলিখিত সমস্যার সমাধান করা হয়েছে:

  • Windows: ইমুলেটরে ভার্চুয়াল সিন ক্যামেরা ও ওয়েবক্যাম কাজ না করার সমস্যার সমাধান করা হয়েছে।

29.0.8 (৬ মে, ২০১৯)

এই আপডেটে নিম্নলিখিত উন্নতি ও সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

  • একাধিক ভার্চুয়াল হার্ডওয়্যার ডিসপ্লেতে সহায়তা যোগ করা হয়েছে, যখন প্রতিটি ডিসপ্লে গণনা ও সেট করার জন্য গেস্ট পরিষেবা থাকে। ভবিষ্যতে এমুলেটর সিস্টেম ইমেজ আপডেটে একাধিক ভার্চুয়াল হার্ডওয়্যার ডিসপ্লে অন্তর্ভুক্ত করা হবে।
  • নতুন কমান্ড লাইন বিকল্প যোগ করা হয়েছে: -delay-adb. অতিথি বুট করা (কোল্ড বুট থেকে) সম্পূর্ণ না করা পর্যন্ত এই বিকল্পটি ADB প্যাকেট প্রসেস করা বন্ধ করে দেয়। আপনি যদি CI এনভায়রনমেন্টে এমন এমুলেটর ব্যবহার করেন যা এমুলেটরকে রিবুট করে এবং একই সাথে DDMS ব্যবহার করে, তাহলে এই বিকল্পটি সেইসব সমস্যা সমাধান করতে সাহায্য করে।
  • স্ন্যাপশট লোড করার সময় হওয়া সমস্যা সমাধান করা হয়েছে যেখানে glIsRenderbuffer ভুল ভ্যালু রিটার্ন করত।
  • Android গেস্ট রিবুট করলে, পুরনো স্ট্যাটাস সংক্রান্ত কিছু সমস্যার সমাধান করা হয়েছে।
  • Windows: Windows ইউজারনেমে নন-ASCII অক্ষর বা স্পেস থাকলে এমুলেটর চালু হতে না পারার সমস্যা সমাধান করা হয়েছে।

পরিচিত সমস্যা

  • অটোমোটিভ সিস্টেম ইমেজের জন্য Snapshots UI বন্ধ করা আছে কারণ এই সিস্টেম ইমেজের জন্য Snapshots বর্তমানে কাজ করে না।

29.0.6 (১ মে, ২০১৯)

এই আপডেটে একাধিক নতুন ফিচার, আগে থেকে থাকা ফিচারে উন্নতি এবং সমস্যার সমাধান অন্তর্ভুক্ত।

QEMU1 ও ৩২-বিট Windows সহায়তা সরিয়ে দেওয়া

ইমুলেটর আরও ভালোভাবে রক্ষণাবেক্ষণ করতে, আমরা আর QEMU1 ও ৩২-বিট Windows বাইনারি পাঠাই না। আপনি Windows 32-বিট ব্যবহার করলে, 29.0.6 ভার্সনে আপগ্রেড করতে পারবেন না।

Android Q সিস্টেম ইমেজের জন্য প্রয়োজনীয়তা

আপনি যদি Android Q সিস্টেম ইমেজ ব্যবহার করে এমন কোনও AVD চালাতে চান, তাহলে আপনাকে অবশ্যই এখন 29.0.6 (এই রিলিজ ভার্সন) বা তার পরের যেকোনও ভার্সন ব্যবহার করতে হবে।

Project Marble-এর উন্নতি

এই আপডেটটি প্রোজেক্ট মার্বেল ইনিশিয়েটিভের উপর আমাদের কাজ চালিয়ে নিয়ে যায়, যা Android ডেভেলপার সামিটে নভেম্বর ২০১৮-এ ঘোষণা করা হয়েছিল। আগের রিলিজগুলিতে অন্যান্য Project Marble উন্নতি সম্পর্কে আরও তথ্য পেতে, Android এমুলেটর: Project Marble উন্নতি দেখুন।

এই আপডেটের জন্য, আমাদের Project Marble-এর বেশিরভাগ প্রচেষ্টা এমুলেটর রিসোর্স ব্যবহার কমানোর জন্য উৎসর্গ করা হয়েছে, যেমন, এমুলেটর অলস থাকাকালীন এর CPU ব্যবহার কমানো। এছাড়াও, আমরা এমন পরিবর্তন করেছি যা আরও বিভিন্ন ধরনের এনভায়রনমেন্টে এমুলেটরের সাথে কাজ করা সহজ করে তোলে এবং আমরা সাধারণ কোয়ালিটি সংক্রান্ত সমস্যার সমাধান করেছি।

এই আপডেটে অন্তর্ভুক্ত Project Marble সংক্রান্ত উন্নতির বিষয়গুলি নিম্নলিখিত বিভাগে বর্ণনা করা হয়েছে:

হোস্টের অডিও আচরণে উন্নতি

28.0.3 ভার্সন থেকে শুরু করে, এমুলেটর ডিফল্ট হিসেবে হোস্ট থেকে অডিও ইনপুট ব্লক করে ।

আপনি যদি হোস্ট অডিও ডেটা ব্যবহার করতে চান, তাহলে এক্সটেন্ডেড কন্ট্রোল > মাইক্রোফোন বিকল্পে গিয়ে ভার্চুয়াল মাইক্রোফোন হোস্টের অডিও ইনপুট ব্যবহার করে বিকল্প চালু করে সেটি করতে পারবেন। ইমুলেটর রিস্টার্ট করা হলে, এই বিকল্প অটোমেটিক বন্ধ হয়ে যায়।

আপনি কমান্ড লাইন ব্যবহার করলে, -allow-host-audio বিকল্প ব্যবহার করে হোস্ট অডিও চালু করতে পারবেন এবং হোস্ট অডিও ডেটা চালু বা বন্ধ করতে, আপনি যথাক্রমে নিম্নলিখিত ADB কমান্ড ব্যবহার করতে পারবেন:

  • adb emu avd hostmicon
  • adb emu avd hostmicoff

হেডলেস এমুলেটর বিল্ডের জন্য উন্নতি

28.0.25 ভার্সন থেকে শুরু করে, এমুলেটরে হেডলেস বিল্ড বিকল্প অন্তর্ভুক্ত করা হয়েছে যা UI ছাড়াই রান করতে পারে। Docker এবং কন্টিনিউয়াস ইন্টিগ্রেশন (CI) ওয়ার্কফ্লোর জন্য এমুলেটর সেট-আপ করতে, আপনি হেডলেস বিল্ড ব্যবহার করতে পারেন।

এই আপডেটের মাধ্যমে, আমরা এমুলেটরকে ন্যূনতম সংখ্যক ডিপেন্ডেন্সি সহ চালানোর অনুমতি দেওয়ার জন্য আরও উন্নতি করেছি। Linux-এ, হেডলেস বিল্ডে আর 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 নির্ভর লাইব্রেরির সাথে মানানসই নয় এমন ভার্সন সহ কিছু Linux ইনস্টল সংক্রান্ত সমস্যা সমাধানের জন্য আমরা এখন ইমুলেটরের সাথে libfreetype, libsoftokn, libsqlite3 এবং libxkbcommon প্যাকেজ করি।
  • মনিটরের ডাইমেনশন পাওয়ার জন্য এমুলেটর এখন প্ল্যাটফর্মের নেটিভ উইন্ডোয়িং লাইব্রেরি ব্যবহার করে। এটি Qt লাইব্রেরি ব্যবহার করে না, কারণ Qt লাইব্রেরি থেকে পাওয়া ফলাফল নির্ভরযোগ্য নয়।

কোল্ড বুটের পরে অটোমেটিক CPU অপ্টিমাইজেশন

CPU ব্যবহার সংক্রান্ত সমস্যা সমাধান করতে, এমুলেটর এখন boot complete সিগন্যাল পাওয়ার পরে কোল্ড বুটে নিম্নলিখিত ADB কমান্ড রান করে:

adb shell settings put screen_off_timeout 214783647
এই কমান্ডটি স্ক্রিন বন্ধ করার টাইমআউট বাড়িয়ে দেয় যাতে এমুলেটরটি চার্জিং ছাড়াই ব্যাটারি মোডে ব্যবহার করা যায়। ব্যাটারি মোডে, ব্যাকগ্রাউন্ডে সিপিইউ ব্যবহার অনেক কমে যায়।
এসি চার্জিং মোডে, GMSCore ব্যাকগ্রাউন্ড অপারেশন যেমন অ্যাপ আপডেট, ডিভাইসের সবকটি CPU কোর—এবং এর সাথে সাথে ব্যবহারকারীর মেশিন— ব্যবহার করতে পারে, কোনও সতর্কতা ছাড়াই।
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
এই কমান্ড Google Search অ্যাপের জন্য মাইক্রোফোনের অনুমতি বাতিল করে দেয়, যা Google Search অ্যাপ চালু থাকাকালীন হোম স্ক্রিন ও লঞ্চারে ব্যাকগ্রাউন্ড CPU ব্যবহার অনেক কমিয়ে দেয়।
এই কমান্ডটি হোস্টের জন্য হোস্ট অডিও বন্ধ করা সংক্রান্ত এমুলেটরের ডিফল্ট আচরণ ছাড়াও রান করা হয়। এছাড়াও, এটি 28.0.23 রিলিজ থেকে হটওয়ার্ড শনাক্তকরণের জন্য বর্ণিত সিপিইউ ব্যবহার কমানোর সুবিধা অটোমেটিক প্রদান করে।

পারফর্ম্যান্স মনিটরিংয়ের জন্য নতুন এনভায়রনমেন্ট ভেরিয়েবল

আপনি এখন এমুলেটরের পারফর্ম্যান্স ও রিসোর্স ব্যবহারের বিস্তারিত মনিটরিং চালু করতে দুটি নতুন এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করতে পারবেন।

SHOW_PERF_STATS=1
এই এনভায়রনমেন্ট ভেরিয়েবল, সিপিইউ ও RAM ব্যবহার, দু'টিই ট্র্যাক করার সুবিধা চালু করে। RAM ব্যবহারের জন্য ট্র্যাকিং, গ্রাফিক্স ব্যবহার এবং মোট রেসিডেন্ট মেমরির মধ্যে পার্থক্য করে।
ANDROID_EMU_TRACING=1
ইনপুট বা গ্রাফিক্স অপারেশন করতে বেশি সময় (১ মিলিসেকেন্ডের বেশি) লাগলে, এই এনভায়রনমেন্ট ভেরিয়েবল প্রিন্ট করার সুবিধা চালু করে দেয়।
এছাড়াও, আমরা এই এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করে সেইসব সমস্যা ডায়াগনসিস করতে সাহায্য করছি যেগুলি Windows ব্যবহারকারীরা macOS বা Linux ব্যবহারকারীদের তুলনায় আরও বেশি জ্যাঙ্ক (ড্রপ করা ফ্রেম) সংক্রান্ত সমস্যার ক্ষেত্রে অনুভব করেছেন।

সাধারণ Project Marble সংক্রান্ত উন্নতি

এছাড়াও, এই আপডেটে Project Marble উদ্যোগের অংশ হিসেবে নিম্নলিখিত সাধারণ উন্নতি অন্তর্ভুক্ত রয়েছে:

  • আপনি এখন নিম্নলিখিত কনসোল কমান্ডের মাধ্যমে এমুলেটরে থাকা সব vCPU অবিলম্বে পজ করতে পারবেন:
    • adb emu avd pause
    • adb emu avd resume
  • OpenGL ড্রয়িংয়ের ওভারহেড অনেক কমে যায়। এই উন্নতির ফলে এমুলেটর অ্যানিমেশন চালানোর সময় সিপিইউ ব্যবহার কমে যায়।
  • মূল QEMU-এর e1000 ভার্চুয়াল নেটওয়ার্ক ডিভাইসের জন্য সহায়তা ফিরিয়ে আনা হয়েছে। ব্রিজ করা নেটওয়ার্ক এনভায়রনমেন্টে এমুলেটর সেট-আপ করতে আপনি এই ডিভাইস ব্যবহার করতে পারবেন। ব্রিজ করা নেটওয়ার্ক এনভায়রনমেন্টে, হোস্ট নেটওয়ার্কে এমুলেটর এবং এমুলেটরে হোস্ট নেটওয়ার্ক দেখানো হয়।
  • ইমুলেটর চালু করার জন্য এখন QEMU 2.12-এর উপযুক্ত BIOS বাইনারি ব্যবহার করা হয়।
  • ভিডিও এনকোডিং ও ডিকোডিংয়ের জন্য ffmpeg ভার্সন 3.4.5-এ আপগ্রেড করা হয়েছে।
  • macOS-এ QEMU মূল লুপ I/O-এর ওভারহেড অনেক কমে গেছে, কারণ select()-এর উপর ভিত্তি করে তৈরি মূল লুপের পরিবর্তে kqueue-এর উপর ভিত্তি করে তৈরি মূল লুপ ব্যবহার করা হয়েছে।
  • ইমুলেটরের সাথে logcat চালানোর সময় অপ্রত্যাশিত EOF সংক্রান্ত সমস্যা সমাধানের জন্য Logcat বাফার সাইজ ২ এমবিতে বাড়ানো হয়েছে।
  • ইমুলেটর এখন ডিফল্ট হিসেবে LC_ALL=C এনভায়রনমেন্ট ভেরিয়েবল এক্সপোর্ট করে। এই পরিবর্তনটি বিভিন্ন লোকেলে এমুলেটর চালানোর সাথে সম্পর্কিত ক্র্যাশ এবং ইনকম্প্যাটিবিলিটি সমস্যা সমাধান করে।
  • আপনি এখন পারফর্ম্যান্স স্ট্যাটিসটিক্স ব্যবহার করে এমুলেটরের CPU ও RAM ব্যবহার ট্র্যাক করতে পারবেন, যা আপনি এক্সটেন্ডেড কন্ট্রোল > সেটিংস > উন্নত > পারফর্ম্যান্স স্ট্যাটিসটিক্স বিকল্পে গিয়ে অ্যাক্সেস করতে পারবেন। এমুলেটর যদি খুব বেশি সিপিইউ বা RAM ব্যবহার করছে বলে মনে হয়, তাহলে দ্রুত সমস্যা ডায়াগনসিস করতে এইসব পরিসংখ্যান ব্যবহার করুন।
  • glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPE এখন এমুলেট করা GPU-এর পরিবর্তে হোস্ট GPU-এর ফলাফল ব্যবহার করে। রিডব্যাক করার জন্য অনুপযুক্ত ফর্ম্যাটের কারণে ছবি ও অ্যাসেট যেখানে দেখা যায় না, এই পরিবর্তন সেইসব সমস্যা সমাধান করতে সাহায্য করে।
  • OpenGL ES এক্সটেনশনের জন্য সহায়তা যোগ করা হয়েছে GL_EXT_texture_format_BGRA8888 এবং GL_APPLE_texture_format_BGRA8888 যদি এইসব এক্সটেনশন হোস্টের দ্বারা কাজ করে।
  • Bugreport UI-তে আরও ডায়াগনস্টিক তথ্য যোগ করা হয়েছে। এছাড়াও, আপনি নিম্নলিখিত কমান্ড ব্যবহার করে কনসোল থেকে বাগ রিপোর্ট অ্যাক্সেস করতে পারবেন:
    • telnet localhost 5554
    • avd bugreport
  • Android Q সিস্টেম ইমেজে, এমুলেটর তার ন্যূনতম RAM সাইজ বাড়িয়ে ২ GB করে দেয়।
  • OpenGL বা হাইপারভাইজার ইনিশিয়ালাইজ করতে না পারলে আরও লগিং ও প্রিন্টিং যোগ করা হয়েছে।
  • এমুলেটর যদি একই সাথে -read-only AVD-এর ইনস্ট্যান্স চালু করতে না পারে, তাহলে এমুলেটর এখন -read-only AVD-কে ৩ সেকেন্ডে আরও ৩ বার রিলঞ্চ করার চেষ্টা করে। এই পরিবর্তনের ফলে এমুলেটর একই সাথে একাধিক -read-only ইনস্ট্যান্স লঞ্চ করতে পারবে। যদি AVD-এর অন্যান্য রাইটেবল ইনস্ট্যান্স পুরনো ফাইল ক্লিন-আপ না করে থাকে, তাহলে AVD-এর ক্ষেত্রে এটি হওয়ার সম্ভাবনা বেড়ে যায়।
  • আসন্ন সিস্টেম ইমেজের জন্য, ইমুলেটর এখন Hardware Composer 2.0-এ কাজ করে। এই পরিবর্তনের ফলে বেশিরভাগ অ্যানিমেশন চালানোর সময় ড্রাইভারের ওভারহেড কমে যাবে।
  • ইমুলেটর বিল্ড এখন CMake/Ninja-এর উপর ভিত্তি করে তৈরি করা হয়।
  • ইমুলেটরের এক্সটেন্ডেড কন্ট্রোল UI-তে, কীবোর্ড শর্টকাট টেবিলে ডিভাইডার লাইন ফিরিয়ে আনা হয়েছে।
  • ব্যবহারকারীরা এখন ১০ সেকেন্ডের ব্যবধানে আমাদের টিমের সাথে CPU ও RAM ব্যবহারের মেট্রিক শেয়ার করার জন্য অপ্ট-ইন করতে পারবেন। আমরা এমুলেটর সম্পর্কিত ডেটা আরও সমৃদ্ধ করতে এইসব মেট্রিক ব্যবহার করি। আমাদের ব্যবহারকারীদের থেকে পাওয়া বিভিন্ন ব্যবহারের কেস থেকে আমরা এইসব ডেটা পাই। এর ফলে আমরা এমুলেটরকে আরও বেশি দক্ষ ও রেসপন্সিভ করে তুলতে পারি।

সাধারণ Project Marble সংক্রান্ত সমস্যার সমাধান

এছাড়াও, এই আপডেটে নিম্নলিখিত সাধারণ সমাধান অন্তর্ভুক্ত রয়েছে যা প্রজেক্ট মার্বেল উদ্যোগের অংশ:

  • Android Q সিস্টেম ইমেজ ব্যবহার করার সময় Intel GPU সহ সিস্টেমে দেখানো ভুল ফ্রেম ও ছবি কেঁপে যাওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • Pixel 2 XL স্কিন (বা নচ বা রাউন্ডেড কোণ আছে এমন যেকোনও স্কিন) সহ Android Q সিস্টেম ইমেজ ব্যবহার করার সময় কালো স্ক্রিন দেখানো সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • -partition-size কমান্ড লাইন বিকল্প ডেটা পার্টিশনের সাইজ সেট না করতে পারার সমস্যার সমাধান করা হয়েছে।
  • Linx এমুলেটরে pulseaudio স্পিন করে এবং কিছু পরিস্থিতিতে সম্পূর্ণ CPU কোর দখল করে নেয়, এমন একটি সমস্যার সমাধান করা হয়েছে।
  • কম্প্রেস করা টেক্সচার প্রসেস করার সময় মেমরি অ্যাক্সেস করার ক্ষেত্রে সমস্যা সমাধান করা হয়েছে।
  • glTexSubImage2D-এ হোস্টের মধ্যে হওয়া GL সংক্রান্ত সমস্যার সমাধান করা হয়েছে, যখন নির্দিষ্ট গ্র্যালক বাফার (RGB 565, RGB10A2, RGB(A)16F ফর্ম্যাট সহ) আপডেট করা হয়।
  • স্ন্যাপশট সহ Android Q সিস্টেম ইমেজে ডিসপ্লে সংক্রান্ত সমস্যা সমাধান করা হয়েছে, যেখানে বিজ্ঞপ্তি শেডের জ্যামিতি অনুপযুক্ত ইনস্ট্যান্স ডিভাইসর সেটিং সহ রেন্ডার করা হয়েছে।
  • লঞ্চের সময় Qt সিগন্যাল না পেলে বা স্টার্ট-আপের সময় ফ্ল্যাকি, ইনকনসিস্টেন্ট স্টেট থাকার কারণে পুনরায় তৈরি করা কঠিন এমন ক্র্যাশ ও ফ্রিজ সংক্রান্ত কিছু সমস্যা সমাধান করা হয়েছে।
  • একসাথে একাধিক কাজ করা সংক্রান্ত অসংখ্য সমস্যার সমাধান করা হয়েছে। আমরা এখন ThreadSanitizer (TSAN) সহ Linux এমুলেটর তৈরি করতে পারি, যা সহজেই এমন বাগ খুঁজে বের করতে পারে যেগুলি অন্যথায় পুনরায় তৈরি করা কঠিন।
  • Linux ব্যবহারকারীদের জন্য: আমরা দেখেছি যে নির্দিষ্ট কিছু হোস্ট কার্নেলে, গেস্ট Android কার্নেল একটি সাধারণ হার্ডওয়্যার সংক্রান্ত সমস্যার কারণে KVM-এ সমস্যা তৈরি করতে এবং বেরিয়ে আসতে পারে। ইমুলেটর এখন abort() যখন এটি ডিবাগ করার ক্ষমতা বাড়ানোর জন্য ঘটে (আগে, ইমুলেটর শুধু হ্যাং হয়ে যেত)।
  • Linux ব্যবহারকারীদের জন্য: CI সেট-আপের ক্ষেত্রে সুবিধার জন্য, আপনি নতুন -stdouterr-file <file-name> কমান্ড লাইন বিকল্প ব্যবহার করে stdout এবং stderr, দুটিকেই কোনও ফাইলে রিডাইরেক্ট করতে পারবেন।
  • SO_REUSEADDR ভুলভাবে ব্যবহার করা হয়েছে এমন একটি সমস্যার সমাধান করা হয়েছে। আরও তথ্যের জন্য, কমিট সংক্রান্ত বিবরণ দেখুন।
  • Windows এমুলেটর সংক্রান্ত একটি দীর্ঘস্থায়ী সমস্যার সমাধান করা হয়েছে যেখানে ইউজারনেমে স্পেস থাকলে ADB কমান্ডের মতো সাব-প্রসেস শুরু করা যেত না।
  • HAXM vCPU থ্রেডে RCU-এর অনুপস্থিত ইনিশিয়ালাইজেশন সংক্রান্ত সমস্যার সমাধান করা হয়েছে। এই সমস্যা সমাধান সম্ভবত কিছু ক্র্যাশ ও রেস কন্ডিশন সংক্রান্ত সমস্যার সমাধান করতে পারে।
  • সাম্প্রতিক Android Q সিস্টেম ইমেজ ব্যবহার করে স্ন্যাপশট UI থেকে স্ন্যাপশট সেভ ও লোড করার নির্দিষ্ট প্যাটার্নের সাথে হওয়া ক্র্যাশ ঠিক করা হয়েছে।
  • একটি সমস্যার সমাধান করা হয়েছে যেখানে কোনও AR ম্যাক্রো চলার সময় স্ন্যাপশট সেভ করা হলে, সেই স্ন্যাপশট থেকে এমুলেটর ইনিশিয়ালাইজ করা হলে ভার্চুয়াল সিন ক্যামেরা খালি থাকত।
  • রিমোট ডেস্কটপ সেট-আপ করা কিছু ব্যবহারকারী Linux-এ এমুলেটর লঞ্চ করার সময় কালো স্ক্রিন দেখতে পাচ্ছিলেন সেই সমস্যার সমাধান করা হয়েছে। এটি এড়াতে, এমুলেটর এখন স্পষ্টভাবে MESA_RGB_VISUAL কনফিগার করে। আরও তথ্যের জন্য, কমিট সংক্রান্ত বিবরণ দেখুন।
  • TV AVD-তে রোটেট করার বোতাম দেখা যাওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • একটি সমস্যার সমাধান করা হয়েছে যেখানে এমুলেটর সবসময় উপরে সেট করা থাকলে, এমুলেটর যতবার রোটেট করা হত, ততবারই এক্সটেন্ডেড কন্ট্রোল উইন্ডো দেখা যেত।

ফোল্ড করা যায় এমন ডিভাইসের জন্য হার্ডওয়্যার প্রোফাইল

ইমুলেটরে এখন ফোল্ড করা যায় এমন ডিভাইসের জন্য হার্ডওয়্যার প্রোফাইল অন্তর্ভুক্ত রয়েছে। এইসব নতুন হার্ডওয়্যার প্রোফাইল ব্যবহার করতে, আপনাকে Android Studio 3.5 Canary 10 বা তার পরবর্তী যেকোনও ভার্সন ব্যবহার করতে হবে।

AVD তৈরি করার জন্য আপনি দু'টি ফোল্ড করা যায় এমন হার্ডওয়্যার প্রোফাইল ব্যবহার করতে পারবেন:

  • ৭.৩" ফোল্ড করা যায়: ১৫৩৬x২১৫২ আনফোল্ড করা, ৪.৬" ৮৪০x১৯৬০ ফোল্ড করা
  • ৮" ফোল্ড করা যায়: ২২০০x২৪৮০ আনফোল্ড করা, ৬.৬" ১৪৮০x২৪৮০ ফোল্ড করা

আপনি এইসব হার্ডওয়্যার প্রোফাইলের মধ্যে কোনও একটি ব্যবহার করে এমুলেটর চালালে, এমুলেটর টুলবার, কনসোল কমান্ড, অথবা নিম্নলিখিত কীবোর্ড শর্টকাট ব্যবহার করে ডিভাইসটি ফোল্ড ও আনফোল্ড করতে পারবেন:

  • ফোল্ড করুন: Ctrl + F (Command + F macOS-এ)
  • আনফোল্ড করুন: Ctrl + U (macOS-এ Command + U)

এ আর (AR) ম্যাক্রো

ইমুলেটরে এখন AR ম্যাক্রো অন্তর্ভুক্ত করা হয়েছে যা আপনাকে সাধারণ AR অ্যাকশন পরীক্ষা করতে সাহায্য করতে পারে। যেমন, আপনি ডিভাইসের সব সেন্সরকে তাদের ডিফল্ট স্টেটে রিসেট করতে ম্যাক্রো ব্যবহার করতে পারেন।

আরও তথ্যের জন্য, ম্যাক্রো ব্যবহার করে সাধারণ AR অ্যাকশন পরীক্ষা করুন দেখুন।

Vulkan কাজ করে (Windows, Linux)

Windows ও Linux ব্যবহারকারীরা এখন মানানসই সিস্টেম ইমেজ (Vulkan 1.1-এর জন্য Android Q বিটা 3 বা এর পরের যেকোনও ভার্সন, Vulkan 1.0-এর জন্য Android Q বিটা 2) এবং মানানসই হোস্ট GPU (এর মধ্যে ২০১৪ ও তার পরের যেকোনও ভার্সনের বেশিরভাগ Intel, NVIDIA ও AMD GPU অন্তর্ভুক্ত) ব্যবহার করার সময় Android এমুলেটরের সাথে Vulkan 1.1 পর্যন্ত Vulkan অ্যাপ পরীক্ষা করতে পারবেন।

Vulkan সাপোর্ট চালু করতে, আপনাকে অবশ্যই নিজের ~/.android/advancedFeatures.ini ফাইলে নিম্নলিখিত ফিচার ফ্ল্যাগ যোগ করতে হবে (ফাইলটি না থাকলে তৈরি করুন):

  • Vulkan = on
  • GLDirectMem = on

ROM ডেভেলপারদের জন্য প্রাথমিক সহায়তা

যেসব ROM ডেভেলপার AOSP master ব্র্যাঞ্চে sdk_phone_x86 বা sdk_phone_x86_64 (userdebug, eng ভেরিয়েন্ট) টার্গেট তৈরি করছেন, তারা এখন Vulkan চালু করা এমুলেটর রান করতে পারবেন।

এই সহায়তা এখনও পরীক্ষামূলক পর্যায়ে আছে এবং এটি মূলত সেইসব ডেভেলপারের জন্য যারা সিস্টেম ইমেজ, ড্রাইভার ও গেম ইঞ্জিনে কাজ করেন। এখনও অনেক এক্সটেনশন পাওয়া যাচ্ছে না। তবে, HOST_COHERENT মেমরি কাজ করে এবং এখন আপনি Vulkan API টিউটোরিয়াল স্যাম্পেল রান করতে পারবেন।

আপনি Linux ব্যবহার করলে, নিম্নলিখিত কমান্ড ব্যবহার করে এটি চেষ্টা করে দেখতে পারেন:

mkdir aosp-master
cd aosp-master
repo init -u https://android.googlesource.com/platform/manifest -b master --depth=1
repo sync -c -j12
. build/envsetup.sh
lunch sdk_phone_x86_64-userdebug
make -j12
emulator -no-snapshot -feature Vulkan,GLDirectMem

Vulkan-এর মাধ্যমে Skia রেন্ডারিং

Vulkan-এর সাথে কাজ করে এমন NVIDIA ও AMD GPU-ও GL_EXT_memory_objects এক্সটেনশনের মাধ্যমে OpenGL-এর সাথে জিরো-কপি ইন্টার-অপারেশন কাজ করে। Skia Vulkan API ব্যবহার করে Android UI রেন্ডার করার সম্পূর্ণ পদ্ধতি প্রদান করতে এমুলেটর এই ক্ষমতা ব্যবহার করে।

আপনার কাছে Vulkan কাজ করে এমন NVIDIA বা AMD GPU থাকলে, মানানসই সিস্টেম ইমেজ (Android Q Beta 3 ও এর পরের যেকোনও ভার্সন) দিয়ে Skia রেন্ডারিং পরীক্ষা করতে, নিম্নলিখিত কমান্ড ব্যবহার করুন:

adb shell
su
setprop debug.hwui.renderer skiavk
stop
start

macOS-এ Vulkan-এর জন্য সহায়তা

macOS-এ এখনও পরীক্ষামূলকভাবে কাজ চলছে, তবে এমুলেটরে ইতিমধ্যেই Swiftshader, MoltenVK এবং libportability (gfx-rs) API অন্তর্ভুক্ত আছে। আপনি নিম্নলিখিত এনভায়রনমেন্ট ভেরিয়েবল সেট করে এইসব API নিয়ে এক্সপেরিমেন্ট করতে পারেন:

  • Swiftshader: ANDROID_EMU_VK_ICD=swiftshader
  • MoltenVK: ANDROID_EMU_VK_ICD=moltenvk
  • libportability: ANDROID_EMU_VK_ICD=portability

পরিচিত সমস্যা

HAXM কখনও কখনও গেস্টের সাথে Vulkan কোহেরেন্ট মেমরি ম্যাপ করতে পারে না এবং ইমুলেটর বন্ধ করে দেয়। আসন্ন HAXM আপডেটে এই সমস্যার সমাধান করা হবে।

gRPC স্ট্রিমিং ইমুলেটর (Linux)

আমরা সবসময় এমুলেটরকে যতটা সম্ভব বহুমুখী করে তোলার চেষ্টা করছি। এর জন্য, আমরা হোস্ট GPU রেন্ডারিং এবং সবচেয়ে বেশি রেঞ্জের রানিং কনটেক্সটে ইন্টার‍্যাক্টিভিটি করার অনুমতি দিই। আমাদের CI ও রিমোট ডেস্কটপ ব্যবহারকারীদের নিম্নলিখিত দীর্ঘস্থায়ী সমস্যা রয়েছে:

  • প্রোগ্রামাটিক উপায়ে এমুলেটরে ইনপুট কমান্ড পাঠানোর মধ্যে অন্তর্ভুক্ত হল হয় adb শেল কমান্ড চালানো যা অনেক বেশি ওভারহেড হতে পারে অথবা টেলনেট কনসোল ব্যবহার করা যা তুলনামূলক দ্রুত, কিন্তু নির্দিষ্ট নেটওয়ার্ক কনফিগারেশনের সাথে কাজ নাও করতে পারে।
  • CI ব্যবহারকারীরা প্রায়ই হেডলেস এমুলেটর চালান, এর ফলে স্ক্রিন দৃশ্যমান বা ইন্ট্যার‍্যাক্টিভ না হলে সমস্যা নজরে আনা কঠিন হয়ে পড়ে।
  • হোস্ট GPU রেন্ডারিং ব্যবহার করার সময় রিমোট ডেস্কটপ ব্যবহারকারীরা প্রায়ই এমুলেটরের সাথে ইন্টার‍্যাক্ট করতে পারেন না, কারণ GPU রেন্ডারিং প্রায়ই হোস্টের নন-ভার্চুয়াল ডিসপ্লের সাথে যুক্ত থাকে।

এটি সমাধান করতে, Linux মেশিনে চালানোর সময়, ইমুলেটর এখন একটি gRPC পরিষেবা প্রদান করে। gRPC হল RPC-র জন্য একটি সাধারণ ফ্রেমওয়ার্ক যা HTTP-তে কাজ করে।

ডিফল্ট হিসেবে, এমুলেটর gRPC পরিষেবা বন্ধ করা থাকে, কিন্তু আপনি নিম্নলিখিত কমান্ড লাইন বিকল্প ব্যবহার করে পরিষেবাটি চালু করতে পারেন, যেখানে <port> হল পোর্ট যা এমুলেটরকে gRPC অনুরোধ পরিবেশন করতে হবে (সাধারণত 5556):

-grpc <port>

পরিষেবা চালু হয়ে গেলে, ক্লায়েন্টদের থেকে gRPC কমান্ড ইস্যু করা যেতে পারে। কমান্ডের বর্তমান সেট ইনপুট ইভেন্ট পাঠানো এবং স্ক্রিনশট পাওয়ার অনুমতি দেয়। এইসব কমান্ড নিম্নলিখিত সমস্যাগুলি সমাধান করতে সাহায্য করে:

  • ইনপুট কমান্ড HTTP-এর মাধ্যমে এমুলেটরে পাঠানো যেতে পারে। HTTP এছাড়াও অতিরিক্ত নেটওয়ার্ক কনফিগারেশনে কমান্ড পাঠানোর সুবিধা চালু করে।
  • এমনকি এমুলেটর হেডলেস মোডে চললেও, বর্তমান স্ক্রিন কোয়েরি করার জন্য স্ক্রিনশট কমান্ড পাঠানো যেতে পারে। ইন্টার‍্যাক্টিভিটির জন্য, ইনপুট ইভেন্টও এমুলেটরে ফেরত পাঠানো যেতে পারে।
  • রিমোট ডেস্কটপ ব্যবহারকারীরা, এমুলেটরের সাথে ইন্টার‍্যাক্ট করার জন্য স্ক্রিনশট পেতে এবং ইনপুট ইভেন্ট পাঠানোর জন্য gRPC ব্যবহার করার সময়, GPU অ্যাক্সিলারেটেড রেন্ডারিং সহ মূল ডিসপ্লেতে হেডলেস এমুলেটর চালাতে পারবেন।

উপলভ্য কমান্ডের সম্পূর্ণ তালিকা দেখতে, এই protobuf দেখুন।

gRPC ব্যবহার শুরু করার ব্যাপারে সাহায্য করতে, আমরা কিছু নমুনা ক্লায়েন্ট প্রদান করেছি যেগুলি আপনি রেফার করতে পারেন।

বর্তমানে, এর মধ্যে নিম্নলিখিত নমুনা অন্তর্ভুক্ত:

  • এটি একটি Go-ভিত্তিক পরিষেবা যা এমুলেটর স্টেট কোয়েরি করার জন্য ব্যবহার করা যেতে পারে।
  • স্ক্রিনশট ও ইনপুট RPC-এর মাধ্যমে রিমোট ইন্ট্যার‍্যাক্টিভিটি ডেমোনস্ট্রেট করে এমন একটি React অ্যাপ। এই স্যাম্পেলের জন্য protobuf ভার্সন 3.7.0 বা তার পরের যেকোনও ভার্সন প্রয়োজন।
  • একটি Python স্যাম্পেল যা এমুলেটরের VM কনফিগারেশন কোয়েরি করে এবং তারপরে কমান্ডের একটি সিরিজ পাঠায়।

২৮.০.২৫ (২৯ মার্চ, ২০১৯)

এই আপডেটে নিম্নলিখিত উন্নতি ও সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

হেডলেস ইমুলেটর বিল্ড

সিস্টেমের অন্তর্নিহিত প্রত্যাশার কারণে Docker এবং অন্যান্য কন্টিনিউয়াস ইন্টিগ্রেশন (CI) ওয়ার্কফ্লোর সাথে এমুলেটর সেট-আপ করা কঠিন হয়ে পড়েছে। এর কারণ হল, সিস্টেমকে এর শেয়ার করা লাইব্রেরি ডিপেন্ডেন্সি (অন্যান্য সমস্যার মধ্যে) সহ Qt-কে সাপোর্ট করতে হবে।

এই সমস্যার সমাধান করার প্রথম ধাপ হিসেবে, আমরা QEMU এক্সিকিউটেবল সহ এমুলেটর লঞ্চারের একটি ভেরিয়েন্ট নিয়ে এসেছি যা Qt-এর উপর নির্ভর করে না। Linux-এ, এখনও libX11-এর লিঙ্ক আছে, তবে আমরা আশা করি সেটিও শীঘ্রই সরিয়ে দিতে পারব।

হেডলেস এমুলেটর ব্যবহার করতে, কমান্ড লাইন থেকে এমুলেটরটি স্বাভাবিকভাবে রান করান, কিন্তু এমুলেটর বাইনারি ইনভোকেশনটি emulator-headless দিয়ে পাল্টে দিন। আরও তথ্যের জন্য, 28.1.8 Canary রিলিজ আপডেট দেখুন।

  • Android Q সিস্টেম ইমেজ চালানোর সময় Intel GPU-তে ছবি কেঁপে যাওয়া ও ভুল ফ্রেম ডিসপ্লে সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • Pixel 2 XL স্কিনের সাথে Android Q সিস্টেম ইমেজ ব্যবহার করার সময় কালো স্ক্রিন দেখানো সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • ইমুলেটর চালু করার জন্য এখন লেটেস্ট BIOS বাইনারি ব্যবহার করা হয়। এই পরিবর্তন Windows-এ এমুলেটর লঞ্চ করার সময় মাঝে মাঝে হওয়া "vCPU বন্ধ করার অনুরোধ" সংক্রান্ত সমস্যা কমাতে সাহায্য করতে পারে।
  • "স্ন্যাপশট থেকে Android Q সিস্টেম ইমেজ আবার চালু করলে ভুল ডিসপ্লে" সংক্রান্ত সমস্যার সমাধান ব্যাকপোর্ট করা হয়েছে।
  • প্ল্যাটফর্ম-টুল 28.0.2-এ ADB-তে মানানসই নয় এমন পরিবর্তন হওয়ার কারণে ব্যবহারকারীরা "অননুমোদিত" এমুলেটর সংক্রান্ত সমস্যার সম্মুখীন হয়েছেন। আপনি এখন ইমুলেটরের সাথে platform-tools 28.0.2 থেকে নিরাপদে ADB ব্যবহার করতে পারবেন। আপনি যদি "অননুমোদিত" এমুলেটর নিয়ে সমস্যার সম্মুখীন হন, তাহলে সমস্যা সমাধানের জন্য নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
    1. সব এমুলেটর থেকে বেরিয়ে আসুন।
    2. ~/.android/adbkey ও ~/.android/adbkey.pub, দুটি ফাইলই মুছে দিন।
    3. নিম্নলিখিত কমান্ড রান করুন: adb kill-server
    4. নিম্নলিখিত কমান্ড রান করুন: adb devices
    5. AVD ডেটা মুছে দিন।
    6. এমুলেটর আবার লঞ্চ করুন।

২৮.০.২৩ (২৯ জানুয়ারি, ২০১৯)

এই আপডেটে নিম্নলিখিত উন্নতি ও সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

হোস্ট অডিও ইনপুট ডিফল্ট হিসেবে বন্ধ করা থাকে

Reddit-এ সাম্প্রতিক পোস্ট থেকে জানা যায় যে গেস্ট Android OS সবসময় হোস্ট মাইক্রোফোনের অডিও ব্যবহার করে এবং এর ফলে "Ok Google" অপ্রত্যাশিতভাবে কাজ করে। এর জন্য আমরা দুঃখিত এবং সিস্টেম ইমেজেও যাতে হটওয়ার্ড শনাক্তকরণ বন্ধ থাকে তা নিশ্চিত করতে Android টিমের সাথে কাজ করব।

এই সমস্যার সমাধান করতে, আমরা নিম্নলিখিত পরিবর্তন করেছি:

  • ডিফল্ট হিসেবে এখন আসল হোস্ট অডিও ডেটা স্কোয়েলচ করা হয়। অতিথি মাইক্রোফোন ব্যবহার করলে, হোস্টের অডিওর পরিবর্তে নীরবতা পাস করা হয়।
  • আপনি যদি হোস্ট অডিও ডেটা ব্যবহার করতে চান, তাহলে এখন এক্সটেন্ডেড কন্ট্রোল > মাইক্রোফোন বিকল্পে গিয়ে এবং ভার্চুয়াল মাইক্রোফোন হোস্ট অডিও ইনপুট ব্যবহার করে বিকল্প চালু করে তা করতে পারবেন। ইমুলেটর রিস্টার্ট করা হলে, এই বিকল্প অটোমেটিক বন্ধ হয়ে যায়।

CPU ব্যবহার সংক্রান্ত তদন্তের ব্যাপারে আপডেট

আমাদের Project Marble তদন্তের সময়, আমরা লক্ষ্য করেছি যে এমুলেটরে অত্যধিক সিপিইউ ব্যবহার সাধারণত নিম্নলিখিত তিনটি বিভাগে পড়ে:

আইডল অবস্থায়: Play Store-এ অটোমেটিক অ্যাপ আপডেট সংক্রান্ত ছবি

আমরা দেখেছি যে র্যান্ডম ইন্টারভ্যালে, ইনস্টল করা সব অ্যাপ আপডেট হয়ে যায়, এমনকি ব্যবহারকারী লগ-ইন না করলেও এটি হয়। এই প্রসেস চলাকালীন, GMSCore এবং dex2oat-এ CPU ব্যবহার কোর x ১০০% (সাধারণত ~৪০০%) সংখ্যায় চলে যায়। Play Store অ্যাপে অটোমেটিক অ্যাপ আপডেট করার সুবিধা বন্ধ করে আপনি এই সমস্যার সমাধান করতে পারবেন।

নিষ্ক্রিয় অবস্থায়: হটওয়ার্ড শনাক্তকরণ

হোম স্ক্রিনে থাকাকালীন এবং কোনও অ্যাপ ফোরগ্রাউন্ডে না থাকলে, CPU-এর ব্যবহার অনেক বেশি হতে পারে (~২৫% এবং স্পাইক ৫০% পর্যন্ত হতে পারে)। হটওয়ার্ড শনাক্তকরণের কারণে এটি হয় যা হোস্টকে ক্রমাগত পিং করে। হোস্ট অডিও ইনপুট বন্ধ করে আপনি এই সমস্যা কমাতে পারবেন না, কারণ CPU-এর খরচ মূলত হোস্ট থেকে গেস্টের কাছে পৌঁছাতে যে সময় লাগে তার কারণে হয়। তবে, আপনি Google অ্যাপ থেকে মাইক্রোফোনের অনুমতি প্রত্যাহার করে এই সমস্যাটি কমাতে পারেন।

অ্যাক্টিভ থাকাকালীন, কখনও কখনও অলস অবস্থায়: অ্যানিমেশন

সিপিইউ ব্যবহারের হার বেশি হওয়ার তৃতীয় কারণ হল অ্যানিমেশন। আমরা দেখেছি যে গ্রাফিক্স ড্রাইভার স্ট্যাক অপ্টিমাইজ করার মাধ্যমে, এমুলেটর আইডল না থাকলেও CPU ব্যবহার কমানো যেতে পারে। প্রোজেক্ট মার্বেলের অংশ হিসেবে আমরা গ্রাফিক্স ড্রাইভার অপ্টিমাইজেশন ধীরে ধীরে প্রকাশ করব।

28.0.22 (২১ ডিসেম্বর, ২০১৮)

এই আপডেটে নিম্নলিখিত উন্নতি ও সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

  • দীর্ঘদিন ধরে চলে আসা একটি সমস্যার সমাধান করা হয়েছে যেখানে কিছু সেটিংসে, Mac এমুলেটর রিবুট হবে বা 'দ্রুত বুট সেভ' বিকল্পে কার্নেল প্যানিক হবে। (সমস্যা 120951634)
  • ম্যাপ করা ফাইলকে RAM স্ন্যাপশট হিসেবে ব্যবহার করার সময়, ইমুলেটর এখন ফাইল ম্যাপিং স্পষ্টভাবে আনম্যাপ করে।

28.0.20 (১১ ডিসেম্বর, ২০১৮)

এই আপডেটে নিম্নলিখিত উন্নতি ও সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

  • Windows-এ একটি সমস্যার সমাধান করা হয়েছে যার ফলে Intel GPU-এর নির্দিষ্ট মডেলের সাথে স্ন্যাপশট লোডে এমুলেটর ফ্রিজ হয়ে যাচ্ছিল।
  • unauthorized ADB ডিভাইস স্টেট সংক্রান্ত সমস্যার সমাধান করা হয়েছে, যা নন-স্ট্যান্ডার্ড ANDROID_SDK_HOME লোকেশন ব্যবহার করার সময় হয়।
  • Windows-এ একটি সমস্যার সমাধান করা হয়েছে যার কারণে CPU অ্যাক্সিলারেশন বন্ধ করে সিস্টেম ইমেজ বুট করার সময় এমুলেটর ক্র্যাশ হয়ে যায়।
  • পিক্সেল এমুলেটর ডিসপ্লে সংক্রান্ত সমস্যার সমাধান করা হয়েছে। ডাউনস্যাম্পলিং এখন কাজ করা উচিত।
  • macOS 10.14+ ভার্সনে একটি সমস্যার সমাধান করা হয়েছে, যেখানে নতুন অ্যাক্সেসিবিলিটি নিরাপত্তা সেটিংসের সাথে ইন্টার‍্যাকশনের কারণে ভার্চুয়াল সিন ক্যামেরার মাউস লুক কন্ট্রোল অত্যন্ত সংবেদনশীল হয়ে যেতে পারত।
  • টাইমজোন গণনা সংক্রান্ত সমস্যার সমাধান করা হয়েছে, এর ফলে এমুলেটর ক্লক মাঝে মাঝে পরিবর্তিত হয়ে যেত।
  • বিভিন্ন cocos2d এবং Unreal engine অ্যাপে রেন্ডারিং সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • ইমুলেটরে ওয়াই-ফাই পিয়ার-টু-পিয়ার কানেকশনের সুবিধা যোগ করা হয়েছে। লেটেস্ট Pie Play Store ইমেজ ব্যবহার করলে, দুটি এমুলেটর এখন Wi-Fi-এর মাধ্যমে একে অপরের সাথে সরাসরি কথা বলতে পারবে। ওয়াই-ফাই পিয়ার-টু-পিয়ার ব্যবহার করতে, একই -wifi-server-port ও -wifi-client-port আর্গুমেন্ট সহ দুটি AVD চালু করুন:
    • emulator @<server-avd-name> -wifi-server-port 9999
    • emulator @<client-avd-name>-wifi-client-port 9999
  • Windows-এ আরও বেশি ওয়েবক্যামের জন্য সহায়তা যোগ করা হয়েছে। এর জন্য, কোনও ইনকম্প্যাটিবল ফ্রেম সাইজ নেওয়া হয় এবং Android গেস্টের ক্যামেরা সেটিংয়ের সাথে মানানসই করতে সেগুলি ডায়নামিক উপায়ে রিসাইজ করা হয়।

২৮.০.১৬ (নভেম্বর ২০১৮)

এই আপডেটে একাধিক নতুন ফিচার, আগে থেকে থাকা ফিচারে উন্নতি এবং সমস্যার সমাধান অন্তর্ভুক্ত।

রিসোর্স ব্যবহার

ইমুলেটর এখন সামগ্রিকভাবে কম RAM ব্যবহার করে, বিশেষ করে API লেভেল ২৮ বা তার বেশি সহ সিস্টেম ইমেজ ব্যবহার করার সময়। এইসব সিস্টেম ইমেজে গেস্ট-সাইড গ্রাফিক্স ড্রাইভারের জন্য উন্নত মেমরি ব্যবহার অন্তর্ভুক্ত।

এছাড়াও, আমরা নিম্নলিখিত ক্ষেত্রগুলিতে রিসোর্স ব্যবহার উন্নত করেছি:

  • দীর্ঘক্ষণ ধরে চলা পরীক্ষার সময় ইমুলেটরের মেমরি ব্যবহার কমে যায়। দীর্ঘক্ষণ ধরে চলা টেস্টের সময় আপনি এখনও মেমরি ব্যবহার সংক্রান্ত সমস্যার সম্মুখীন হলে, Issue Tracker-এ আপনার ইউজ কেস বর্ণনা করে একটি সমস্যা তৈরি করুন।
  • অ্যানিমেশন সহ অ্যাপ চালানোর সময় সিপিইউ ব্যবহার কম হয়।
  • Windows-এ QEMU AIO কনটেক্সট লিক হতে পারে এমন একটি সমস্যার সমাধান করা হয়েছে।

একটি AVD-র একাধিক ইনস্ট্যান্স একই সাথে রান করানো

আপনি এখন একই AVD-র একাধিক ইনস্ট্যান্স লঞ্চ করতে এবং সেগুলি একসাথে চালাতে পারবেন। প্রথম ইনস্ট্যান্সের পরে আপনি যেসব ইনস্ট্যান্স লঞ্চ করেন সেগুলি শুধু-পঠনযোগ্য এবং সেগুলিতে গেস্ট ভার্চুয়াল ডিস্কে করা পরিবর্তন বেরিয়ে আসার সময় বাতিল হয়ে যায়।

একই AVD-র একাধিক ইনস্ট্যান্স একই সাথে চালাতে, কমান্ড লাইন থেকে -read-only ফ্ল্যাগ ব্যবহার করে প্রথম ইনস্ট্যান্সের পরে যেকোনও ইনস্ট্যান্স লঞ্চ করুন।

Android ইমেজের রাইটেবল অংশের সাথে যুক্ত QCOW2 ফাইল কপি করার মাধ্যমে এই ফিচারটি সম্ভব হয়েছে। ডিস্ক স্পেস ম্যানেজ করতে সাহায্য করার জন্য, আমরা qemu-img কমান্ড লাইন টুলও বান্ডেল করেছি যাতে আপনি একাধিক ইনস্ট্যান্স লঞ্চ করার আগে QCOW2 ফাইল প্রি-কমিট করতে পারেন।

এছাড়াও, ফাইল-ব্যাকড গেস্ট RAM স্ন্যাপশট ফিচারের সাথে একসাথে ব্যবহার করা হলে, একাধিক AVD ইনস্ট্যান্স প্রাইমারি AVD কুইকবুট স্ন্যাপশটকে কপি-অন-রাইট গেস্ট RAM-এর সাধারণ সোর্স হিসেবে শেয়ার করে। এই প্রপার্টির অর্থ হল, ইনস্ট্যান্সগুলি তাদের বেশিরভাগ RAM শেয়ার করে। এই ফিচার ব্যবহার করে এমন টেস্ট রান করুন যেগুলি সমান্তরালভাবে চালানোর জন্য একাধিক ডিভাইসের প্রয়োজন হয়।

আপনার সাধারণ ইন্টারেক্টিভ বা CI ওয়ার্কফ্লোর অংশ হিসেবে সম্ভাব্য ব্যবহারের ক্ষেত্রে আপনার মতামত আমাদের কাছে গুরুত্বপূর্ণ। সমস্যা ট্র্যাকার-এ সমস্যা তৈরি করুন বা আপভোট করুন।

ফাইল-ব্যাকড গেস্ট RAM স্ন্যাপশট

ফাইল হিসেবে গেস্ট RAM আগে থেকেই বরাদ্দ ও ম্যাপ করার মাধ্যমে, এমুলেটর এখন রানটাইম চলাকালীন Quickboot স্ন্যাপশট সেভ করতে পারে। এর ফলে, এমুলেটরকে বেরিয়ে আসার সময় সমস্ত কাজ করতে হয় না। আপনি যদি এমুলেটর বন্ধ করার সময় সেভ হতে বেশি সময় লাগার অভিজ্ঞতা পান, তাহলে আপনার কুইকবুট পারফর্ম্যান্স উন্নত করতে এই ফিচার চালু করুন। ডিফল্ট হিসেবে, Quickboot স্ন্যাপশট বেরিয়ে আসার সময় সেভ করা হয় এবং প্রতিবার আবার লোড করা হয়, যেমন কোনও আসল ডিভাইস সাসপেন্ড ও ওয়েক-আপ করা।

যেহেতু Android গেস্ট RAM এখন ডিফল্ট হিসেবে অটোমেটিক সেভ হয়ে যায়, তাই আপনি যদি কোনও ডিভাইস স্টেট নির্ধারণ করতে চান এবং সেই স্টেট থেকে বার বার লোড করতে চান, তাহলে আপনাকে এমুলেটরকে প্রতিটি সেশনের পরে পরিবর্তনগুলি বাতিল করতে বলতে হবে। আপনি নিম্নলিখিত উপায়ে এটি করতে পারবেন:

  • কমান্ড লাইন থেকে এমুলেটর লঞ্চ করার সময় -no-snapshot-save বা -read-only ফ্ল্যাগ ব্যবহার করুন ।
  • এক্সটেন্ডেড কন্ট্রোল > স্ন্যাপশট > সেটিংস বিকল্পে যান এবং কুইকবুট করার জন্য বর্তমান অবস্থা অটো-সেভ করবেন? বিকল্পটি পরিবর্তন করে না করুন।
  • এই বিকল্প বেছে নেওয়ার পরে আপনাকে এমুলেটর রিস্টার্ট করতে হবে। ইমুলেটর অটোমেটিক সেভ করার জন্য সেট করা থাকলে, আপনি নিম্নলিখিত কমান্ড চালিয়ে একটি চেকপয়েন্ট সেট করতে পারবেন:
    adb emu avd snapshot remap 0
    
    এই কমান্ড চালানোর পরে, এমুলেটর কুইকবুট স্ন্যাপশট সেই চেকপয়েন্টে থাকবে। আপনার চেকপয়েন্ট থেকে ইমুলেটর লোড করতে একই কমান্ড আবার চালান।

স্ন্যাপশট UI ফাংশনের মাধ্যমে নেওয়া ও লোড করা স্ন্যাপশটগুলি কোনও ফাইল ম্যাপিং ছাড়াই আগের মতো কাজ করে।

Quickboot যেভাবে কাজ করে সেটিতে এটি একটি বড় পরিবর্তন হওয়ায়, এটি Quickboot পারফর্ম্যান্স উন্নত করে কিনা এবং এটি ব্যবহার করার সময় আপনি কী ধরনের সমস্যার সম্মুখীন হন সেই সম্পর্কে আপনার মতামত পেলে আমরা খুব কৃতজ্ঞ হব। আপনার সমস্যা হলে, আপনার ~/.android/advancedFeatures.ini ফাইলে নিম্নলিখিত লাইনটি যোগ করে এই ফিচার বন্ধ করে দিতে পারেন:

QuickbootFileBacked = off

আপনি যখন কোনও স্ন্যাপশট থেকে এমুলেটর চালু করেন (-snapshot কমান্ড লাইন বিকল্প ব্যবহার করে অথবা AVD ম্যানেজারে কোনও স্ন্যাপশট থেকে লঞ্চ করে), তখন এমুলেটর কুইকবুট স্ন্যাপশটের জন্য অটো-সেভ করার সুবিধা এবং এমুলেটর থেকে বেরোনোর সময় কুইকবুট স্ন্যাপশট সেভ করার সুবিধা বন্ধ করে দেয়। এর ফলে, Quickboot স্ন্যাপশট যে অনিচ্ছাকৃতভাবে ওভাররাইট হয়ে যাবে, সেই সম্ভাবনা কমে যায় এবং ফাইল-ব্যাকড Quickboot স্ন্যাপশট ব্যবহার করে না এমন স্লো ফলব্যাক পাথ এড়ানো যায়।

QEMU 2.12

আমরা QEMU 2.9 থেকে QEMU 2.12-এ আমাদের QEMU-এর ভেরিয়েন্ট রিবেস করেছি। এই আপডেটে নিম্নলিখিত QEMU পরিবর্তন অন্তর্ভুক্ত রয়েছে:

Android এমুলেটরকে প্রভাবিত করে এমন কিছু উল্লেখযোগ্য পরিবর্তন এখানে দেওয়া হল:

  • x86: gdbstub এখন SSE রেজিস্টারে অ্যাক্সেস প্রদান করে।
  • ডিস্ক ইমেজ: ইমেজ লকিং যোগ করা হয়েছে এবং ডিফল্ট হিসেবে চালু করা আছে। হোস্ট OFD বা posix লকিং সাপোর্ট করলে, একাধিক QEMU প্রসেস একই ইমেজে লিখতে পারবে না, যদি না অন্য কোনও বিকল্প নির্দিষ্ট করা থাকে।
  • qemu-img: qemu-img resize ছবির নতুন অংশের প্রিঅ্যালোকেশন সমর্থন করে।
  • qemu ও qemu-img-এ QCOW2 সঙ্কুচিত করার সুবিধা এখন কাজ করে।

অ্যাক্সেসিবিলিটি

  • স্ক্রিন রিডার সংক্রান্ত সমস্যার সমাধান করা হয়েছে এবং স্ক্রিন রেকর্ড ও স্ন্যাপশট UI-তে এইসব টুলের জন্য আরও ভালো সহায়তা যোগ করা হয়েছে।
  • কালার ব্লাইন্ড ব্যবহারকারীদের জন্য 'দ্রুত বুট' বিজ্ঞপ্তি আইকন আরও অ্যাক্সেসযোগ্য করে তোলা হয়েছে।

গ্রাফিক্স

  • OpenGL ES ভার্টেক্স অ্যারে পয়েন্টারের জন্য ঘটতে পারে এমন আউট-অফ-বাউন্ড মেমরি অ্যাক্সেস সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • কিছু পুরনো GPU, OpenGL 2.1 বা তার পরের যেকোনও ভার্সন (যা প্রয়োজন) সাপোর্ট করে না অথবা অন্যান্য নির্ভরযোগ্যতা সংক্রান্ত সমস্যা থাকে। এইসব সমস্যার কারণে এমুলেটর চালু হওয়ার সময় ক্র্যাশ করতে, ফ্রিজ হয়ে যেতে বা ডিফল্ট GPU সেটিংয়ে ব্যবহার করা না যেতে পারে। এইসব GPU ব্যবহার করা হচ্ছে বলে শনাক্ত করলে, এমুলেটর এখন অটোমেটিক Swiftshader রেন্ডারারে পরিবর্তন করে।
  • eglSwapBuffers-এর সময় FBO != 0 বাইন্ড করা থাকলে, এমুলেটর সঠিক ফ্রেমবাফার পোস্ট করতে না পারার কারণ সম্পর্কিত সমস্যার সমাধান করা হয়েছে।
  • ভার্চুয়াল Android ডিসপ্লে শুধুমাত্র উপরে বাঁদিকের কোণে দেখা যাওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে। আমরা মনে করি যে ভুলভাবে কনফিগার করা Qt এনভায়রনমেন্ট ভেরিয়েবলের কারণে এটি হয়েছে। ইমুলেটর এখন Qt স্কেলিং সংক্রান্ত সব এনভায়রনমেন্ট ভেরিয়েবল ওভাররাইড করে।
  • স্ন্যাপশট থেকে GLES1 অ্যাপ লোড করার সময় কিছু পরিস্থিতিতে এমুলেটর ক্র্যাশ করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • OpenGL-এ কনকারেন্সি সংক্রান্ত সমস্যা সমাধান করা হয়েছে এবং রেন্ডার থ্রেড লঞ্চ করা হয়েছে যার ফলে ডবল ফ্রি বা ডেটা করাপ্ট হতে পারে।
  • API লেভেল ২৮ বা তার পরের যেকোনও ভার্সন ব্যবহার করে এমন সিস্টেম ইমেজের জন্য Android এমুলেটর এখন ASTC LDR কম্প্রেসড টেক্সচার সাপোর্ট (GL_KHR_texture_compression_astc_ldr) কাজ করে।
  • বেশিরভাগ আধুনিক GPU এখন GLESDynamicVersion ফিচার ফ্ল্যাগ ব্যবহার না করেই ডিফল্ট হিসেবে চালু থাকা OpenGL ES 3.x সহ এমুলেটর লঞ্চ করতে পারবে।
  • -gpu guest (অতিথিতে সফ্টওয়্যার রেন্ডারিং) বন্ধ করে দেওয়া হয়েছে। API লেভেল ২৮ বা তার বেশি লেভেলের জন্য সিস্টেম ইমেজ এখন অটোমেটিক Swiftshader ব্যবহার করার বিকল্পে বদলে যায় (-gpu swiftshader_indirect)।
  • -no-window ফ্ল্যাগ ব্যবহার করে কমান্ড লাইন থেকে এমুলেটর লঞ্চ করা হলে, ডিফল্ট রেন্ডারার এখন Swiftshader হবে।

লোকেশন

  • ইমুলেটর এখন অক্ষাংশ ও দ্রাঘিমাংশের সাথে সাথে বিয়ারিং পজিশনও আপডেট করতে পারবে। GPX বা KML ফাইল প্লেব্যাক করার সময় ম্যাগনেটোমিটার ভার্চুয়াল সেন্সর, ম্যাগনেটিক নর্থের সাথে ডাইনামিক পদ্ধতিতে নিজেকে অ্যাডজাস্ট করে নেয়।
  • এখন লোকেশন পৃষ্ঠায় ডিভাইসের স্পিড সেট করা যাবে।
  • GPX বা KML ফাইল প্লেব্যাক করার সময়, স্পিড অটোমেটিক সেট হয়ে যায় এবং প্লেব্যাক শেষ হলে এটি শূন্যে সেট হয়ে যায়।
  • উচ্চতা আর -১,০০০ থেকে +১০,০০০ মিটারের মধ্যে সীমাবদ্ধ নেই।
  • অন্তত একবার এক্সটেন্ডেড কন্ট্রোল উইন্ডো না খোলা পর্যন্ত ভার্চুয়াল জিপিএস লোকেশন নির্দিষ্ট সময় অন্তর আপডেট না হওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে।

ক্যামেরা

Windows-এ, এখন আরও বেশি ওয়েবক্যাম কাজ করে কারণ ইমুলেটর, ওয়েবক্যাম থেকে পাওয়া ক্যামেরা ফ্রেমের সাইজ ডায়নামিক পরিবর্তন করে। এছাড়াও, এই ফিচারটি ফ্রেম ডেলিভারিতে হওয়া সমস্যাকে এমুলেটর হ্যাং হওয়া থেকে আটকায়।

Play Store

Play Store-এর ছবিতে ডিস্ক স্পেস ফুরিয়ে যাওয়া সংক্রান্ত সমস্যার সমাধান করতে, ফ্রেশ Play Store AVD-এর সাথে রান করার সময় ইমুলেটর এখন অটোমেটিক ইউজারডেটা পার্টিশনের সাইজ পরিবর্তন করে ৬ জিবি করে দেয়।

কোয়ালিটি সংক্রান্ত সাধারণ উন্নতি ও সমস্যার সমাধান

  • কিছু ব্যবহারকারী জানিয়েছেন যে এমুলেটর খুব ধীরে চলছে। আমরা একটি সম্ভাব্য কারণ শনাক্ত করেছি যেখানে এমুলেটরের টেম্প ডিরেক্টরির মধ্যে অনেক বেশি পুরনো ফাইল থাকে। এর বিকল্প হিসেবে, এমুলেটর আর সেই ডিরেক্টরিতে ADB লাইভনেস চেক ফাইল সেভ করে না। তবে, সেই ফোল্ডারের কন্টেন্ট মুছে ফেললে সেটিও সাহায্য করতে পারে। আপনার অপারেটিং সিস্টেমের উপর নির্ভর করে, ফোল্ডারটি নিম্নলিখিত লোকেশনগুলির মধ্যে একটিতে থাকে:
    • Windows: C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\*
    • macOS বা Linux: /tmp/android-<username>/*
  • যথেষ্ট ফ্রি RAM না থাকার কারণে এমুলেটর চালু করা না গেলে, এখন একটি error মেসেজ দেখানো হয়। আপনি Windows ব্যবহার করলে এবং লক্ষ্য করেন যে RAM ফ্রি আছে, কিন্তু তারপরেও এমুলেটর চালু করতে পারছেন না, তাহলে কমিট চার্জ হয়ত বেশি হয়ে গেছে। এই সমস্যার ব্যাপারে সাহায্য পেতে, ইমুলেটর সংক্রান্ত সমস্যা সমাধান পৃষ্ঠা দেখুন।
  • -sysdir কমান্ড লাইন বিকল্প এখন সঠিকভাবে অনুমান করা সিস্টেম ইমেজ ডিরেক্টরিকে ওভাররাইড করে।
  • ভার্চুয়াল মডেম এখন মডেল অ্যাক্টিভিটি সংক্রান্ত তথ্য +MAI কোয়েরি সাপোর্ট করে।
  • মেমরি লিক, মেমরি করাপশন ও সিপিইউ ব্যবহার সংক্রান্ত বিভিন্ন সমস্যা সমাধান করা হয়েছে। ক্র্যাশ, মেমরি লিক বা অন্যান্য রিসোর্স বেশি ব্যবহার হওয়ার মতো সমস্যা হলে, ইস্যু ট্র্যাকার-এ একটি ইস্যু তৈরি করুন।
  • macOS 10.14-এ আবার দেখা দেওয়া একটি সমস্যার সমাধান করা হয়েছে, যেখানে এমুলেটরের সাথে ব্লুটুথ হেডসেট ব্যবহার করলে সামগ্রিকভাবে অডিওর কোয়ালিটি খারাপ হয়ে যেত। এটি আটকাতে, macOS-এ চালানোর সময় এমুলেটর এখন ব্লুটুথ অডিও ব্যবহার করা এড়িয়ে চলে। (সমস্যা 37070892)
  • Windows-এ একটি সমস্যার সমাধান করা হয়েছে যেখানে এমুলেটর ঘড়ি সঠিক টাইমজোনে থাকত না।
  • ঘূর্ণায়মান হার্ডড্রাইভ (HDD) সহ Linux সিস্টেমে এমুলেটরের ধীর গতি ও হ্যাং হওয়া সংক্রান্ত সমস্যা সমাধান করা হয়েছে।
  • macOS-এ স্ট্যাক করাপশন হতে পারে এমন কিছু কম্পাইল সতর্কতা সমাধান করা হয়েছে।
  • হ্যাং হওয়া সংক্রান্ত বিভ্রান্তিকর রিপোর্ট দেখাতে পারে এমন সমস্যার সমাধান করা হয়েছে।
  • থ্রেড পুল ধ্বংস করার ক্ষেত্রে হওয়া সমস্যার সমাধান করা হয়েছে। এর ফলে কোনও একটি থ্রেড সঠিকভাবে তৈরি না হলে ক্র্যাশ হতে পারত।
  • macOS-এ একটি সমস্যার সমাধান করা হয়েছে যেখানে টাইমার নির্ভরযোগ্য ছিল না, যার ফলে সিস্টেম হ্যাং হয়ে যেত এবং অন্যান্য অদ্ভুত আচরণ করত। macOS-এ এমুলেটর হ্যাং হয়ে গেলে, Issue Tracker-এ একটি সমস্যা তৈরি করুন।
  • সেই সমস্যার সমাধান করা হয়েছে যেখানে ইমুলেটর বন্ধ করলে UI বন্ধ হয়ে যেত, কিন্তু ইমুলেটরটি আসলে বন্ধ হত না।
  • মাঝে মাঝে ক্র্যাশ হওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে, এর মধ্যে /dev/urandom-এর অনেক বেশি ইনস্ট্যান্স খোলার কারণে বাতিল হয়ে যাওয়া অন্তর্ভুক্ত।
  • প্রথমবার চালু করার পরে এমুলেটর চালু না হতে পারার কারণ সম্পর্কিত সমস্যার সমাধান করা হয়েছে যদি ADB জোর করে বন্ধ করা হয়ে থাকে।
  • MIPS বিল্ড সরিয়ে দেওয়া হয়েছে। আপনার এখনও MIPS-এর প্রয়োজন হলে, Issue Tracker-এ একটি সমস্যা তৈরি করুন।
  • স্ন্যাপশট লোড করার সময় ADB কানেকশন খারাপ হয়ে যেতে পারে এমন একটি সমস্যার সমাধান করা হয়েছে।
  • ডিভাইসের ওরিয়েন্টেশন AVD-এর ডিফল্ট ওরিয়েন্টেশনের থেকে আলাদা হলে, স্ন্যাপশট আবার চালু করার সময় এমুলেটর উইন্ডোতে আফ্টারইমেজ বা টেলিপোর্ট অফস্ক্রিন দেখা যাওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • স্ন্যাপশট সেভ করার সময় ক্র্যাশ হওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • Linux-এ, btrfs ফাইলসিস্টেমের কারণে অত্যন্ত ধীর গতি হতে পারে কারণ এমুলেটর অটোমেটিক স্ন্যাপশট সেভ করে এবং এর ভার্চুয়াল ডিস্ক ডিভাইসের জন্য কপি-অন-রাইট ব্যবহার করে। আমরা ~/.android/avd ডিরেক্টরি পরিষ্কার করে খালি ~/.android/avd ডিরেক্টরির উপর নিম্নলিখিত কমান্ড চালানোর সাজেশন দিই:
    chattr +C
    
    এর ফলে, কপি-অন-রাইট বন্ধ করা আছে এমন ফোল্ডারে নতুন স্ন্যাপশট তৈরি হয়।

HAXM 7.3.2

আমরা আবার HAXM 7.3.2-এর কথা উল্লেখ করতে চাই, কারণ এমুলেটরে সাম্প্রতিক সিস্টেম ইমেজ সঠিকভাবে চালানোর জন্য এটি অবশ্যই ইনস্টল করতে হবে। HAXM 7.3.2 ভার্সনটি আগে থেকেই স্থিতিশীল চ্যানেলে উপলভ্য থাকা উচিত এবং https://github.com/intel/haxm/releases লিঙ্ক থেকে এটি ম্যানুয়ালিও ইনস্টল করা যেতে পারে।

HAXM-এর এই ভার্সনটি যেসব সমস্যার সমাধান করেছে তার মধ্যে কয়েকটি এখানে দেওয়া হল:

  • যেসব গেস্ট OS সাম্প্রতিক Linux কার্নেল (>= 4.6) ব্যবহার করে সেগুলির র‍্যান্ডম ক্র্যাশ সংক্রান্ত সমস্যার সমাধান করা হয়েছে। যেমন, Ubuntu 18.04 (#39, #74)।
  • x86 নির্দেশাবলী এমুলেটর সংক্রান্ত সমস্যার সমাধান করা হয়েছে যার ফলে হোস্ট ক্র্যাশ হতে পারত (#93)।

32-বিট Windows আর কাজ করবে না

ব্যবহার কম হওয়া এবং রক্ষণাবেক্ষণের খরচ বেশি হওয়ার কারণে, আমরা Windows-এ রান করে এমন Android এমুলেটরের ৩২-বিট ভার্সন বন্ধ করে দেওয়ার পরিকল্পনা করছি। 32-বিট ভার্সনের Android এমুলেটর সরিয়ে দেওয়া ও সেটির মেয়াদ শেষ হওয়ার আগে আমরা একটি ট্রানজিশন প্ল্যান প্রকাশ করব। তবে, এই ভবিষ্যতের পরিবর্তন সম্পর্কে কোনও মতামত বা সমস্যা থাকলে আমাদের জানান।

আপনি যদি বর্তমানে Windows-এ চলে এমন Android এমুলেটরের 32-বিট ভার্সনের উপর নির্ভর করেন, তাহলে ইস্যু ট্র্যাকার-এ আমাদের জানান এবং ভবিষ্যতে আমরা কীভাবে আপনার সাথে সবচেয়ে ভালোভাবে কাজ করতে পারি তা আমাদের বলুন।

27.3.10 (আগস্ট ২০১৮)

এই আপডেটে নিম্নলিখিত সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

RAM সাইজ কনফিগারেশন সংক্রান্ত সমস্যার সমাধান

কিছু ব্যবহারকারী জানিয়েছেন যে এমুলেটর খুব ধীরে চলছে। আমরা একটি সম্ভাব্য কারণ শনাক্ত করেছি যেখানে AVD-এর config.ini ফাইলে AVD RAM সাইজ ভুলভাবে সেট করা হয়েছে।

এটি কমানোর জন্য, এমুলেটর সেইসব ছবির জন্য ন্যূনতম RAM লেভেল বাড়িয়ে দেয় যেগুলি API লেভেল ২৬ বা তার পরের যেকোনও ভার্সন ব্যবহার করে। এটি Android Studio-এর ডিফল্ট লেভেল ১৫৩৬ এমবিতে সেট করা হয়। আপনার AVD-এর config.ini ফাইলে hw.ramSize মেগাবাইট হিসেবে তালিকাভুক্ত না থাকলে, Issue Tracker-এ একটি সমস্যা তৈরি করুন। আপনি নিম্নলিখিত লোকেশনে config.ini ফাইলটি খুঁজে পেতে পারেন:

~/.android/avd/<avdname>.avd/config.ini

27.3.9 (জুলাই ২০১৮)

এই আপডেটে নিম্নলিখিত উন্নতি ও সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

Windows Hypervisor Platform-এর জন্য উন্নত সমস্যার মেসেজ

কিছু ব্যবহারকারী WHPX ইমুলেটর অ্যাক্টিভেট করার সময় Windows Hypervisor Platform (WHPX) কেন চালু করা যায়নি তা ডায়াগনসিস করতে অসুবিধা হচ্ছিল। এইসব সমস্যা ডায়াগনসিস করার ব্যাপারে আপনাকে সাহায্য করতে, আমরা আরও তথ্যপূর্ণ সমস্যার মেসেজ যোগ করেছি। আপনি -verbose ফ্ল্যাগ ব্যবহার করে কমান্ড লাইন থেকে এমুলেটর চালিয়ে এইসব সমস্যার মেসেজ চালু করতে পারেন।

সাধারণ সমাধান

  • ক্যামেরা অ্যাপে স্ন্যাপশট লোড করার সময় OpenGL সংক্রান্ত সমস্যার সমাধান করা হয়েছে।

27.3.8 (জুলাই ২০১৮)

এই আপডেটে একাধিক নতুন ফিচার, আগে থেকে থাকা ফিচারে উন্নতি এবং সমস্যার সমাধান অন্তর্ভুক্ত।

স্ন্যাপশট

আপনি এখন কোনও নির্দিষ্ট ডিভাইস কনফিগারেশনের জন্য একাধিক AVD স্ন্যাপশট সেভ করতে পারবেন এবং এমুলেটর চালু করার সময় সেভ করা স্ন্যাপশটগুলির মধ্যে কোনটি লোড করবেন তা বেছে নিতে পারবেন।

Android Studio 3.2 Canary 13 থেকে শুরু করে, প্রতিটি ডিভাইস কনফিগারেশনে ভার্চুয়াল ডিভাইস কনফিগারেশন ডায়ালগে উন্নত সেটিংসের মধ্যে একটি কন্ট্রোল থাকে, যার সাহায্যে আপনি AVD চালু করার সময় কোন AVD স্ন্যাপশট লোড করতে হবে তা নির্দিষ্ট করতে পারবেন।

স্ন্যাপশট ফিচারের এই সম্প্রসারণকে জায়গা করে দিতে, আমরা এক্সটেন্ডেড কন্ট্রোল ডায়ালগে একটি স্ন্যাপশট বিভাগ যোগ করেছি। এই নতুন প্যানে AVD স্ন্যাপশট সেভ ও লোড করার কন্ট্রোল থাকে, এর মধ্যে কুইক-বুট স্ন্যাপশট সেভ ও লোড করার কন্ট্রোলও থাকে যা আগে সেটিংস প্যানে ছিল।

আপনি সেভ করা প্রতিটি স্ন্যাপশটের নাম ও বিবরণ এডিট করতে পারবেন।

আরও বিবরণের জন্য, স্ন্যাপশট দেখুন।

HAXM 7.2.0

HAXM 7.2.0 এখন সব চ্যানেলে উপলভ্য।

এই আপডেটে সমস্যার সমাধান ও প্রচুর RAM-এর জন্য উন্নত সহায়তা অন্তর্ভুক্ত রয়েছে। এছাড়াও, এই HAXM আপডেট এবং Emulator 27.3 ও এর পরের যেকোনও ভার্সনের সাথে, ভার্চুয়াল ডিভাইস চালু হলে সম্পূর্ণ স্ন্যাপশট লোড করার পরিবর্তে, স্ন্যাপশটগুলি তাদের কন্টেন্টকে চাহিদা অনুযায়ী RAM-এ লোড করে। এই পরিবর্তনের ফলে স্ন্যাপশট লোড করার জন্য প্রয়োজনীয় সময় অনেক কমে যাবে।

আরও বিবরণের জন্য, VM অ্যাক্সিলারেশন কনফিগার করা দেখুন।

27.2.9 (মে ২০১৮)

এই আপডেটে একাধিক নতুন ফিচার, আগে থেকে থাকা ফিচারে উন্নতি এবং সমস্যার সমাধান অন্তর্ভুক্ত।

স্ক্রিন রেকর্ডিং

আপনি এখন Android এমুলেটর থেকে ভিডিও ও অডিও রেকর্ড করতে পারবেন এবং WebM বা অ্যানিমেটেড GIF ফাইলে রেকর্ডিং সেভ করতে পারবেন।

স্ক্রিন রেকর্ডিং কন্ট্রোল Extended Controls উইন্ডোর স্ক্রিন রেকর্ড ট্যাবে থাকে।

পরামর্শ: এছাড়াও, আপনি Control + Shift + R (Mac-এ Command + Shift + R) প্রেস করে স্ক্রিন রেকর্ডিং কন্ট্রোল খুলতে পারেন।

স্ক্রিন রেকর্ডিং শুরু করতে, স্ক্রিন রেকর্ড ট্যাবে রেকর্ডিং শুরু করুন বোতামে ক্লিক করুন। রেকর্ডিং বন্ধ করতে, রেকর্ডিং বন্ধ করুন বিকল্পে ক্লিক করুন।

রেকর্ড করা ভিডিও চালানোর ও সেভ করার কন্ট্রোল স্ক্রিন রেকর্ড ট্যাবের নিচে থাকে। ভিডিও সেভ করতে, ট্যাবের নিচে থাকা মেনু থেকে WebM বা GIF বেছে নিন এবং সেভ করুন বিকল্পে ক্লিক করুন।

এছাড়াও, আপনি কমান্ড লাইনে নিচের কমান্ড ব্যবহার করে এমুলেটর থেকে স্ক্রিন রেকর্ডিং রেকর্ড ও সেভ করতে পারবেন:

adb emu screenrecord start --time-limit 10 [path to save video]/sample_video.webm

স্ক্রিনশট

আপনি নিম্নলিখিত কমান্ডগুলির মধ্যে যেকোনও একটি ব্যবহার করে কমান্ড লাইন থেকে স্ক্রিনশট নিতে পারেন:

  • screenrecord screenshot [destination-directory]
  • adb emu screenrecord screenshot [destination-directory]

স্ক্রিনশট PNG ফর্ম্যাটে সেভ করা হয়।

ভার্চুয়াল সিন ক্যামেরা ও ARCore

ভার্চুয়াল সিন ক্যামেরার মাধ্যমে এখন আরও সহজে ARCore-এর সাহায্যে অগমেন্টেড রিয়েলিটি অ্যাপ (AR) ডেভেলপ ও পরীক্ষা করা যায়। এটি আপনাকে ভার্চুয়াল এনভায়রনমেন্টের মধ্যে AR অভিজ্ঞতা নিয়ে এক্সপেরিমেন্ট করতে দেয়।

ইমুলেটরে ভার্চুয়াল সিন ক্যামেরা ব্যবহার করা সংক্রান্ত তথ্যের জন্য, Android ইমুলেটরে AR অ্যাপ রান করানো দেখুন।

Pixel ডিভাইসে Google Play Store-এর ছবি

Pixel ও Pixel 2 ডিভাইসের ছবির জন্য Google Play Store এখন চালু করা হয়েছে। এটি Android Studio 3.2 ও এর পরবর্তী যেকোনও ভার্সনে AVD Manager-এ Play Store কলামে Google Play লোগো দিয়ে দেখানো হয়। Google Play Store চালু করা AVD-তে এক্সটেন্ডেড কন্ট্রোল ডায়ালগে Google Play ট্যাব থাকে যা ডিভাইসে Google Play পরিষেবা আপডেট করার জন্য একটি সুবিধাজনক বোতাম প্রদান করে।

স্ন্যাপশট

আপনি এখন এমুলেটর রিস্টার্ট না করেই দ্রুত বুট স্ন্যাপশট লোড করতে পারবেন। স্ন্যাপশট লোড করতে, সেটিংস পৃষ্ঠায় গিয়ে এক্সটেন্ডেড কন্ট্রোল উইন্ডো খুলুন এবং এখনই লোড করুন বোতামে ক্লিক করুন।

আমরা স্ন্যাপশট লোড ও সেভ করার প্রসেসে অনেক উন্নতি করেছি, এর ফলে রিসোর্স ব্যবহারের দক্ষতা বেড়েছে এবং প্রতিটি অপারেশন সম্পূর্ণ হতে যে সময় লাগে তা কমে গেছে। আপনি এখনও অস্বাভাবিকভাবে দীর্ঘ সেভ করার অভিজ্ঞতা পেলে, আপনার CPU, RAM এবং অ্যান্টিভাইরাস / ফায়ারওয়াল / চলমান নিরাপত্তা সফ্টওয়্যারের সেটিংসের বিবরণ প্রদান করে একটি সমস্যা ফাইল করুন।

Skia-এর মাধ্যমে রেন্ডারিং

API 27 বা তার পরবর্তী ভার্সনের জন্য ছবি ব্যবহার করার সময়, এমুলেটর Skia-এর সাহায্যে Android UI রেন্ডার করতে পারে, যা আরও মসৃণ ও দক্ষতার সাথে রেন্ডার করতে পারে।

আপাতত, Skia ব্যবহার করতে হলে আপনাকে এটি স্পষ্টভাবে চালু করতে হবে।

Skia রেন্ডারিং চালু করতে, adb shell-এ নিম্নলিখিত কমান্ড ব্যবহার করুন:

  su
  setprop debug.hwui.renderer skiagl
  stop
  start

ক্যামেরা

Windows-এ, Android Emulator এখন ওয়েবক্যাম ব্যাক-এন্ড হিসেবে Media Foundation ব্যবহার করে, যা ওয়েবক্যাম ক্যাপচারের পারফর্ম্যান্স ও ফ্রেম রেট অনেক উন্নত করে, এটি 720p 30 FPS পর্যন্ত হতে পারে।

Mac-এ, আপনি এখন webcam0 ও webcam1 একসাথে ব্যবহার করতে পারবেন।

বিবিধ

-phone-number-prefix কমান্ড-লাইন বিকল্পটি পরিবর্তন করে -phone-number [number] করা হয়েছে, যা সম্পূর্ণ ফোন নম্বর সেট করার অনুমতি দেয়।

আপনি এখন বর্ণ ও সংখ্যা দিয়ে তৈরি এসএমএস অ্যাড্রেস ব্যবহার করতে পারবেন।

সমাধান করা

  • Android Emulator-এর Linux ভার্সন এখন আধুনিক Clang C++ টুলচেন ব্যবহার করে তৈরি করা হয়েছে। এই পরিবর্তনের ফলে libGL ও libstdc++ সংক্রান্ত সমস্যার কারণে এমুলেটর চালু না হতে পারার সমস্যার সমাধান হয়।
  • ক্র্যাশ ও হ্যাং হওয়ার বিভিন্ন কারণ সমাধান করা হয়েছে।
  • যথেষ্ট ফ্রি ডিস্ক স্পেস না থাকার কারণে ক্র্যাশ ও হ্যাং হওয়া এড়াতে, এমুলেটর এখন স্টার্ট-আপে পর্যাপ্ত ফ্রি ডিস্ক স্পেস চেক করে এবং কমপক্ষে ২ জিবি ফ্রি না থাকলে স্টার্ট হবে না।
  • কিছু Unity গেম রেন্ডার করতে না পারার সমস্যা সমাধান করা হয়েছে।
  • DNS সংক্রান্ত সমস্যার সমাধান করা হয়েছে যার ফলে এমুলেটর নেটওয়ার্কের সাথে কানেক্ট করতে পারছিল না।
  • ভার্চুয়াল ডিভাইস কনফিগারেশন ডায়ালগের মাধ্যমে AVD-কে বরাদ্দ করা ইন্টার্নাল স্টোরেজে পরিবর্তন করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • অনেকগুলি adb প্রসেস তৈরি হওয়া এবং সঠিকভাবে বন্ধ না হওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • সেই সমস্যার সমাধান করা হয়েছে যার কারণে এক্সটেন্ডেড কন্ট্রোল উইন্ডো খোলা না থাকলে রোটেট বোতাম ও UI-এর অন্যান্য অংশ কাজ করছিল না।
  • হোস্ট থেকে কপি ও পেস্ট করার সময় হওয়া একটি সমস্যার সমাধান করা হয়েছে। এই সমস্যাটি ততক্ষণ পর্যন্ত হয় যতক্ষণ না এক্সটেন্ডেড কন্ট্রোল ডায়ালগ অন্তত একবার খোলা হয়।
  • ফ্রেমলেস এমুলেটরের সাইজ পরিবর্তন করার রেক্ট্যাঙ্গেল আপডেট করা হয়েছে যাতে এটি এমুলেটরের ভিজ্যুয়াল থিম আরও ভালোভাবে অনুসরণ করতে পারে।
  • বিমান মোড চালু থাকলে টেলিফোন ও এসএমএস পরিষেবা এখন সঠিকভাবে বন্ধ হয়ে যায়।
  • স্ন্যাপশট লোড করার পরে SMS ও সেলুলার ফাংশনালিটি বন্ধ হয়ে যাওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • আপনি আর এই ধরনের মিথ্যা সতর্কতামূলক মেসেজ পাবেন না “Unable to open... \pstore.bin. Permission denied.”
  • কিছু Mac স্ক্রিনে AVD-কে আবার পজিশন করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • নতুন MacBook Pro কম্পিউটারে Pixel 2 XL স্কিন সহ AVD চালানোর সময় ফ্লিকারিং ও ফাঁকা স্ক্রিন সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • ফ্রেমলেস এমুলেটর চালু থাকাকালীন জুম মোডে পরিবর্তন করার সময় স্ক্রিন ফাঁকা হয়ে যাওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
  • জুম ইন করলে ডিভাইস স্কিন ও এমুলেটর কন্টেন্ট সিঙ্ক না হওয়ার কারণ সম্পর্কিত সমস্যার সমাধান করা হয়েছে।

আপনি এখনও যদি হ্যাং হওয়া বা অন্যান্য অস্থিরতা সংক্রান্ত সমস্যার সম্মুখীন হন, তাহলে একটি সমস্যার ব্যাপারে অভিযোগ জানান।

27.1.12 (মার্চ ২০১৮)

এই আপডেটে নিম্নলিখিত সমস্যার সমাধান অন্তর্ভুক্ত রয়েছে:

  • ইমুলেটর চালু করার পরে ব্লুটুথ অডিও কোয়ালিটি খারাপ হয়ে যায়। (Issue 37095756)
  • একটি এমুলেটরে পাঠানো লোকেশন সবকটিতে পাঠানো হয়েছে। (Issue 73450633)
  • কনসোল ব্যবহার করে সেট করা জিপিএস লোকেশন, গ্রাফিক্যাল ইউজার ইন্টারফেসে এক্সটেন্ডেড কন্ট্রোল > লোকেশন ব্যবহার করে সেট করা ভ্যালু দ্বারা ওভাররাইড করা হয়েছে। (সমস্যা 73471760)

আপনি এখনও যদি হ্যাং হওয়া বা অন্যান্য অস্থিরতা সংক্রান্ত সমস্যার সম্মুখীন হন, তাহলে একটি সমস্যার ব্যাপারে অভিযোগ জানান।

এই আপডেটের সাথে, বর্তমান সিস্টেম ইমেজ এবং Android Studio-এর প্রিভিউ ভার্সন ব্যবহার করে, আপনি ARCore-এর সাহায্যে তৈরি করা অগমেন্টেড রিয়েলিটি অ্যাপ্লিকেশন চালানোর জন্য Android এমুলেটর ব্যবহার করতে পারবেন। বিস্তারিত প্রয়োজনীয়তা ও নির্দেশাবলীর জন্য, Android এমুলেটরে AR অ্যাপ রান করানো দেখুন।

27.1.10 (ফেব্রুয়ারি, ২০১৮)

  • ক্যামেরা ক্যাপচার রেজোলিউশন

    অ্যাটাচ করা ওয়েবক্যাম থেকে এখন ৭২০p ফ্রেম ক্যাপচার করা যাবে।

    Android 8.1 (API লেভেল 27) ও এর পরের যেকোনও সিস্টেম ইমেজের সাথে কাজ করতে হলে, যেকোনও অ্যাটাচ করা ওয়েবক্যামে অবশ্যই 720p ফ্রেম ক্যাপচার করার ক্ষমতা থাকতে হবে।

  • সমাধান করা

    • যে সমস্যার কারণে ওয়েবক্যাম ক্যাপচার কখনও কখনও বিকৃত বা সম্পূর্ণ সবুজ ছবি আউটপুট করত, সেটির সমাধান করা হয়েছে।
    • এমন একটি সমস্যার সমাধান করা হয়েছে যার ফলে কোনও প্রকৃত হ্যাং না থাকলেও নিচের মেসেজটি দেখা যেত: "emulator: ERROR: detected a hanging thread 'Qt event loop'. ১৫০০০ মিলিসেকেন্ডের মধ্যে কোনও উত্তর পাওয়া যায়নি"।

আপনি এখনও যদি হ্যাং হওয়া বা অন্যান্য অস্থিরতা সংক্রান্ত সমস্যার সম্মুখীন হন, তাহলে একটি সমস্যার ব্যাপারে অভিযোগ জানান।

27.1.7 (ফেব্রুয়ারি ২০১৮)

  • ফ্রেম ছাড়া ইমুলেটর উইন্ডো:

    ডিফল্ট হিসেবে, ডিভাইস স্কিন ফাইল সহ এমুলেটর এখন চারপাশের উইন্ডো ফ্রেম ছাড়াই দেখানো হয়। চারপাশের উইন্ডো ফ্রেম দেখাতে, এক্সটেন্ডেড কন্ট্রোল উইন্ডোর সেটিংস প্যানেলে গিয়ে ডিভাইসের চারপাশে উইন্ডো ফ্রেম দেখুন বিকল্প চালু করুন।

  • AVD স্ন্যাপশট নিয়ে কাজ করা আরও বেশি কার্যকর করতে 'দ্রুত বুট' সংক্রান্ত উন্নতি:

    • এক্সটেন্ডেড কন্ট্রোল ডায়ালগ বক্সের সেটিংস প্যানেলে এখনই সেভ করুন বোতাম ব্যবহার করে আপনি যেকোনও সময় AVD স্ন্যাপশট সেভ করতে পারবেন।
    • অনেক ক্ষেত্রে, এমুলেটর স্ন্যাপশট সেভ করার সময় কমিয়ে দেয়। এটি বর্তমান স্টেট ও আগে সেভ করা স্ন্যাপশটের মধ্যে পার্থক্য সেভ করার মাধ্যমে এটি করে।

    আরও তথ্যের জন্য, দ্রুত বুট ডকুমেন্টেশন দেখুন।

  • QEMU 2.9 ব্যবহার করার জন্য এমুলেটর আপডেট করা হয়েছে।

    কিছু উল্লেখযোগ্য উন্নতির মধ্যে নিম্নলিখিত বিষয়গুলি অন্তর্ভুক্ত:

    • আরও ভালো পারফর্ম্যান্সের জন্য অপ্টিমাইজ করা I/O এবং আরও সূক্ষ্ম-গ্রেনুলার I/O থ্রেড লকিং।
    • QEMU 2.8 (26.1.4) থেকে সমস্যার সমাধান করা হয়েছে।
    • HAXM ব্যাক-এন্ডের নতুন প্রয়োগ।

    QEMU 2.9 পরিবর্তন লগে পরিবর্তনের সম্পূর্ণ তালিকা দেখুন।

  • OpenGL ES 3.0-এর সাথে মানানসই Swiftshader প্রয়োগ:

    ইমুলেটরের Swiftshader রেন্ডারার এখন OpenGL ES 3.0-এর সাথে সম্পূর্ণভাবে মানানসই। Swiftshader রেন্ডারারের বিবরণ জানতে, এক্সটেন্ডেড কন্ট্রোল-এর সেটিংস > উন্নত বিভাগ দেখুন।

  • সমাধান করা

    • ক্লিপবোর্ড শেয়ারিং চালু করুন বিকল্প টগল করে বন্ধ ও চালু না করা পর্যন্ত ক্লিপবোর্ড শেয়ারিং কাজ না করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
    • কম রেজোলিউশনের AVD-এর সাথে Swiftshader রেন্ডারিং ব্যাক এন্ড ব্যবহার করার সময় হ্যাং হয়ে যাওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে।

27.0.5 (জানুয়ারি ২০১৮)

  • Windows-এ রেন্ডারিংয়ের জন্য ANGLE এখন ডিফল্ট হিসেবে বন্ধ করা থাকে।

    ANGLE আপনার জন্য আরও ভালোভাবে কাজ করলে, আপনি কমান্ড লাইন ফ্ল্যাগ -gpu angle_indirect ব্যবহার করে এটি আবার চালু করতে পারবেন। অথবা, এক্সটেন্ডেড কন্ট্রোল উইন্ডো খুলে, সেটিংস > উন্নত বিকল্পে নেভিগেট করুন এবং OpenGL ES রেন্ডারার সেটিংসের জন্য ANGLE D3D11 বিকল্প বেছে নিন।

  • Shift+B টিপলে বড় হাতের B অক্ষর টাইপ না হওয়া সংক্রান্ত সমস্যার সমাধান করা হয়েছে।

27.0.2 (ডিসেম্বর ২০১৭)

  • নতুন 'দ্রুত বুট' ফিচার আপনার AVD ইনস্ট্যান্সের স্ন্যাপশটের উপর ভিত্তি করে এমুলেটর চালু করার সময়কে আরও দ্রুত করে তোলে।

    সব AVD-এর জন্য ডিফল্ট হিসেবে 'দ্রুত বুট' চালু করা থাকে। যদিও আপনি প্রথমবার কোনও AVD চালু করলে, এটিকে কোল্ড বুট করতে হবে (ঠিক কোনও ডিভাইস চালু করার মতো), পরবর্তী সবকটি চালু করার প্রসেস দ্রুত হয় এবং আপনি যে অবস্থায় এমুলেটর বন্ধ করেছিলেন, সিস্টেম সেই অবস্থায় ফিরিয়ে আনা হয় (কোনও ডিভাইসকে ঘুম থেকে জাগানোর মতো)।

    আপনি যদি কখন এমুলেটর স্ন্যাপশট সেভ করবে তা নিয়ন্ত্রণ করতে চান, তাহলে এমুলেটরের এক্সটেন্ডেড কন্ট্রোল উইন্ডো খুলে সেটিংস বিকল্পে ক্লিক করুন। এখানে, বেরিয়ে আসার সময় কুইক বুট স্টেট সেভ করুন বিকল্পের জন্য আপনি নিম্নলিখিত সেটিংসের মধ্যে একটি বেছে নিতে পারবেন:

    • হ্যাঁ: এমুলেটর বন্ধ করার সময় সবসময় কুইক বুট স্ন্যাপশট সেভ করুন। এটি ডিফল্ট বিকল্প।
    • না: কুইক বুট স্ন্যাপশট কখনও সেভ করবেন না; সবসময় কোল্ড বুট পারফর্ম করুন।
    • জিজ্ঞাসা করুন: আপনি এমুলেটর বন্ধ করলে কুইক বুট স্ন্যাপশট সেভ করবেন কিনা সেই বিষয়ে প্রম্পট দেখায়।

    আপনার বেছে নেওয়া বিকল্প শুধুমাত্র বর্তমানে খোলা AVD-র ক্ষেত্রেই প্রযোজ্য।

    আরও তথ্যের জন্য, দ্রুত বুট ডকুমেন্টেশন দেখুন।

  • Mac OpenGL ES 3-এর জন্য সহায়তা যোগ করা হয়েছে (API লেভেল ২৪ ও এর বেশি, Google API ও x86 ABI ব্যবহার করে সিস্টেম ইমেজের জন্য)।

  • OpenGL ES 2+ অ্যাপে আরও বেশি স্থিতিশীলতা যোগ করতে, উপলভ্য থাকলে এমুলেটর এখন OpenGL core প্রোফাইল ব্যবহার করে।

  • Swiftshader / ANGLE-এর মাধ্যমে রেন্ডার করার নতুন বিকল্প:

    • -gpu swiftshader_indirect: Swiftshader-এর আরও দ্রুত, আরও স্থিতিশীল ভার্সন যা 'দ্রুত বুট' ফিচারের সাথে কাজ করে।
    • -gpu angle_indirect (শুধুমাত্র Windows-এর জন্য): ANGLE D3D -এর আরও স্থিতিশীল ভেরিয়েন্ট যা কুইক বুটের সাথেও কাজ করে।

    পুরনো -gpu swiftshader ও -gpu angle বিকল্প এখন বন্ধ করে দেওয়া হয়েছে। এক্সটেন্ডেড কন্ট্রোল উইন্ডোতে, সেটিংস > উন্নত বিকল্পে OpenGL ES রেন্ডারার সেটিংসের জন্য"SwiftShader " এবং"ANGLE " বিকল্প এখন *_indirect ভেরিয়েন্ট ব্যবহার করে।

  • অন্যান্য বিভিন্ন সমস্যার সমাধান।

26.1.4 (আগস্ট ২০১৭)

এটি একটি মাইনর রিলিজ যাতে সমস্যার সমাধান করা হয়েছে এবং GPU কনফিগারেশনে নিম্নলিখিত উন্নতি করা হয়েছে:

  • ANGLE রেন্ডারারে চালানোর সময় বুট অ্যানিমেশন চালু করা
  • ANGLE রেন্ডারারে চালানোর সময় GLES3 বন্ধ করুন

26.1.3 (আগস্ট ২০১৭)

এটি একটি মাইনর রিলিজ যাতে সমস্যার সমাধান, পারফর্ম্যান্সের উন্নতি এবং ছোটখাট ফিচার পরিবর্তন করা হয়েছে।

  • লেটেস্ট Android 8.0 সিস্টেম ইমেজ ব্যবহার করার জন্য এই ভার্সন এখন প্রয়োজন। এগুলি Treble-কমপ্লায়েন্ট, এতে আলাদা vendor.img পার্টিশন আছে।
  • নতুন HAXM 6.2.0 এখন উপলভ্য (SDK Manager চেক করুন) এবং এতে নিম্নলিখিত আপডেট অন্তর্ভুক্ত:
    • মেমরি ব্যবহারের ক্ষেত্রে উন্নতি। HAXM-এর পিন করা মেমরির পিক ওয়ার্কিং সেট এখন আর AVD-এর RAM-এর সমান নয়; এর পরিবর্তে, মেমরি প্রয়োজন অনুযায়ী পেজ করা হয়। এর ফলে কম RAM থাকা মেশিনে এমুলেটর আরও নির্ভরযোগ্যভাবে রান করতে পারবে।
    • HAXM 6.2.0 সহ এমুলেটর এখন macOS-এ আরও দ্রুত বুট করতে পারে, এর ফলে দীর্ঘ ইনিশিয়ালাইজেশন ফেজ এড়ানো যায়।
  • GPU কনফিগারেশনে উন্নতি
    • গেস্ট-সাইড সফ্টওয়্যার রেন্ডারিং করার সময় বুট করার সময় কালো স্ক্রিন সংক্রান্ত সমস্যা সমাধান করা হয়েছে। এটি Swiftshader-এর মাধ্যমে হোস্ট-সাইড সফ্টওয়্যার রেন্ডারিংয়ে ফিরে গিয়ে করা হয়েছে। API লেভেল ১৯ - ২৫-এর জন্য Google API সহ সিস্টেম ইমেজের লেটেস্ট রিভিশনে গেস্ট-সাইড রেন্ডারিং কাজ করা উচিত।
    • পুরনো Intel GPU শনাক্ত করার কারণে এমুলেটর সফ্টওয়্যার রেন্ডারে সুইচ করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে, কিন্তু এমুলেটরটি আসলে ডিসক্রিট GPU-তে চলছিল। কোন GPU-তে ANGLE বা Swiftshader রেন্ডারিং ব্যবহার করা হবে তা নিম্নলিখিতভাবে নির্ধারণ করা হয়:
      • পুরনো Intel iGPU-তে OpenGL এবং ANGLE D3D ড্রাইভার, দু'টিতেই ড্রাইভার সংক্রান্ত সমস্যা আছে। Intel HD Graphics 3xxx ও এর আগের ভার্সন ব্যবহারকারীরা Swiftshader ব্যবহার করবেন।
      • কিছু ব্যবহারকারী API লেভেল ২৫ ছবি ব্যবহার করতে পারছেন না বলে জানিয়েছেন, কারণ "Pixel Launcher বার বার বন্ধ হয়ে যাচ্ছে" সংক্রান্ত একটি বাগ রয়েছে। এটি কিছু Intel HD 4xxx মডেলে ড্রাইভার সংক্রান্ত সমস্যা বলে মনে হচ্ছে। তাই সেগুলি অটোমেটিক ANGLE ব্যবহার করার জন্য সুইচ করা হবে।
    • GPU এমুলেশনের মাধ্যমে সবচেয়ে ভাল ফলাফল পেতে, আমরা সাজেস্ট করি যে ডিসক্রিট NVIDIA বা AMD GPU অথবা নতুন Intel GPU (Iris, HD 5xxx, HD 5xx/6xx) ব্যবহার করুন।
    • AVD, hw.gpu.mode=host-এর সাথে কনফিগার করা থাকলে এবং ইমুলেটর রিমোট ডেস্কটপ ক্লায়েন্টে লঞ্চ করা হলে, ইমুলেটর চালু না হতে পারার (OpenGL এমুলেশন ইনিশিয়ালাইজ করা যায়নি) সমস্যা সমাধান করা হয়েছে।
    • "OpenGL ES API লেভেল (রিস্টার্ট করতে হবে)" সেটিংস আরও স্পষ্ট করা হয়েছে; সমস্যা হলে অথবা কম OpenGL ES API লেভেলে পরীক্ষা করার প্রয়োজন হলে, OpenGL ES 3 থেকে OpenGL ES 2-তে ডাউনগ্রেড করার বিকল্প যোগ করা হয়েছে।
    • Mesa রেন্ডারার বন্ধ করে দেওয়া হয়েছে; hw.gpu.mode=mesa এখন থেকে হোস্টে Swiftshader ব্যবহার করার জন্য অটোমেটিক পাল্টে যাবে।
  • macOS-এর জন্য উন্নতি:
    • Hypervisor.Framework অথবা HAXM 6.2.0-এর মাধ্যমে এমুলেটর এখন macOS 10.13 High Sierra-র সাথে সম্পূর্ণ মানানসই।
    • পারফর্ম্যান্স ও macOS-এর সাথে মানানসই করার বিষয়টি উন্নত করতে, ৩২-বিট x86 ইমেজের জন্য macOS-এ এখন ডিফল্ট হিসেবে Hypervisor.framework চালু করা আছে। আপনি যদি এটি নিয়ে নির্দিষ্টভাবে কোনও সমস্যার সম্মুখীন হন, তাহলে একটি সমস্যার রিপোর্ট ফাইল করুন এবং HVF = off এর সাথে ~/.android/advancedFeatures.ini যোগ করুন (এই ফাইলটি না থাকলে তৈরি করুন)।
    • Hypervisor.framework ব্যবহার করার সময় ইন্টারনেট না থাকা / ডিবাগার অ্যাটাচ করতে না পারা সংক্রান্ত সমস্যার সমাধান করা হয়েছে।
    • ওয়েবক্যাম ক্যাপচারের সাথে সামঞ্জস্য ও পারফর্ম্যান্স উন্নত করতে, QTKit-ভিত্তিক ক্যামেরা ক্যাপচারকে AVFoundation-এর উপর ভিত্তি করে বাফার করা ক্যাপচার দিয়ে প্রতিস্থাপন করা হয়েছে।
  • কিছু সিস্টেম ইমেজে ওয়াই-ফাইয়ের জন্য সহায়তা যোগ করা হয়েছে (বর্তমানে শুধুমাত্র API লেভেল ২৫)। "AndroidWifi" নামের একটি অ্যাক্সেস পয়েন্ট উপলভ্য এবং Android অটোমেটিক সেটির সাথে কানেক্ট করে। -feature -Wifi কমান্ড লাইন প্যারামিটার সহ এমুলেটর চালিয়ে ওয়াই-ফাই সহায়তা বন্ধ করা যেতে পারে।
  • কিছু ব্যবহারকারী অভিযোগ করেছেন যে নির্দিষ্ট সাইজের Play Store সিস্টেম ইমেজে পর্যাপ্ত স্টোরেজ নেই। সেই জন্য, আমরা ডিফল্ট হিসেবে সাইজ বাড়িয়ে ২ জিবি করেছি (৮০০ এমবি থেকে)।
  • সেটিংস পৃষ্ঠা থেকে সরাসরি বাগ রিপোর্ট করার UI পৃষ্ঠা খোলার জন্য কীবোর্ড শর্টকাট (Ctrl+Shift+U) যোগ করা হয়েছে।
  • Intel x86 EPT সহ পুরনো CPU ব্যবহার করা হলে, কিন্তু UG না থাকলে, একাধিক কোর কনফিগার করা হলে এমুলেটর বুট করতে পারত না, সেই সমস্যা সমাধান করা হয়েছে।
  • HyperV-কে ভুলভাবে শনাক্ত করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে, যদি ইমুলেটরটি Xen Hypervisor-এ চলে।
  • কিছু Linux কনফিগারেশনে এমুলেটর চালু করার সময় ক্র্যাশ করা সংক্রান্ত সমস্যার সমাধান করা হয়েছে।

26.1.2 (জুলাই ২০১৭)

এই রিলিজে নতুন ফিচার ও পারফর্ম্যান্সে উন্নতি অন্তর্ভুক্ত আছে।

  • এক্সটেন্ডেড কন্ট্রোলে কাস্টম HTTP প্রক্সি কনফিগারেশন ডিফাইন করার ক্ষমতা যোগ করা হয়েছে (আরও বিকল্পে ক্লিক করুন, তারপর সেটিংস এবং প্রক্সি বিকল্পে ক্লিক করুন)। সাধারণত, এমুলেটর Android Studio HTTP প্রক্সি সেটিংস ব্যবহার করে, কিন্তু এই স্ক্রিন আপনাকে ম্যানুয়াল প্রক্সি কনফিগারেশন নির্ধারণ করতে দেয়।

  • গেস্ট মোড GPU-এর জন্য VNC সহায়তা যোগ করা হয়েছে, যাতে এমুলেটরকে রিমোট থেকে দেখা ও কন্ট্রোল করা যায়। যেমন, আপনি এমুলেটর চালু করতে পারেন এবং VNC-কে নিম্নলিখিত উপায়ে পোর্ট ৫৯০১ শুনতে দিতে পারেন:

    1. এক্সিকিউট করো: emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1
    2. 5901 পোর্টে কানেক্ট করতে, tightvnc viewer-এর মতো VNC ভিউয়ার খুলুন।

      • Mac-এর বিল্ট-ইন স্ক্রিন শেয়ারিং ক্লায়েন্ট ব্যবহার করতে, এমুলেটর লঞ্চ করার সময় VNC পাসওয়ার্ডের প্রয়োজন হয়। পাসওয়ার্ড সেট করতে, এই কমান্ড ব্যবহার করুন:

        emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1,password -monitor stdio

        তারপরে কনসোলে change vnc password লিখে পাসওয়ার্ড লিখুন।

    VNC মোডে বর্তমানে Android O কাজ করে না।

  • এক্সটেন্ডেড কন্ট্রোল সহায়তা স্ক্রিনে সমস্যা জানান বোতাম যোগ করা হয়েছে (আরও বিকল্পে ক্লিক করুন, তারপর সহায়তা ও ইমুলেটর সহায়তা বিকল্পে ক্লিক করুন)। সমস্যার ব্যাপারে অভিযোগ জানান বিকল্পে ক্লিক করলে একটি ডায়ালগ খুলবে যেখানে আপনি সমস্যার রিপোর্ট সংক্রান্ত বিবরণ দেখতে পাবেন, যেমন স্ক্রিনশট, AVD কনফিগারেশন সংক্রান্ত তথ্য এবং সমস্যার রিপোর্ট লগ। তারপরে আপনি নিজের জন্য রিপোর্ট সেভ করতে পারবেন অথবা এমুলেটর সংক্রান্ত সমস্যার ব্যাপারে অভিযোগ জানাতে পারবেন।

  • ইমুলেটর ও ভার্চুয়াল সেন্সর প্যানেলে জাইরোস্কোপ সেন্সর যোগ করা হয়েছে। এর জন্য কাজ করার জন্য জাইরোস্কোপ সাপোর্ট সহ একটি সিস্টেম ইমেজ প্রয়োজন (বর্তমানে API লেভেল 24 এবং 25)।

  • এমুলেটরের জন্য কাজ করে না এমন একাধিক DNS অ্যাড্রেস হোস্টের একাধিক ভার্চুয়াল নেটওয়ার্ক ইন্টারফেসের মাধ্যমে যোগ করা হলে, Windows-এ Qemu DNS তালিকায় হোস্ট-প্রেফার করা DNS যোগ করা হয়।

  • macOS 10.10+ ভার্সনে সার্ভার ফ্ল্যাগের মাধ্যমে ৩২-বিট x86 ইমেজের জন্য পরীক্ষামূলক macOS Hypervisor.Framework সহায়তা যোগ করা হয়েছে। এটি বুট টাইম ও পারফর্ম্যান্স উন্নত করবে।

    • এটি নিয়ে সমস্যা হলে, HVF = off লাইনটি যোগ করুন ~/.android/advancedFeatures.ini।
  • OpenGL ES 3.x এখন ডিফল্ট হিসেবে সিস্টেম ইমেজ ও হোস্ট GPU-এর জন্য চালু করা হয়েছে যেগুলি OpenGL ES 3-এ কাজ করে। বর্তমানে, শুধুমাত্র Android O (API লেভেল ২৬) এবং Windows/Linux হোস্ট OpenGL ES 3-এর সাথে কাজ করে।

    • OpenGL ES 3-এর সাথে সমস্যা হলে, GLESDynamicVersion = off লাইনটি ~/.android/advancedFeatures.ini-এ যোগ করুন।
  • ফাইনাল ডিসপ্লে ইমেজ পোস্টিং ছাড়া সব রেন্ডারিংয়ের জন্য এমুলেটর এখন অফস্ক্রিন OpenGL FBO ব্যবহার করে, যা বিভিন্ন প্ল্যাটফর্ম জুড়ে রঙের সামঞ্জস্য সংক্রান্ত সমস্যা সমাধানে সাহায্য করবে।

  • হঠাৎ এমুলেটর ধীরে হয়ে যাওয়া সংক্রান্ত সমস্যা সম্পর্কে ডেটা সংগ্রহ করার পরে, আমরা নির্ধারণ করেছি যে সমস্যাটি পুরনো Intel OpenGL ড্রাইভার এবং Windows আপডেটের মধ্যে কিছু ইন্টার‍্যাকশনের কারণে হতে পারে। যেমন, Intel HD 4000, 3000, 2000 (এবং এই ধরনের GPU) ব্যবহারকারীদের জন্য এখন ডিফল্ট হিসেবে D3D রেন্ডারার (ANGLE) বা Swiftshader (সফ্টওয়্যার রেন্ডারার) সেট করা আছে।

26.0.0 (মার্চ ২০১৭)

এই রিলিজ API লেভেল ২৬-এর সাথে মানানসই। এছাড়াও, এতে পারফর্ম্যান্সের উন্নতি ও সমস্যার সমাধান সহ আরও অনেক কিছু অন্তর্ভুক্ত রয়েছে।

মাইনর রিভিশন 26.0.3 (মে ২০১৭)

  • সমস্যাযুক্ত হার্ডওয়্যার কনফিগারেশন থেকে উদ্ভূত সমস্যাগুলি দ্রুত সমাধান করার জন্য অনলাইন-আপডেট করা যায় এমন ফিচার ফ্ল্যাগ যোগ করে। এর ফলে Google, সার্ভার-সাইড ফ্ল্যাগ আপডেট করার মাধ্যমে ব্যবহারকারীর কনফিগারেশনের উপর নির্ভরশীল সমস্যা সমাধান ও ফিচার রিলিজ করতে পারে। নির্দিষ্ট হার্ডওয়্যার নিয়ে সমস্যা হলে, বাগ রিপোর্ট করুন যাতে আমরা সমস্যাটি খতিয়ে দেখতে পারি।
  • Android Wear API লেভেল ২৫ সিস্টেম ইমেজের জন্য রোটারি ইনপুট-এর নতুন সহায়তা। Wear ডিভাইসে রোটারি ইনপুট ডায়াল এমুলেট করতে, এক্সটেন্ডেড উইন্ডোতে রোটারি ইনপুট ট্যাবে ক্লিক করুন।
  • ক্র্যাশ রিপোর্টিং ডায়ালগ এখন রিসাইজ করা যায় এবং ইনপুট না দিয়েই ক্র্যাশ রিপোর্ট কখন পাঠাতে হবে বিকল্পটি জিজ্ঞাসা করুন বিকল্পে আর রিসেট হয় না। ক্র্যাশ রিপোর্ট কখন পাঠাতে হবে
  • ৩২-বিট এমুলেটর এখন চায় যে সর্বাধিক AVD RAM সাইজ যেন ৫১২ এমবি বা তার সমান হয়, এর ফলে ২ জিবি ভার্চুয়াল অ্যাড্রেস স্পেসে এমুলেটর স্পেস ফুরিয়ে যাওয়া থেকে রক্ষা পায়।
  • ইমুলেটর ছবিতে অ্যাবসলিউট পাথের জন্য সহায়তা যোগ করে।
  • Google Play Store-এর ছবির জন্য এক্সটেন্ড করা উইন্ডোতে একটি নতুন ট্যাব যোগ করে যা Play পরিষেবার ভার্সন এবং Play পরিষেবার আপডেট চেক করার জন্য একটি বোতাম দেখায়।
  • Emulator সেটিংস পৃষ্ঠায় OpenGL রেন্ডারার বেছে নেওয়ার জন্য একটি ড্রপডাউন যোগ করে। Windows মেশিনে OpenGL ড্রাইভার নিয়ে সমস্যা হলে, ANGLE (D3D11) বা ANGLE (D3D9) বিকল্প ব্যবহার করে দেখুন (এর জন্য রিস্টার্ট করতে হবে)। Windows নয় এমন মেশিনে OpenGL ড্রাইভার নিয়ে সমস্যা হলে, Swiftshader সফ্টওয়্যার রেন্ডারার ব্যবহার করে দেখুন (এর জন্য রিস্টার্ট করতে হবে)।
  • এমুলেটর exit ও minimize কমান্ড, দু'টিই পেলে, বেরিয়ে আসার সময় ক্র্যাশ হওয়ার মতো বিরল সমস্যা সমাধান করে।
  • Mac মেশিনে ডিসপ্লে পরিবর্তন করার সময় স্কেলিং সংক্রান্ত সমস্যার সমাধান করে। (সমস্যা 268296)
  • এমুলেটর CPU-এর ৩০০% ব্যবহার করে এবং হোস্ট কম্পিউটার স্লিপ মোড থেকে আবার চালু করার পরে বা এমুলেটর দীর্ঘক্ষণ ধরে চালু থাকার পরে এটি হোল্ড করে রাখে, এমন একটি সমস্যার সমাধান করে।
  • ইমুলেটর বন্ধ করার সময় ক্র্যাশ হওয়া সংক্রান্ত সমস্যার সমাধান করে।

HAXM v6.1.1 (মার্চ ২০১৭) সহ আপডেট

মনে রাখবেন: ৩০ মার্চ পর্যন্ত HAXM v6.1.1, Mac ব্যবহারকারীদের জন্য SDK ম্যানেজারের মাধ্যমে উপলভ্য এবং শীঘ্রই Windows ব্যবহারকারীদের জন্য উপলভ্য হবে।

Android Emulator-এর 26.0.0 ভার্সন HAXM v6.1.1-এ কাজ করে, যার মধ্যে নিম্নলিখিত আপডেট অন্তর্ভুক্ত:

  • পারফর্ম্যান্স মনিটরিং ইউনিট (PMU) ইমুলেশন চালু করে। (সমস্যা 223377)
  • Mac-এ VirtualBox ও Docker-এর সাথে একসাথে কাজ করার সমস্যা সমাধান করে। (সমস্যা 197915)
  • ইনস্টলার Windows-এ Intel VT-x শনাক্ত করতে না পারলে, ইনস্টলেশন সংক্রান্ত সমস্যার মেসেজটি সংশোধন করে দেখানো হয়, সাধারণত Hyper-V চালু থাকার কারণে এটি হয়।
  • Hyper-V-ভিত্তিক Windows VM-এ Android এমুলেটরকে দ্রুততর করার জন্য সহায়তা যোগ করে। এই আপডেটের জন্য হোস্ট Hyper-V ইনস্ট্যান্সকে (যেটি Windows VM/গেস্ট ম্যানেজ করে ) নেস্টেড ভার্চুয়ালাইজেশন চালু করে Hyper-V-এর লেটেস্ট ভার্সন ব্যবহার করতে হবে। গেস্ট Hyper-V ইনস্ট্যান্সে (Windows VM) Hyper-V বন্ধ থাকতে হবে।

ডিপেন্ডেন্সি

  • Android SDK Platform-Tools রিভিশন 25.0.4 বা এর পরের যেকোনও ভার্সন।
  • Android SDK টুল রিভিশন 26.0.0 বা তার পরবর্তী যেকোনও ভার্সন।

নতুন ফিচার ও সমস্যার সমাধান

  • API লেভেল ২৬-এর সাথে মানানসই।
  • সম্পূর্ণভাবে GLES 2.0 মেনে চলে। মানানসই ডেস্কটপ OpenGL ড্রাইভার সহ হোস্ট GPU দেওয়া থাকলে, এমুলেটর এখন Android CTS dEQP-GLES2-এর ১০০% পাস করে mustpass তালিকা। এটি API লেভেল ২৪ x86 ছবির জন্য রিলিজ করা হয়েছে (রিভিশন 11 এবং এর পরের যেকোনও ভার্সন) এবং শীঘ্রই সব সিস্টেম ছবির জন্য অন্তর্ভুক্ত করা হবে।
  • ভিডিও প্লেব্যাকের পারফর্ম্যান্স উন্নত করা হয়েছে। ইমুলেটর এখন হোস্ট/গেস্ট শেয়ার করা মেমরিতে সব ভিডিও কালার বাফার সেভ করে এবং GPU-তে প্রয়োজনীয় ফাইনাল YUV থেকে RGB কনভার্সন পারফর্ম করে। 1080p30 এখনকার বেশিরভাগ সিস্টেমেই সহজেই পাওয়া যায়। এটি API লেভেল ২৪ x86 ছবির জন্য রিলিজ করা হয়েছে (রিভিশন ১১ ও তার পরের যেকোনও ভার্সন) এবং শীঘ্রই সব সিস্টেম ছবির জন্য অন্তর্ভুক্ত করা হবে।
  • এমুলেটর এখন বেরিয়ে আসার সময় adb devices তালিকা থেকে নিজেকে সঠিকভাবে আনরেজিস্টার করে এবং Linux মেশিনে খোলা TCP পোর্ট বন্ধ করে দেয়।
  • adb কানেকশন এখন আরও নির্ভরযোগ্য। চলমান এমুলেটরকে আরও দ্রুত শনাক্ত করা যায় এবং এটি আর "অফলাইন" বা "অননুমোদিত" স্ট্যাটাসে যায় না।

25.3.0 (মার্চ ২০১৭)

এই রিলিজের পরে, SDK টুল থেকে আলাদাভাবে Android এমুলেটর রিলিজ করা হবে। এই রিলিজে পারফর্ম্যান্সের উন্নতি, নতুন ফিচার ও সমস্যার সমাধান সংক্রান্ত বিষয় অন্তর্ভুক্ত আছে।

মাইনর রিভিশন 25.3.1 (মার্চ ২০১৭)

  • কিছু GPU কনফিগারেশনে ক্র্যাশ হওয়ার সমস্যা সমাধান করা হয়েছে, এর জন্য ডিফল্ট হিসেবে GLAsyncSwap বন্ধ করা হয়েছে। গেম ও ভিডিওর জন্য ফ্রেম টাইমিং ও ফ্রেম পার সেকেন্ড উন্নত করতে 25.3.0-তে এই ফিচার যোগ করা হয়েছে, কিন্তু এর ফলে কিছু অজানা মেশিন কনফিগারেশনে এমুলেটর কাজ করে না। আপনি android_sdk/emulator/lib/advancedFeatures.ini ফাইল খুলে এবং GLAsyncSwap = on সেট করে এটি ম্যানুয়ালি চালু করতে পারবেন।

ডিপেন্ডেন্সি

  • Android SDK Platform-Tools রিভিশন 24 বা এর পরের যেকোনও ভার্সন।
  • Android SDK টুল রিভিশন 25.3.0.

নতুন ফিচার ও সমস্যার সমাধান

  • QEMU 2.7-এ আপডেট করা এমুলেশন ইঞ্জিন, যার মধ্যে সাম্প্রতিক সমস্যার সমাধান, উন্নত পারফর্ম্যান্স এবং নতুন ফিচার অন্তর্ভুক্ত।
  • নতুন IPv6 সহায়তা।
  • হোস্ট কম্পিউটারে এমুলেটর এখন SwiftShader-কে একটি বিশুদ্ধ সফ্টওয়্যার রেন্ডারার হিসেবে ব্যবহার করে।
  • Android পাইপ পারফর্ম্যান্সের উন্নতি: Android পাইপ, এমুলেটর ও Android OS-এর মধ্যে প্রধান যোগাযোগের চ্যানেল, এখন অনেক দ্রুত কাজ করে, এতে লেটেন্সি কম এবং এটি আরও ভাল মাল্টি-থ্রেডেড পারফর্ম্যান্স প্রদান করে। এর ফলে এমুলেটরের পারফর্ম্যান্স উন্নত হয়, যার মধ্যে রয়েছে:
    • ADB পুশ/পুল স্পিড উন্নত করা হয়েছে।
    • আরও ভালো 3D অ্যাক্সিলারেশন সহায়তা।
    • ইমুলেটরের সামগ্রিক রেসপন্সিভনেস বেড়েছে।
    • উন্নত গ্রাফিক্স পারফর্ম্যান্স।
  • গেস্ট অনুরোধ করলে এমুলেটর এখন GPU-সাইড বাফার (glBindBuffers / glBufferData) ব্যবহার করে, এর ফলে কিছু অ্যাপে CPU ওভারহেড কমে যায়।
  • অডিও সংক্রান্ত সহায়তা উন্নত করা হয়েছে।
  • আরও দ্রুত ডিস্ক I/O: এমুলেটর এখন ডিস্ক I/O ডিসপ্যাচ করার জন্য আলাদা থ্রেড ব্যবহার করে, এর ফলে লেটেন্সি কমে যায় এবং থ্রুপুট আরও ভাল হয় (~১.৫ গুণ বেশি সিকোয়েন্সিয়াল I/O স্পিড, ~৫ গুণ বেশি র‍্যান্ডম অ্যাক্সেস I/O স্পিড)। এর ফলে ডিস্কে ফ্ল্যাশ করার সংখ্যাও কমে যায়, যার ফলে অনেক কম ফিজিক্যাল ডিভাইস লোড হয়।
  • Windows মেশিনে ডিস্ক বুটের জন্য এমুলেটর এখন স্পার্স ফাইল ব্যবহার করে, এর ফলে প্রথম বুট ও "ওয়াইপ-ডেটা" বুট, দু'টিই দ্রুত হয়। AVD তৈরি বা রিসেট করার সময়, এমুলেটর এখন ২ জিবি বা তার বেশি ডেটার পরিবর্তে ১০০-২০০ এমবি ডেটা ডিস্কে লেখে।
  • বিভিন্ন GUI উন্নত করা হয়েছে:
    • ইমুলেটর এখন Qt 5.7.0 ব্যবহার করে, যার মধ্যে সমস্যার সমাধান ও পারফর্ম্যান্সের উন্নতি অন্তর্ভুক্ত।
    • UI ইনিশিয়ালাইজেশন আর Qt প্লাগ-ইন হিসেবে সব এমুলেটর এক্সিকিউটেবল লোড করার চেষ্টা করে না, তাই এটি অনেক কম সময় নেয়, বিশেষ করে HDD-তে।
    • UI ইন্টার‍্যাকশন এখন আরও দ্রুত ও মসৃণ, এর মধ্যে রয়েছে রোটেট করা, উইন্ডোর সাইজ পরিবর্তন করা এবং এক্সটেন্ডেড কন্ট্রোল উইন্ডো লোড করা ও বন্ধ করা।

OpenXR™ এবং OpenXR লোগো হল The Khronos Group Inc.-এর মালিকানাধীন ট্রেডমার্ক এবং এগুলি চীন, ইউরোপীয় ইউনিয়ন, জাপান ও যুক্তরাজ্যে ট্রেডমার্ক হিসেবে রেজিস্টার করা আছে।