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

অ্যান্ড্রয়েড এমুলেটর অ্যান্ড্রয়েড স্টুডিওর সাথে অন্তর্ভুক্ত।

25.3.0 এর আগের এমুলেটরের সংস্করণগুলি Android SDK টুলের অংশ হিসাবে বিতরণ করা হয়েছিল।

আপনার কাছে সর্বশেষ সংস্করণ আছে তা নিশ্চিত করতে, আপডেটের জন্য SDK ম্যানেজার দেখুন।

অ্যান্ড্রয়েড এমুলেটরের পূর্ববর্তী সংস্করণগুলি ডাউনলোড করতে, এমুলেটর ডাউনলোড সংরক্ষণাগারটি দেখুন।

25.3.0 এর আগের এমুলেটর সংস্করণগুলির জন্য রিলিজ নোটের জন্য, Android SDK টুলস রিলিজ নোটগুলি দেখুন।

পরিচিত সমস্যা এবং সমস্যা সমাধানের জন্য, অনুগ্রহ করে এমুলেটর ট্রাবলশুটিং দেখুন।

35.2.10 (1 অক্টোবর, 2024)

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

35.1.20 (29 আগস্ট, 2024)

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

34.2.16 (জুলাই 9, 2024)

  • [বাগ ফিক্স] ভাঁজ/উন্মোচনের সময় পিক্সেল ফোল্ডে UI ফ্রিজ হয়
  • [বাগ ফিক্স] Mac M1 এ API 35 এর পরিবর্তে Android ভ্যানিলা আইসক্রিম প্রিভিউ হিসাবে Android সংস্করণের ভুল প্রদর্শন।
  • [বাগ ফিক্স] ইস্যু #296162661 : HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE Pixel C ট্যাবলেট এমুলেটরে সত্য ফেরত দেয়

34.2.15 (মে 31, 2024)

  • swangle মোড এবং বিজ্ঞাপনদাতা ক্লিনআপ সম্পর্কিত বিভিন্ন ক্র্যাশ ফিক্স

34.2.14 (মে 20, 2024)

Android Studio Jellyfish Stable Patch 1 দিয়ে পরীক্ষিত।

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

34.2.13 (30 এপ্রিল, 2024)

অ্যান্ড্রয়েড স্টুডিও জেলিফিশ স্টেবল দিয়ে পরীক্ষা করা হয়েছে।

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

34.1.20 (এপ্রিল 1, 2024)

অ্যান্ড্রয়েড স্টুডিও ইগুয়ানা স্টেবল দিয়ে পরীক্ষা করা হয়েছে।

  • [বাগ ফিক্স] সমস্যা #314614435 : সমস্যাটি ঠিক করুন যেখানে -http-proxy সুইচ ভুলভাবে পার্স করা হয়েছে

34.1.19 (7 মার্চ, 2024)

অ্যান্ড্রয়েড স্টুডিও ইগুয়ানা স্টেবল দিয়ে পরীক্ষা করা হয়েছে।

  • [বাগ ফিক্স] ইস্যু #312677259 : উইন্ডোর আকার পরিবর্তন করার পরে এমবেডেড এমুলেটরে ফিক্সড স্ক্রিন ফ্রিজ।

34.1.18 (ফেব্রুয়ারি 29, 2024)

অ্যান্ড্রয়েড স্টুডিও ইগুয়ানা স্টেবল দিয়ে পরীক্ষা করা হয়েছে।

  • ডিভাইসগুলি এমুলেটরে যুক্ত করা হয়েছে সহ:
    • পিক্সেল ভাঁজ
    • পিক্সেল ট্যাবলেট
    • পিক্সেল 8
    • Pixel 8 Pro
    • Pixel 7a
  • gRPC ইন্টিগ্রেশন টেস্ট: gRPC এন্ডপয়েন্টগুলি এখন ইমুলেটরের ভিতরে চলমান ইন্সট্রুমেন্টেড টেস্টের জন্য উপলব্ধ যা বাস্তবসম্মত পরিস্থিতিতে পরীক্ষা করতে সক্ষম হবে। এই বৈশিষ্ট্যটি ডেভেলপারদের Android ইমুলেটর দ্বারা হোস্ট করা জিআরপিসি এন্ডপয়েন্টের সাথে Android ইন্সট্রুমেন্টেশন পরীক্ষার মধ্যে থেকে নিরাপদে যোগাযোগ করতে সক্ষম করে।
  • বিভিন্ন বাগ ফিক্স
    • বাগ ফিক্স : ভাঁজ ডিভাইসের ব্যবহারযোগ্যতার উন্নতি
    • বাগ ফিক্স : ঘূর্ণনের পরে এমুলেটরের অবস্থান সামঞ্জস্য করুন
    • ক্র্যাশ ফিক্স

33.1.24 (ডিসেম্বর 28, 2023)

Android Studio Hedgehog Stable এবং Iguana Beta 1 দিয়ে পরীক্ষিত।

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

33.1.23 (30 নভেম্বর, 2023)

অ্যান্ড্রয়েড স্টুডিও জিরাফ প্যাচ 4 এবং হেজহগ স্টেবলের সাথে পরীক্ষা করা হয়েছে।

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

32.1.15 (29 আগস্ট, 2023)

অ্যান্ড্রয়েড স্টুডিও জিরাফ প্যাচ 1 এবং হেজহগ ক্যানারি 16 দিয়ে পরীক্ষা করা হয়েছে।

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

32.1.14 (27 জুন, 2023)

অ্যান্ড্রয়েড স্টুডিও হেজহগ ক্যানারি 8, জিরাফ বিটা 5 এবং ফ্ল্যামিঙ্গো স্টেবলের সাথে পরীক্ষা করা হয়েছে।

  • এমুলেটর ক্যামেরা ওরিয়েন্টেশন এবং বিকৃতি ঠিক করুন।
  • [বাগ ফিক্স] ইস্যু #257097404 "হোস্ট জেগে ওঠার পর এমুলেটর সঠিক সময় দেখায় না"। এই বাগটি এখনও API 29 এবং API 30 এর জন্য পুনরুত্পাদনযোগ্য।
  • [বাগ ফিক্স] ইস্যু #243456582 "এপিআই 30 এর পরে অ্যান্ড্রয়েড রিলিজ ম্যাক এম1 মেশিনে এমুলেটরে সঠিকভাবে শুরু নাও হতে পারে"

32.1.13 (22 মে, 2023)

অ্যান্ড্রয়েড স্টুডিও হেজহগ ক্যানারি 2, জিরাফ বিটা 1 এবং ফ্ল্যামিঙ্গো স্টেবলের সাথে পরীক্ষা করা হয়েছে।

  • পিক্সেল ফোল্ড এবং পিক্সেল ট্যাবলেট AVD-এর জন্য সমর্থন যোগ করুন।
  • gLinux ক্র্যাশ সমস্যা উন্নত করুন।
  • [বাগ ফিক্স] ইস্যু #215231636 "এপিআই 30 এর উপরে API সহ এমুলেটর ইন্টেল 12 তম জেনার প্রসেসরে কাজ করছে না"।
  • [বাগ ফিক্স] ইস্যু #275397905 এমুলেটর বারবার কার্সার ফোকাস সরানোর সময় অ্যান্ড্রয়েড এমুলেটর M1-এ উচ্চ স্তরের ক্র্যাশ।
  • AVD লঞ্চ ইস্যু #281725854 এর সাথে পরিচিত সমস্যা। আরও তথ্যের জন্য অনুগ্রহ করে এমুলেটর সমস্যা সমাধান দেখুন।

32.1.12 (21 মার্চ, 2023)

অ্যান্ড্রয়েড স্টুডিও জিরাফ ক্যানারি 10, ফ্ল্যামিঙ্গো আরসি এবং ইলেকট্রিক ইল প্যাচ 2 দিয়ে পরীক্ষা করা হয়েছে।

  • [বাগ ফিক্স] সমস্যা #267647323 নেটওয়ার্ক অ্যান্ড্রয়েড স্টুডিও থেকে শুরু হওয়া এমুলেটরে কাজ করে না
  • [বাগ ফিক্স] ইস্যু #268498686 এমুলেটর স্ক্রিন ঝিকিমিকি করছে
  • [বাগ ফিক্স] ইস্যু #270034824 সংস্করণ 33.1.1 আপডেট করার পরে এমুলেটরের কর্মক্ষমতা হ্রাস পেয়েছে
  • [বাগ ফিক্স] ইস্যু #225541819 শুরু করা ক্রোম x86_64 এ এমুলেটর ক্র্যাশ করে
  • [বাগ ফিক্স] ইস্যু #257097404 হোস্ট জেগে ওঠার পর এমুলেটর সঠিক সময় দেখায় না
  • Apple M1 ডিভাইসের জন্য ক্র্যাশ রিপোর্টিং যোগ করুন

32.1.11 (ফেব্রুয়ারি 8, 2023)

অ্যান্ড্রয়েড স্টুডিও জিরাফ ক্যানারি 2, ফ্ল্যামিঙ্গো বিটা 1 এবং ইলেকট্রিক ইল প্যাচ 1 দিয়ে পরীক্ষা করা হয়েছে।

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

31.3.14 (13 ডিসেম্বর, 2022)

অ্যান্ড্রয়েড স্টুডিও ডলফিন, ইলেকট্রিক ইল আরসি 1 এবং ফ্ল্যামিঙ্গো ক্যানারি 9 দিয়ে পরীক্ষা করা হয়েছে।

  • [বাগ ফিক্স] প্লে স্টোরে লগ ইন করার সময় AVD ক্র্যাশগুলি ঠিক করুন।

31.3.13 (27 অক্টোবর, 2022)

অ্যান্ড্রয়েড স্টুডিও ডলফিন, ইলেকট্রিক ইল বিটা 2 এবং ফ্ল্যামিঙ্গো ক্যানারি 5 দিয়ে পরীক্ষা করা হয়েছে।

  • [বাগ ফিক্স] সমস্যা #249948338: টাইম জোন প্যারামিটার কাজ করছে না
  • [বাগ ফিক্স] সমস্যা #249366543: এমুলেটর -dns-সার্ভার বিকল্পটি API 31 এর পরে কাজ করে না

31.3.12 (অক্টোবর 10, 2022)

অ্যান্ড্রয়েড স্টুডিও ডলফিন এবং ইলেকট্রিক ইল বিটা 1 দিয়ে পরীক্ষা করা হয়েছে।

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

  • [বাগ ফিক্স] সমস্যা #247843000: AVD আপেক্ষিক পাথ হ্যান্ডলিং ত্রুটি
  • API 24 এবং পরবর্তীতে ডিস্কের আকার বাড়ান

31.3.11 (সেপ্টেম্বর 23, 2022)

অ্যান্ড্রয়েড স্টুডিও ডলফিন এবং ইলেকট্রিক ইল ক্যানারি 10 দিয়ে পরীক্ষা করা হয়েছে।

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

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

31.3.10 (18 আগস্ট, 2022)

অ্যান্ড্রয়েড স্টুডিও ডলফিন বিটা 5 এবং ইলেকট্রিক ইল ক্যানারি 9 দিয়ে পরীক্ষা করা হয়েছে।

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

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

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

31.2.10 (20 এপ্রিল, 2022)

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

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

  • ফলব্যাক সহ ভলকান ফাংশন লোড করতে ইউটিলিটি যোগ করুন
  • [বাগ ফিক্স] gcc8 বিল্ড ত্রুটি ঠিক করুন

31.2.9 (23 মার্চ, 2022)

অ্যান্ড্রয়েড স্টুডিও ডলফিন ক্যানারি 7 দিয়ে পরীক্ষা করা হয়েছে।

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

  • [বাগ ফিক্স] M1 এ স্ন্যাপশট সংরক্ষণ করার সময় মেমরির চাপ উপেক্ষা করুন

31.2.8 (7 ফেব্রুয়ারি, 2022)

অ্যান্ড্রয়েড স্টুডিও বাম্বলবি প্যাচ 1 এবং চিপমঙ্ক ক্যানারি 6 দিয়ে পরীক্ষা করা হয়েছে।

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

31.2.7 (ফেব্রুয়ারি 1, 2022)

অ্যান্ড্রয়েড স্টুডিও বাম্বলবি প্যাচ 1 এবং চিপমঙ্ক ক্যানারি 6 দিয়ে পরীক্ষা করা হয়েছে।

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

  • [বাগ ফিক্স] M1 মেশিনে এমুলেটর ঝুলানো ত্রুটি।

31.2.6 (20 জানুয়ারী, 2022)

অ্যান্ড্রয়েড স্টুডিও আর্কটিক ফক্স, বাম্বলবি বিটা 4 এবং চিপমাঙ্ক ক্যানারি 6 এর সাথে পরীক্ষা করা হয়েছে।

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

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

31.1.3 (18 জানুয়ারি, 2022)

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

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

30.9.5 (15 ডিসেম্বর, 2021)

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

  • ডেস্কটপ বা ট্যাবলেট আকারের উইন্ডোতে সহজেই আকার পরিবর্তন করার ক্ষমতা যোগ করা হয়েছে।
  • সামঞ্জস্যপূর্ণ হোস্ট ডিভাইস থেকে মাল্টি-টাচ ইনপুট জন্য সমর্থন যোগ করা হয়েছে.
  • VirtioWifi: ট্যাপ নেটওয়ার্কের জন্য সমর্থন যোগ করা হয়েছে।
  • পরিধান সিস্টেম চিত্রগুলির জন্য রোটারি ইনপুট সক্ষম করা হয়েছে৷
  • gRPC অডিও কনফিগারেশন সমস্যা সমাধান করা হয়েছে।
  • স্ট্যান্ডার্ড অ্যান্ড্রয়েড সেন্সর সমর্থন করতে সেন্সর রিপ্লে এমুলেটর প্লেব্যাক আপডেট করা হয়েছে।
  • ইউএসবি পাস থ্রু দিয়ে ইউএসবি ব্যবহার করে এমুলেটরটিকে পেরিফেরাল এবং ডিভাইসের সাথে সংযুক্ত করেছে।

30.4.5 (ফেব্রুয়ারি 23, 2021)

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

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

30.0.26 (আগস্ট 16, 2020)

এই আপডেটে বেশ কিছু নতুন বৈশিষ্ট্য, বিদ্যমান বৈশিষ্ট্যের উন্নতি এবং বাগ ফিক্স অন্তর্ভুক্ত রয়েছে।

ভার্চুয়াল কব্জা সেন্সর এবং 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 11-এর জন্য ডেভেলপিং দেখুন।

  • কব্জা সেন্সর এখন ডিফল্টরূপে সক্রিয় করা আছে।

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

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

  • লিনাক্স এমুলেটর সোর্স কোড এখন x86_64 থেকে arm64 হোস্টে ক্রস কম্পাইলেশন সমর্থন করে, KVM ভার্চুয়ালাইজেশন সহ arm64 সিস্টেম ইমেজগুলিকে সক্রিয় করে। বর্তমানে, শুধুমাত্র -gpu swiftshader_indirect (Swiftshader arm64 হোস্ট রেন্ডারিং) সমর্থিত, কিন্তু হোস্ট GPU libEGL/libGLESv2 লাইব্রেরিগুলির একটি সামঞ্জস্যপূর্ণ সেট lib64/gles_swiftshader প্রতিস্থাপন করে এবং তারপরে -gpu swiftshader_indirect পুনরায় লঞ্চ করে ব্যবহার করা যেতে পারে। স্ন্যাপশটগুলিও কাজ নাও করতে পারে (কমান্ড লাইনে -no-snapshot যোগ করুন)। নির্দেশাবলী:

    mkdir emu
    cd emu
    repo init -u https://android.googlesource.com/platform/manifest -b emu-master-dev --depth=1
    repo sync -qcj 12
    cd external/qemu
    pip install absl-py
    pip install urlfetch
    sudo apt-get install crossbuild-essential-arm64
    python android/build/python/cmake.py --noqtwebengine --noshowprefixforinfo --target linux_aarch64
    
  • অ্যাপল সিলিকনের জন্য সমর্থন চলছে।

virtio-gpu সমর্থন

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

অন্যান্য নতুন বৈশিষ্ট্য এবং উন্নতি

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

    adb emu avd path # Obtains path to AVD directory
    adb emu avd discoverypath # Obtains path to discovery file
    adb emu avd snapshotspath # Obtains path to snapshots folder
    adb emu avd snapshotpath <snapshotName> # Obtains path to the folder that stores the snapshot for the snapshot with name <snapshotName>
    
  • উল্লম্ব স্ক্রিনের স্থান সংরক্ষণ করা সহজতর করার জন্য, আমরা বর্তমান AVD-এর জন্য ডিভাইস ফ্রেম লুকানোর জন্য এক্সটেন্ডেড কন্ট্রোল > সেটিংসে একটি বিকল্প যোগ করেছি। সমস্ত AVD-এর জন্য ডিভাইস ফ্রেমগুলিকে বিশ্বব্যাপী লুকানোর জন্য, আমরা NoDeviceFrame বৈশিষ্ট্য পতাকা উপলব্ধ করেছি, যা -feature NoDevice ফ্রেম সহ কমান্ড লাইন থেকে এমুলেটর চালু করার মাধ্যমে বা এটিকে লক করার জন্য NoDeviceFrame = on ~/.android/advancedFeatures.ini -এ যোগ করে সক্রিয় করা যেতে পারে ~/.android/advancedFeatures.ini (এই ফাইলটি তৈরি করুন যদি এটি ইতিমধ্যেই বিদ্যমান না থাকে)।

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

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

ফিক্স: এমবেডেড এমুলেটর

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

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

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

  • gRPC এন্ডপয়েন্ট এখন ডিভাইসে SMS পাঠানো সমর্থন করে।

সাধারণ সংশোধন

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

ফিক্স: গ্রাফিক্স এবং ভিডিও ডিকোড

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

30.0.10 (30 এপ্রিল, 2020)

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

অ্যান্ড্রয়েড স্টুডিওতে এমুলেটর চালান

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

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

আপনি এখন Android স্টুডিওতে ভার্চুয়াল ডিভাইস তৈরি করার সময় 13.5” ফ্রিফর্ম ট্যাবলেট হার্ডওয়্যার প্রোফাইল নির্বাচন করে ফ্রিফর্ম উইন্ডো মোড সক্ষম করে এমন একটি AVD তৈরি করতে পারেন। এই হার্ডওয়্যার প্রোফাইলের জন্য Android 11 ডেভেলপার প্রিভিউ 3 বা উচ্চতর সহ একটি সিস্টেম ইমেজ প্রয়োজন।

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

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

30.0.0 (ফেব্রুয়ারি 19, 2020)

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

অ্যান্ড্রয়েড 11 সিস্টেমের ছবি

আপনি এখন উপলব্ধ API স্তর 30 সিস্টেম চিত্রগুলির মধ্যে যেকোনো একটি নির্বাচন করে Android 11 চালায় এমন একটি AVD তৈরি করতে পারেন:

  • x86 : x86 এবং ARMv7 ABI উভয়ই অন্তর্ভুক্ত।
  • x86_64 : x86, x86_64, ARMv7 এবং ARM64 ABI অন্তর্ভুক্ত।

অ্যান্ড্রয়েড 9 এবং 11 সিস্টেম চিত্রগুলিতে এআরএম বাইনারিগুলির জন্য সমর্থন

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

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

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

29.0.11 (29 মে, 2019)

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

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

২৯.০.৯ (মে ৭, ২০১৯)

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

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

29.0.8 (মে 6, 2019)

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

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

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

  • স্বয়ংচালিত সিস্টেম চিত্রগুলির জন্য স্ন্যাপশট UI অক্ষম করা হয়েছে কারণ স্ন্যাপশটগুলি বর্তমানে এই সিস্টেম চিত্রগুলির জন্য সমর্থিত নয়৷

29.0.6 (মে 1, 2019)

এই আপডেটে বেশ কিছু নতুন বৈশিষ্ট্য, বিদ্যমান বৈশিষ্ট্যের উন্নতি এবং বাগ ফিক্স অন্তর্ভুক্ত রয়েছে।

QEMU1 এবং 32-বিট উইন্ডোজ সমর্থন অপসারণ

এমুলেটরটি আরও ভালভাবে বজায় রাখার জন্য, আমরা আর QEMU1 এবং 32-বিট উইন্ডোজ বাইনারি পাঠাব না। আপনি যদি উইন্ডোজ 32-বিট ব্যবহার করেন তবে আপনি 29.0.6 সংস্করণে আপগ্রেড করতে পারবেন না।

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

আপনি যদি একটি AVD চালাতে চান যা একটি Android Q সিস্টেম ইমেজ ব্যবহার করে, তাহলে আপনাকে এখন 29.0.6 (এই রিলিজ সংস্করণ) বা উচ্চতর সংস্করণ ব্যবহার করতে হবে।

প্রকল্প মার্বেল উন্নতি

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

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

নিম্নলিখিত বিভাগগুলি এই আপডেটের সাথে অন্তর্ভুক্ত প্রকল্প মার্বেল উন্নতিগুলি বর্ণনা করে:

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

সংস্করণ 28.0.3 দিয়ে শুরু করে, এমুলেটর ডিফল্টরূপে হোস্ট থেকে অডিও ইনপুট ব্লক করে

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

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

  • adb emu avd hostmicon
  • adb emu avd hostmicoff

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

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

এই আপডেটের সাথে, আমরা এমুলেটরটিকে ন্যূনতম সংখ্যক নির্ভরতা সহ চালানোর অনুমতি দেওয়ার জন্য আরও উন্নতি করেছি। লিনাক্সে, হেডলেস বিল্ডে আর pulseaudio বা libX11 লাইব্রেরি অন্তর্ভুক্ত থাকে না। সিস্টেম-নির্ভর শেয়ার্ড লাইব্রেরি যেগুলি এমুলেটরের সাথে প্যাকেজ করা হয়নি সেগুলিকে নিম্নোক্ত তালিকায় নামিয়ে দেওয়া হয়েছে:

  • Linux-vdso.so.1
  • Libutil.so.1
  • Libm.so.6
  • Libdl.so.2
  • Librt.so.1
  • Libpthread.so.0
  • Libgcc_s.so.1
  • Libc.so.6
  • ld-linux-x86-64.so.2

Qt UI লাইব্রেরিগুলিকে 5.12 LTS-এ আপগ্রেড করা হয়েছে৷

এই আপডেটে Qt 5.12 LTS রিলিজ থেকে নিম্নলিখিত উন্নতিগুলি অন্তর্ভুক্ত রয়েছে:

  • নির্দিষ্ট সিস্টেম ইমেজ শুরু করার সময় Qt-এর libpng ডিকোডিং-এ ক্র্যাশ এড়াতে, এমুলেটর এখন PNG ছবিগুলিকে ডিকোড করতে libpng এর নিজস্ব কপি ব্যবহার করে।
  • কিছু Qt নির্ভর লাইব্রেরির বেমানান সংস্করণ ধারণকারী কিছু Linux ইনস্টলের সমস্যা সমাধানের জন্য, আমরা এখন libfreetype , libsoftokn , libsqlite3 , এবং libxkbcommon এমুলেটরের সাথে প্যাকেজ করি।
  • এমুলেটর এখন প্ল্যাটফর্মের নেটিভ উইন্ডো লাইব্রেরি ব্যবহার করে মনিটরের মাত্রা পেতে, Qt লাইব্রেরি ব্যবহার করার পরিবর্তে যা অবিশ্বস্ত ফলাফল দেয়।

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

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

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

কর্মক্ষমতা নিরীক্ষণের জন্য নতুন পরিবেশ ভেরিয়েবল

এমুলেটরের কর্মক্ষমতা এবং সংস্থান ব্যবহারের বিশদ পর্যবেক্ষণ সক্ষম করতে আপনি এখন দুটি নতুন পরিবেশের ভেরিয়েবল ব্যবহার করতে পারেন।

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

সাধারণ প্রকল্প মার্বেল উন্নতি

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

  • আপনি এখন অবিলম্বে নিম্নলিখিত কনসোল কমান্ডগুলির মাধ্যমে এমুলেটরটিতে সমস্ত ভিসিপিইউ বিরতি দিতে পারেন:
    • adb emu avd pause
    • adb emu avd resume
  • ওপেনজিএল অঙ্কনের ওভারহেডকে ব্যাপকভাবে হ্রাস করেছে। এমুলেটর অ্যানিমেশন বাজানোর সময় এই উন্নতি সিপিইউ ব্যবহার হ্রাস করে।
  • মেইনলাইন QEMU এর E1000 ভার্চুয়াল নেটওয়ার্ক ডিভাইসের জন্য পুনরুদ্ধার সমর্থন। আপনি ব্রিজযুক্ত নেটওয়ার্ক পরিবেশে এমুলেটর সেট আপ করতে এই ডিভাইসটি ব্যবহার করতে পারেন। একটি ব্রিজযুক্ত নেটওয়ার্ক পরিবেশে, এমুলেটরটি হোস্ট নেটওয়ার্কে প্রদর্শিত হয় এবং হোস্ট নেটওয়ার্কটি এমুলেটরে প্রদর্শিত হয়।
  • কিউইএমইউ 2.12-উপযুক্ত বায়োস বাইনারিগুলি এখন এমুলেটরটি শুরু করতে ব্যবহৃত হয়।
  • ভিডিও এনকোডিং এবং ডিকোডিংয়ের জন্য ffmpeg সংস্করণটি 3.4.5 এ আপগ্রেড করা হয়েছে।
  • kqueue উপর ভিত্তি করে একটি প্রধান লুপের সাথে select() এর উপর ভিত্তি করে মূল লুপটি প্রতিস্থাপন করে ম্যাকোসে কিউএমইউ মেইন লুপ আই/ও এর ওভারহেড হ্রাস পেয়েছে।
  • এমুলেটরটির সাথে লগক্যাট চালানোর সময় ফ্লেকি অপ্রত্যাশিত ইওএফের সাথে সমস্যাগুলি সমাধান করতে লগক্যাট বাফার আকার 2 এমবি বেড়েছে।
  • এমুলেটরটি এখন ডিফল্টরূপে LC_ALL=C পরিবেশের পরিবর্তনশীল রফতানি করে। এই পরিবর্তনটি বিভিন্ন লোকালগুলিতে এমুলেটর চালানোর সাথে সম্পর্কিত ক্র্যাশ এবং অসঙ্গতি সংক্রান্ত সমস্যাগুলিকে সম্বোধন করে।
  • আপনি এখন এক্সটেন্ডেড কন্ট্রোল> সেটিংস> উন্নত> পারফরম্যান্সের পরিসংখ্যানগুলিতে অ্যাক্সেস করতে পারেন এমন পারফরম্যান্সের পরিসংখ্যান ব্যবহার করে এমুলেটরের সিপিইউ এবং র‌্যাম ব্যবহার ট্র্যাক করতে পারেন। যদি এমুলেটরটি খুব বেশি সিপিইউ বা র‌্যাম ব্যবহার করে বলে মনে হয় তবে দ্রুত সমস্যাগুলি নির্ণয়ের জন্য এই পরিসংখ্যানগুলি ব্যবহার করুন।
  • glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPE এখন একটি অনুকরণীয় পরিবর্তে হোস্ট জিপিইউর ফলাফল ব্যবহার করে। এই পরিবর্তনটি এমন সমস্যাগুলি সমাধান করতে সহায়তা করে যেখানে চিত্র এবং সম্পদগুলি রিডব্যাকের জন্য অনুপযুক্ত বিন্যাসের কারণে প্রদর্শিত হয় না।
  • ওপেনজিএল ইএস এক্সটেনশনের জন্য GL_EXT_texture_format_BGRA8888 এবং GL_APPLE_texture_format_BGRA8888 জন্য সমর্থন যুক্ত করা হয়েছে যদি এই এক্সটেনশনগুলি হোস্ট দ্বারা সমর্থিত হয়।
  • বাগেরপোর্ট ইউআই -তে আরও ডায়াগনস্টিক তথ্য যুক্ত করা হয়েছে। এছাড়াও, আপনি নিম্নলিখিত কমান্ডগুলি ব্যবহার করে কনসোল থেকে বাগ প্রতিবেদনগুলি অ্যাক্সেস করতে পারেন:
    • telnet localhost 5554
    • avd bugreport
  • অ্যান্ড্রয়েড কিউ সিস্টেমের চিত্রগুলিতে, এমুলেটরটি তার সর্বনিম্ন র‌্যামের আকার 2 জিবি বাড়িয়ে তোলে।
  • যখনই ওপেনজিএল বা হাইপারভাইজার আরম্ভ করতে ব্যর্থ হয় তখন আরও লগিং এবং মুদ্রণ যুক্ত করা হয়েছে।
  • যদি এমুলেটরটি কোনও এভিডির একযোগে -read-only উদাহরণ শুরু করতে না পারে তবে এমুলেটরটি এখন 3 সেকেন্ডের চেয়ে আরও 3 বার আরও 3 বার -read-only পুনরায় চালু করার চেষ্টা করে। এই পরিবর্তনটি সম্ভাবনা বাড়িয়ে তোলে যে এমুলেটরটি যদি এভিডি -র অন্যান্য লিখিত উদাহরণগুলি বাসি ফাইলগুলি পরিষ্কার না করা হয় তবে একযোগে -read-only একটি এভিডি চালু করতে সক্ষম হবে।
  • আসন্ন সিস্টেমের চিত্রগুলির জন্য, এমুলেটরটি এখন হার্ডওয়্যার সুরকার 2.0 সমর্থন করে। বেশিরভাগ অ্যানিমেশন চালানোর সময় এই পরিবর্তনটি ড্রাইভারকে ওভারহেড কমিয়ে দেওয়া উচিত।
  • এমুলেটর বিল্ডটি এখন সিএমকে/নিনজা ভিত্তিক।
  • এমুলেটর এক্সটেন্ডেড কন্ট্রোল ইউআই -তে, কীবোর্ড শর্টকাট টেবিলের বিভাজনকারী লাইনগুলি পুনরুদ্ধার করা হয়েছে।
  • ব্যবহারকারীরা এখন 10 সেকেন্ডের ব্যবধানে আমাদের দলকে সিপিইউ এবং র‌্যাম ব্যবহারের মেট্রিকগুলি সরবরাহ করতে বেছে নিতে পারেন। আমরা আমাদের ব্যবহারকারীদের বিভিন্ন ব্যবহারের ক্ষেত্রে এমুলেটর রিসোর্স ব্যবহার সম্পর্কে আমাদের ডেটা সমৃদ্ধ করতে এই মেট্রিকগুলি ব্যবহার করি, যা আমাদের এমুলেটরটিকে আরও দক্ষ এবং প্রতিক্রিয়াশীল করতে দেয়।

সাধারণ প্রকল্প মার্বেল ফিক্স

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

  • অ্যান্ড্রয়েড কিউ সিস্টেমের চিত্রগুলি ব্যবহার করার সময় ইন্টেল জিপিইউগুলির সাথে সিস্টেমে প্রদর্শিত হয়েছিল এমন টুইচিং এবং ভুল ফ্রেমের সাথে স্থির সমস্যাগুলি।
  • পিক্সেল 2 এক্সএল স্কিন (বা কোনও খাঁজ বা বৃত্তাকার কোণে থাকা কোনও ত্বক) সহ অ্যান্ড্রয়েড কিউ সিস্টেম চিত্রগুলি ব্যবহার করার সময় একটি কালো স্ক্রিন প্রদর্শিত হয়েছিল এমন স্থির বিষয়গুলি।
  • এমন একটি সমস্যা স্থির করা হয়েছে যেখানে -partition-size কমান্ড লাইন বিকল্পটি ডেটা পার্টিশন আকার সেট করবে না।
  • এমন একটি সমস্যা স্থির করে যেখানে লিনেক্স এমুলেটরটিতে পালসুডিও স্পিন স্পিন করে এবং কিছু পরিস্থিতিতে একটি সম্পূর্ণ সিপিইউ কোর গ্রহণ করবে।
  • সংকুচিত টেক্সচার প্রক্রিয়াজাত করার সময় সীমানা মেমরি অ্যাক্সেসের বাইরে স্থির সমস্যাগুলি।
  • নির্দিষ্ট গ্রেলোক বাফারগুলি আপডেট করার সময় ( glTexSubImage2D -তে হোস্টের উপর ঘটে যাওয়া স্থির জিএল ত্রুটিগুলি (ফর্ম্যাট আরজিবি 565, আরজিবি 10 এ 2, আরজিবি (ক) 16 এফ) সহ আপডেট করার সময়।
  • স্ন্যাপশটগুলির সাথে অ্যান্ড্রয়েড কিউ সিস্টেমের চিত্রগুলিতে একটি ডিসপ্লে ইস্যু স্থির করে যেখানে বিজ্ঞপ্তি শেডের জ্যামিতিটি একটি অনুপযুক্ত উদাহরণ বিভাজক সেটিং সহ রেন্ডার করা হয়েছিল।
  • কিউটি-র সংকেত হারাতে বা স্টার্টআপে ফ্লেকি, অসামঞ্জস্যপূর্ণ রাজ্যগুলির কারণে ঘটেছিল এমন লঞ্চের সময় কয়েকটি হার্ড-টু-প্রপ্রড ক্র্যাশ এবং হিমশীতল সমস্যাগুলি স্থির করে।
  • অসংখ্য সম্মতি সংক্রান্ত সমস্যা স্থির করে। আমরা এখন থ্রেডস্যানিটাইজার (টিএসএএন) দিয়ে লিনাক্স এমুলেটর তৈরি করতে সক্ষম হয়েছি, যা সহজেই এমন বাগগুলি উদঘাটন করতে পারে যা অন্যথায় পুনরুত্পাদন করা কঠিন।
  • লিনাক্স ব্যবহারকারীদের জন্য: আমরা খুঁজে পেয়েছি যে নির্দিষ্ট হোস্ট কার্নেলগুলিতে অতিথি অ্যান্ড্রয়েড কার্নেল জেনেরিক হার্ডওয়্যার ত্রুটি সহ কেভিএম -এ ত্রুটি থেকে বেরিয়ে আসতে পারে। ডিবাগিবিলিটি বাড়ানোর জন্য যখন এটি ঘটে তখন এমুলেটরটি এখন abort() যাবে (পূর্বে, এমুলেটরটি কেবল ঝুলছে)।
  • লিনাক্স ব্যবহারকারীদের জন্য: সিআই সেটআপগুলির সুবিধার জন্য, আপনি stdout এবং stderr উভয়কে একটি ফাইলের পুনর্নির্দেশ করতে নতুন -stdouterr-file <file-name> কমান্ড লাইন বিকল্পটি ব্যবহার করতে পারেন।
  • এমন একটি সমস্যা স্থির করা হয়েছে যেখানে SO_REUSEADDR ভুলভাবে ব্যবহৃত হয়েছিল। আরও তথ্যের জন্য, প্রতিশ্রুতিবদ্ধ বিশদ দেখুন।
  • উইন্ডোজ এমুলেটরের সাথে একটি দীর্ঘস্থায়ী সমস্যা স্থির করেছে যেখানে এডিবি কমান্ডগুলির মতো উপ-প্রক্রিয়াগুলি ব্যবহারকারীর নামটিতে ফাঁকা স্থান থাকলে শুরু করতে ব্যর্থ হয়েছিল।
  • HAXM ভিসিপিইউ থ্রেডগুলিতে আরসিইউর সূচনা অনুপস্থিতির সাথে একটি সমস্যা স্থির করেছে। এই ফিক্সটি সম্ভবত কিছু ক্র্যাশ এবং রেসের অবস্থার সমাধান করতে পারে।
  • সাম্প্রতিক অ্যান্ড্রয়েড কিউ সিস্টেমের চিত্রগুলি ব্যবহার করে স্ন্যাপশট ইউআই থেকে স্ন্যাপশটগুলি সংরক্ষণ এবং লোড করার নির্দিষ্ট নিদর্শনগুলির সাথে ঘটেছিল এমন একটি ক্র্যাশ স্থির করেছে।
  • এমন একটি সমস্যা স্থির করা হয়েছে যেখানে ভার্চুয়াল দৃশ্যের ক্যামেরাটি ফাঁকা থাকবে যখন এমুলেটরটি স্ন্যাপশট থেকে আরম্ভ করা হয়েছিল যখন কোনও এআর ম্যাক্রো যখন সেই স্ন্যাপশটটি সংরক্ষণ করা হয়েছিল তখন খেলছিল।
  • লিনাক্সে এমুলেটরটি চালু করার সময় রিমোট ডেস্কটপ সেটআপ সহ কিছু ব্যবহারকারী একটি কালো স্ক্রিন পেয়েছিল এমন একটি সমস্যা স্থির করে। এটি এড়াতে, এমুলেটরটি এখন স্পষ্টভাবে MESA_RGB_VISUAL কনফিগার করে। আরও তথ্যের জন্য, প্রতিশ্রুতিবদ্ধ বিশদ দেখুন।
  • একটি সমস্যা স্থির করে যেখানে ঘোরানো বোতামগুলি টিভি এভিডিএসে প্রদর্শিত হবে।
  • এমন একটি সমস্যা স্থির করে যেখানে এমুলেটর সর্বদা শীর্ষে সেট করা থাকে তবে প্রতিবার এমুলেটরটি ঘোরার সময় বর্ধিত নিয়ন্ত্রণগুলি উইন্ডোটি উপস্থিত হয়েছিল।

ভাঁজযোগ্য ডিভাইসের জন্য হার্ডওয়্যার প্রোফাইল

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

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

  • 7.3 "ভাঁজযোগ্য: 1536x2152 উদ্ঘাটন, 4.6" 840x1960 ভাঁজ
  • 8 "ভাঁজযোগ্য: 2200x2480 উদ্ঘাটন, 6.6" 1480x2480 ভাঁজ

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

  • ভাঁজ: Ctrl + F ( Command + F ম্যাকোসে)
  • উদ্ঘাটন: Ctrl + U ( Command + U )

এআর ম্যাক্রোস

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

আরও তথ্যের জন্য, ম্যাক্রোগুলির সাথে সাধারণ এআর ক্রিয়াগুলি পরীক্ষা করুন

ভলকান সমর্থন (উইন্ডোজ, লিনাক্স)

উইন্ডোজ এবং লিনাক্স ব্যবহারকারীরা এখন একটি সামঞ্জস্যপূর্ণ সিস্টেম চিত্র (অ্যান্ড্রয়েড কিউ বিটা 3 বা উচ্চতর ভলকান 1.1 এর জন্য অ্যান্ড্রয়েড কিউ বিটা 3 বা তার বেশি, ভলকান 1.0 এর জন্য অ্যান্ড্রয়েড কিউ বিটা 2) এবং একটি সামঞ্জস্যপূর্ণ হোস্ট জিপিইউ (এর মধ্যে অন্তর্ভুক্ত (এর মধ্যে রয়েছে 2014 এবং পরে থেকে বেশিরভাগ ইন্টেল, এনভিডিয়া এবং এএমডি জিপিইউ)।

ভলকান সমর্থন সক্ষম করতে, আপনাকে অবশ্যই আপনার ~/.android/advancedFeatures.ini

  • Vulkan = on
  • GLDirectMem = on

রোম বিকাশকারীদের জন্য প্রাথমিক সমর্থন

এওএসপি master শাখায় sdk_phone_x86 বা sdk_phone_x86_64 ( userdebug , eng ভেরিয়েন্টস) লক্ষ্যগুলি তৈরি করা রম বিকাশকারীরা এখন একটি ভলকান-সক্ষম এমুলেটর চালাতে পারেন।

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

আপনি যদি লিনাক্স ব্যবহার করছেন তবে আপনি নিম্নলিখিত কমান্ডগুলি ব্যবহার করে এটি চেষ্টা করতে পারেন:

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

ভলকানের সাথে স্কিয়া রেন্ডারিং

এনভিআইডিআইএ এবং এএমডি জিপিইউগুলি যা ভলকানকে সমর্থন করে GL_EXT_memory_objects এক্সটেনশনের মাধ্যমে ওপেনজিএল এর সাথে শূন্য-অনুলিপি ইন্টারপকে সমর্থন করে। এমুলেটর স্কিয়া ভলকান এপিআইএস ব্যবহার করে অ্যান্ড্রয়েড ইউআই রেন্ডার করার একটি সম্পূর্ণ উপায় সরবরাহ করার জন্য এই সক্ষমতাটি উপার্জন করে।

আপনার যদি এনভিডিয়া বা এএমডি জিপিইউ থাকে যা ভলকানকে সমর্থন করে, তবে একটি সামঞ্জস্যপূর্ণ সিস্টেম চিত্র (অ্যান্ড্রয়েড কিউ বিটা 3 এবং উচ্চতর) দিয়ে স্কিয়া রেন্ডারিং পরীক্ষা করতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন:

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

ভলকানের জন্য ম্যাকোস সমর্থন

ম্যাকোস সমর্থন এখনও পরীক্ষামূলক, তবে এমুলেটরটিতে ইতিমধ্যে সুইফটশ্যাডার , মল্টেনভকে এবং লিবপোর্টেবলি ( জিএফএক্স-আরএস ) এপিআই অন্তর্ভুক্ত রয়েছে। আপনি নিম্নলিখিত পরিবেশের ভেরিয়েবলগুলি সেট করে এই এপিআইগুলির সাথে পরীক্ষা করতে পারেন:

  • সুইফটশ্যাডার: ANDROID_EMU_VK_ICD=swiftshader
  • মল্টেনভকে: ANDROID_EMU_VK_ICD=moltenvk
  • libportability: ANDROID_EMU_VK_ICD=portability

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

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

জিআরপিসি স্ট্রিমিং এমুলেটর (লিনাক্স)

আমরা সর্বদা চলমান প্রসঙ্গে বিস্তৃত পরিসরে হোস্ট জিপিইউ রেন্ডারিং এবং ইন্টারঅ্যাক্টিভিটি অনুমতি দিয়ে এমুলেটরটিকে যথাসম্ভব বহুমুখী করার চেষ্টা করছি। আমাদের সিআই এবং রিমোট ডেস্কটপ ব্যবহারকারীদের নিম্নলিখিত দীর্ঘস্থায়ী সমস্যা রয়েছে:

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

এটি সমাধান করার জন্য, লিনাক্স মেশিনে চলার সময়, এমুলেটরটি এখন একটি জিআরপিসি পরিষেবা সরবরাহ করে। জিআরপিসি হ'ল আরপিসির জন্য একটি সাধারণ কাঠামো যা এইচটিটিপি -তে কাজ করে।

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

-grpc <port>

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

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

উপলব্ধ যে কমান্ডগুলির সম্পূর্ণ তালিকার জন্য, এই প্রোটোবুফ দেখুন।

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

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

  • একটি গো-ভিত্তিক পরিষেবা যা এমুলেটর রাজ্যগুলিকে জিজ্ঞাসা করতে ব্যবহার করা যেতে পারে।
  • একটি প্রতিক্রিয়া অ্যাপ্লিকেশন যা স্ক্রিনশট এবং ইনপুট আরপিসিগুলির মাধ্যমে দূরবর্তী ইন্টারেক্টিভিটি প্রদর্শন করে। এই নমুনায় প্রোটোবিএফ সংস্করণ 3.7.0 বা তার বেশি প্রয়োজন।
  • একটি পাইথন নমুনা যা এমুলেটরের ভিএম কনফিগারেশনকে প্রশ্নবিদ্ধ করে এবং তারপরে কমান্ডের একটি সিরিজ প্রেরণ করে।

28.0.25 (মার্চ 29, 2019)

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

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

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

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

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

  • অ্যান্ড্রয়েড কিউ সিস্টেম চিত্রগুলি চালানোর সময় ইন্টেল জিপিইউগুলিতে স্থির টুইচিং এবং ভুল ফ্রেম প্রদর্শন।
  • পিক্সেল 2 এক্সএল স্কিনগুলির সাথে অ্যান্ড্রয়েড কিউ সিস্টেম চিত্রগুলি ব্যবহার করার সময় ব্ল্যাক স্ক্রিন প্রদর্শিত হবে এমন স্থির বিষয়গুলি।
  • সর্বশেষতম বায়োস বাইনারিগুলি এখন এমুলেটরটি শুরু করতে ব্যবহৃত হয়। এই পরিবর্তনটি উইন্ডোজে এমুলেটর চালু করার সময় কখনও কখনও ঘটে যাওয়া "ভিসিপিইউ শাটডাউন অনুরোধ" ত্রুটিগুলি হ্রাস করতে সহায়তা করতে পারে।
  • "স্ন্যাপশট থেকে অ্যান্ড্রয়েড কিউ সিস্টেম চিত্রগুলি পুনরায় শুরু করার সময় ভুল ডিসপ্লেটির জন্য একটি ফিক্স ব্যাকপোর্ট করেছে" ইস্যু
  • প্ল্যাটফর্ম-সরঞ্জামগুলিতে এডিবিতে বেমানান পরিবর্তনের কারণে ব্যবহারকারীরা "অননুমোদিত" এমুলেটর ইস্যুগুলি ভোগ করছেন। আপনি এখন এমুলেটর সহ প্ল্যাটফর্ম-সরঞ্জাম 28.0.2 থেকে নিরাপদে এডিবি ব্যবহার করতে পারেন। আপনি যদি "অননুমোদিত" এমুলেটরগুলির সাথে সমস্যাগুলি অনুভব করছেন তবে নিম্নলিখিত সমস্যা সমাধানের পদক্ষেপগুলি করুন:
    1. সমস্ত এমুলেটর থেকে প্রস্থান করুন।
    2. ~/.android/adbkey.pub ~/.android/adbkey
    3. নিম্নলিখিত কমান্ডটি চালান: adb kill-server
    4. নিম্নলিখিত কমান্ডটি চালান: adb devices
    5. এভিডি ডেটা মুছুন।
    6. এমুলেটর পুনরায় চালু করুন।

28.0.23 (জানুয়ারী 29, 2019)

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

হোস্ট অডিও ইনপুট ডিফল্টরূপে অক্ষম

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

এটি সম্বোধন করার জন্য, আমরা নিম্নলিখিত পরিবর্তনগুলি করেছি:

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

সিপিইউ ব্যবহারের তদন্তে আপডেট

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

আইডলে: প্লে স্টোর ইমেজগুলিতে স্বয়ংক্রিয় অ্যাপ্লিকেশন আপডেটগুলি

আমরা দেখতে পেলাম যে এলোমেলো বিরতিতে, সমস্ত অ্যাপ্লিকেশন ইনস্টল করা আপডেট হয়, এমনকি ব্যবহারকারী লগ ইন না করা হলেও। প্রক্রিয়া চলাকালীন, সিপিইউ ব্যবহার জিএমএসকোর এবং ডেক্স 2 এওটি -তে x 100% (সাধারণত ~ 400%) কোরের সংখ্যায় চালিত হয়। প্লে স্টোর অ্যাপে অটো অ্যাপ্লিকেশন আপডেটগুলি অক্ষম করে আপনি এই সমস্যাটি প্রশমিত করতে পারেন।

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

যখন হোম স্ক্রিনে এবং কোনও অ্যাপ্লিকেশন পূর্বনির্ধারিত ছাড়াই, সিপিইউ ব্যবহারের একটি দুর্দান্ত চুক্তি হতে পারে (স্পাইক সহ 50% ~ 25%)। এটি হটওয়ার্ড সনাক্তকরণের কারণে ঘটে যা ক্রমাগত হোস্টকে পিংস করে। আপনি হোস্ট অডিও ইনপুট অক্ষম করে এই সমস্যাটি প্রশমিত করতে পারবেন না কারণ সিপিইউ ব্যয়টি মূলত হোস্টের কাছ থেকে অতিথির কাছে ভ্রমণ করতে লাগে এমন সময় দ্বারা ঘটে। তবে আপনি গুগল অ্যাপ্লিকেশন থেকে মাইক্রোফোন অনুমতি প্রত্যাহার করে এই সমস্যাটি প্রশমিত করতে পারেন।

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

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

28.0.22 (ডিসেম্বর 21, 2018)

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

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

28.0.20 (ডিসেম্বর 11, 2018)

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

  • উইন্ডোজগুলিতে এমন একটি সমস্যা স্থির করে যা এমুলেটরটিকে ইন্টেল জিপিইউগুলির নির্দিষ্ট মডেলগুলির সাথে স্ন্যাপশট লোডে হিমায়িত করে তোলে।
  • অ-মানক ANDROID_SDK_HOME অবস্থান ব্যবহার করার সময় একটি unauthorized এডিবি ডিভাইস স্টেট তৈরি করে এমন একটি সমস্যা স্থির করে।
  • উইন্ডোজগুলিতে এমন একটি সমস্যা স্থির করে যা সিপিইউ ত্বরণ অক্ষম করে সিস্টেমের চিত্রগুলি বুট করার সময় এমুলেটরটি ক্র্যাশ করে তোলে।
  • পিক্সেলেটেড এমুলেটর ডিসপ্লে ইস্যু স্থির করে। ডাউনস্যাম্পলিং এখন কাজ করা উচিত।
  • ম্যাকোস 10.14+ এ একটি সমস্যা স্থির করেছে যেখানে ভার্চুয়াল দৃশ্যের ক্যামেরা মাউসলুক নিয়ন্ত্রণটি নতুন অ্যাক্সেসিবিলিটি সুরক্ষা সেটিংসের সাথে মিথস্ক্রিয়তার কারণে খুব সংবেদনশীল হয়ে উঠতে পারে।
  • টাইমজোন গণনায় একটি ত্রুটি স্থির করে যা এমুলেটর ঘড়িটি বিক্ষিপ্তভাবে পরিবর্তিত হতে পারে।
  • বিভিন্ন COCOS2D এবং অবাস্তব ইঞ্জিন অ্যাপ্লিকেশনগুলিতে স্থির রেন্ডারিং ত্রুটি।
  • ওয়াই-ফাই পিয়ার-টু-পিয়ারের জন্য এমুলেটরটিতে সমর্থন যুক্ত করা হয়েছে। দুটি এমুলেটর এখন সর্বশেষ পাই প্লে স্টোরের চিত্রটি ব্যবহার করে যদি ওয়াই-ফাইয়ের মাধ্যমে সরাসরি একে অপরের সাথে কথা বলতে পারে। ওয়াই-ফাই পিয়ার-টু-পিয়ার ব্যবহার করতে, একই -wifi-server-port এবং -wifi-client-port আর্গুমেন্টগুলির সাথে দুটি এভিডি শুরু করুন:
    • emulator @<server-avd-name> -wifi-server-port 9999
    • emulator @<client-avd-name>-wifi-client-port 9999
  • কোনও বেমানান ফ্রেমের আকার গ্রহণ করে এবং অ্যান্ড্রয়েড অতিথিতে ক্যামেরা সেটিংটি ফিট করার জন্য গতিশীলভাবে তাদের পুনরায় আকার দেওয়ার মাধ্যমে উইন্ডোজে আরও ওয়েবক্যামের জন্য সমর্থন যুক্ত করা হয়েছে।

28.0.16 (নভেম্বর 2018)

এই আপডেটে বেশ কয়েকটি নতুন বৈশিষ্ট্য, বিদ্যমান বৈশিষ্ট্যগুলির উন্নতি এবং বাগ ফিক্স অন্তর্ভুক্ত রয়েছে।

সম্পদ ব্যবহার

এমুলেটরটি এখন সামগ্রিকভাবে কম র‌্যাম ব্যবহার করে, বিশেষত এপিআই স্তর 28 বা তার বেশি সহ সিস্টেম চিত্রগুলি ব্যবহার করার সময়। এই সিস্টেমের চিত্রগুলিতে অতিথি-সাইড গ্রাফিক্স ড্রাইভারগুলির জন্য উন্নত মেমরির ব্যবহার অন্তর্ভুক্ত রয়েছে।

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

  • দীর্ঘকাল চলমান পরীক্ষার সময় এমুলেটর মেমরির ব্যবহার হ্রাস করা। আপনি যদি এখনও দীর্ঘ-চলমান পরীক্ষার সময় মেমরির ব্যবহারের সাথে সমস্যাগুলি অনুভব করেন তবে দয়া করে এমন একটি সমস্যা তৈরি করুন যা ইস্যু ট্র্যাকারে আপনার ব্যবহারের ক্ষেত্রে বর্ণনা করে।
  • অ্যানিমেশন সহ অ্যাপ্লিকেশনগুলি চালানোর সময় সিপিইউ ব্যবহার হ্রাস করা।
  • এমন একটি সমস্যা স্থির করেছে যেখানে কেমু এআইও প্রসঙ্গটি উইন্ডোতে ফাঁস হতে পারে।

একযোগে একক এভিডির একাধিক উদাহরণ চালান

আপনি এখন একই এভিডির একাধিক উদাহরণ চালু করতে পারেন এবং সেগুলি একই সাথে চালাতে পারেন। আপনি প্রথম উদাহরণের পরে চালু করা উদাহরণগুলি কেবল পঠনযোগ্য এবং অতিথি ভার্চুয়াল ডিস্কে তাদের পরিবর্তনগুলি প্রস্থান করার সময় বাতিল করা হয়।

একই সময়ে একই এভিডির একাধিক উদাহরণ চালানোর জন্য, কমান্ড লাইন থেকে -read-only পতাকাটি ব্যবহার করে প্রথম উদাহরণের পরে কোনও দৃষ্টান্ত চালু করুন।

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

তদতিরিক্ত, যখন ফাইল-সমর্থিত অতিথি র‌্যাম স্ন্যাপশট বৈশিষ্ট্যের সাথে টেন্ডেমে ব্যবহার করা হয়, একাধিক এভিডি দৃষ্টান্তগুলি অনুলিপি অন-রাইট অতিথি র‌্যামের একটি সাধারণ উত্স হিসাবে প্রাথমিক এভিডি কুইকবুট স্ন্যাপশটটি ভাগ করে দেয়। এই সম্পত্তিটির অর্থ হ'ল উদাহরণগুলি তাদের র‌্যামের বেশিরভাগ অংশ সাধারণভাবে ভাগ করে দেয়। সমান্তরালভাবে চালানোর জন্য একাধিক ডিভাইস প্রয়োজন এমন পরীক্ষাগুলি চালানোর জন্য এই বৈশিষ্ট্যটি ব্যবহার করুন।

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

ফাইল-সমর্থিত অতিথি র‌্যাম স্ন্যাপশট

একটি ফাইল হিসাবে অতিথি র‌্যামকে প্রাক-বরাদ্দ এবং ম্যাপিংয়ের মাধ্যমে, এমুলেটর এখন প্রস্থান করার সমস্ত কাজ না করে রানটাইমের সময় কুইকবুট স্ন্যাপশটগুলি সংরক্ষণ করতে পারে। আপনি যদি বর্তমানে আপনার এমুলেটরগুলি বন্ধ করার সময় দীর্ঘ সংরক্ষণের সময়গুলি অনুভব করেন তবে আপনার কুইকবুটের কার্যকারিতা উন্নত করতে এই বৈশিষ্ট্যটি সক্ষম করুন। ডিফল্টরূপে, একটি কুইকবুট স্ন্যাপশট প্রস্থান করার সময় সংরক্ষণ করা হয় এবং প্রতিবার আবার লোড করা হয়, যেমন একটি বাস্তব ডিভাইস স্থগিত করা এবং জাগ্রত করা।

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

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

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

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

QuickbootFileBacked = off

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

QEMU 2.12

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

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

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

অ্যাক্সেসযোগ্যতা

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

গ্রাফিক্স

  • ওপেনজিএল ইএস ভার্টেক্স অ্যারে পয়েন্টারগুলির জন্য ঘটতে পারে এমন একটি বাউন্ডের মেমরি অ্যাক্সেস ইস্যু স্থির করে।
  • কিছু পুরানো জিপিইউ ওপেনজিএল 2.1 বা তার বেশি (যা প্রয়োজনীয়) সমর্থন করে না, বা অন্যান্য নির্ভরযোগ্যতার সমস্যা ছিল। এই সমস্যাগুলি এমুলেটরটিকে শুরুতে ক্র্যাশ করতে পারে, হিমশীতল বা ডিফল্ট জিপিইউ সেটিংয়ে অযোগ্য হতে পারে। এমুলেটরটি এখন স্বয়ংক্রিয়ভাবে সুইফটশ্যাডার রেন্ডারারে স্যুইচ করে যদি এটি সনাক্ত করে যে এই জিপিইউগুলি ব্যবহৃত হচ্ছে।
  • এমন একটি সমস্যা স্থির করে যা এমুলেটরটি FBO != 0 eglSwapBuffers সময় আবদ্ধ ছিল সঠিক ফ্রেমবফার পোস্ট না করে।
  • স্থির সমস্যা যেখানে ভার্চুয়াল অ্যান্ড্রয়েড ডিসপ্লে কেবল উপরের বাম কোণে প্রদর্শিত হবে। আমরা বিশ্বাস করি এটি ভুল কনফিগার করা কিউটি পরিবেশের ভেরিয়েবলের কারণে হয়েছিল। এমুলেটরটি এখন সমস্ত কিউটি স্কেলিং-সম্পর্কিত পরিবেশের ভেরিয়েবলকে ওভাররাইড করে।
  • একটি সমস্যা স্থির করে যেখানে একটি স্ন্যাপশট থেকে GLES1 অ্যাপ্লিকেশনগুলি লোড করার সময় এমুলেটর কিছু পরিস্থিতিতে ক্র্যাশ হয়েছিল।
  • ওপেনজিএল এবং চালু করার ক্ষেত্রে স্থির সম্মতি সংক্রান্ত সমস্যাগুলি রেন্ডার থ্রেডগুলির ফলে ডাবল ফ্রি বা দূষিত ডেটা হতে পারে।
  • অ্যান্ড্রয়েড এমুলেটর এখন এএসটিসি এলডিআর সংকুচিত টেক্সচার সমর্থন ( GL_KHR_texture_compression_astc_ldr ) সমর্থন করে এমন সিস্টেম চিত্রগুলির জন্য যা এপিআই স্তর 28 বা ততোধিক ব্যবহার করে।
  • বেশিরভাগ আধুনিক জিপিইউগুলি এখন GLESDynamicVersion বৈশিষ্ট্য পতাকা ব্যবহার না করে ডিফল্টরূপে ওপেনজিএল ইএস 3.x সক্ষম করে এমুলেটরটি চালু করতে সক্ষম হওয়া উচিত।
  • -gpu guest (অতিথিতে সফ্টওয়্যার রেন্ডারিং) অবহেলা করা হয়েছে। এপিআই স্তর 28 বা তার বেশি জন্য সিস্টেম চিত্রগুলি এখন পরিবর্তে সুইফটশ্যাডার ( -gpu swiftshader_indirect ) ব্যবহার করে স্বয়ংক্রিয়ভাবে স্যুইচ করুন।
  • যদি -no-window পতাকা ব্যবহার করে কমান্ড লাইন থেকে এমুলেটরটি চালু করা হয় তবে ডিফল্ট রেন্ডারারটি এখন সুইফটশ্যাডার।

অবস্থান

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

ক্যামেরা

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

প্লে স্টোর

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

সাধারণ মানের উন্নতি এবং সংশোধন

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

HAXM 7.3.2

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

এইচএএক্সএমের এই সংস্করণটি সমাধান করা বেশ কয়েকটি বিষয় এখানে রয়েছে:

  • সাম্প্রতিক লিনাক্স কার্নেল (> = 4.6) ব্যবহার করে এমন অতিথির ওএসএসের স্থির এলোমেলো ক্র্যাশ। উদাহরণস্বরূপ, উবুন্টু 18.04 ( #39 , #74 )।
  • একটি x86 নির্দেশিকা এমুলেটর বাগ স্থির করে যা হোস্ট ক্র্যাশ ( #93 ) এর দিকে নিয়ে যেতে পারে।

32-বিট উইন্ডোজ অবমূল্যায়ন

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

আপনি যদি বর্তমানে উইন্ডোজে চলমান অ্যান্ড্রয়েড এমুলেটরের 32-বিট সংস্করণে নির্ভর করেন এবং কীভাবে আমরা আপনার সাথে এগিয়ে যাওয়ার সাথে সেরা কাজ করতে পারি তা আমাদের জানান।

27.3.10 (আগস্ট 2018)

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

র‌্যাম আকার কনফিগারেশন ফিক্স

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

এটি প্রশমিত করতে, এমুলেটরটি চিত্রগুলির জন্য ন্যূনতম র‌্যাম স্তর বাড়িয়ে তোলে যা এপিআই স্তর 26 বা তার বেশি ব্যবহার করে অ্যান্ড্রয়েড স্টুডিও ডিফল্ট স্তরের 1536 এমবি ব্যবহার করে। যদি আপনার এভিডির config.ini ফাইলটি মেগাবাইটে hw.ramSize তালিকাভুক্ত না করে থাকে তবে দয়া করে ইস্যু ট্র্যাকারে একটি সমস্যা তৈরি করুন। আপনি নিম্নলিখিত স্থানে config.ini ফাইলটি খুঁজে পেতে পারেন:

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

27.3.9 (জুলাই 2018)

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

উইন্ডোজ হাইপারভাইজার প্ল্যাটফর্মের জন্য উন্নত ত্রুটি বার্তাগুলি

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

সাধারণ সংশোধন

  • Fixed OpenGL errors that occur when loading a snapshot in the camera app.

27.3.8 (July 2018)

This update includes several new features, improvements to existing features, and bug fixes.

স্ন্যাপশট

You can now save multiple AVD snapshots for a given device configuration and choose which of the saved snapshots to load when you start the emulator.

Starting with Android Studio 3.2 Canary 13, each device configuration includes a control in the advanced settings in the Virtual Device Configuration dialog with which you can you can specify which AVD snapshot to load when starting the AVD.

To accommodate this expansion of the snapshot features, we have added a Snapshots category to the Extended controls dialog. This new pane contains controls for saving and loading AVD snapshots, including the controls for saving and loading the quick-boot snapshot that had previously been in the Settings pane.

You can edit the name and description of each saved snapshot.

For details, see Snapshots .

HAXM 7.2.0

HAXM 7.2.0 is now available in all channels.

This update includes bug fixes and improved support for large amounts of RAM. Also, with this HAXM update and Emulator 27.3 and later, snapshots load their contents into RAM on demand rather than loading the entire snapshot when the virtual device starts. This change should greatly decrease the time needed to load a snapshot.

For details, see Configuring VM acceleration .

27.2.9 (May 2018)

This update includes several new features, improvements to existing features, and bug fixes.

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

You can now record video and audio from the Android Emulator and save the recording to a WebM or animated GIF file.

The screen recording controls are in the Screen record tab of the Extended Controls window.

Tip: You can also open the screen recording controls by pressing Control + Shift + R (Command + Shift + R on Mac).

To begin screen recording, click the Start recording button in the Screen record tab. To stop recording, click Stop recording .

Controls for playing and saving the recorded video are at the bottom of the Screen record tab. To save the video, choose WebM or GIF from the menu at the bottom of the tab and click Save .

You can also record and save a screen recording from the emulator using the following command on the command line:

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

স্ক্রিনশট

You can take screenshots from the command line with either of the following commands:

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

Screenshots are saved in PNG format.

Virtual scene camera and ARCore

Developing and testing augmented reality apps (AR) with ARCore is now even easier with the new virtual scene camera, which allows you to experiment with your AR experience within a virtual environment.

For information on using the virtual scene camera in the emulator, see Run AR apps in Android Emulator .

Google Play Store on Pixel device images

The Google Play Store is now enabled for Pixel and Pixel 2 device images. This is indicated in the AVD Manager in Android Studio 3.2 and later with the Google Play logo in the Play Store column. AVDs with Google Play Store enabled have a Google Play tab in the Extended controls dialog that provides a convenient button for updating Google Play services on the device.

স্ন্যাপশট

You can now load a Quick Boot snapshot without restarting the emulator. To load a snapshot, open the Extended Controls window to the Settings page and click the Load Now button.

We have made many improvements to the loading and saving of snapshots to improve efficiency of resource usage and to minimize the time that each operation takes. If you still experience unusually long saves, please file an issue , providing details of your CPU, RAM, and settings of any antivirus / firewall / security software that is running.

Rendering with Skia

When using images for API 27 or later, the emulator can render the Android UI with Skia , which can render more smoothly and efficiently.

For now, use of Skia requires that you explicitly enable it.

To enable Skia rendering, use the following commands in adb shell:

  su
  setprop debug.hwui.renderer skiagl
  stop
  start

ক্যামেরা

On Windows, Android Emulator now uses Media Foundation as the webcam back end, which greatly improves performance and frame rate for webcam capture, up to 720p 30 FPS.

On Mac, you can now use webcam0 and webcam1 together.

বিবিধ

The -phone-number-prefix command-line option has been changed to -phone-number [number] , which allows setting of the full phone number.

You can now use alphanumeric SMS addresses.

সংশোধন করে

  • The Linux version of the Android Emulator is now built using a modern Clang C++ toolchain. This change fixes the issue of the emulator failing to start due to libGL and libstdc++ errors.
  • Fixed several causes of crashes and hangs.
  • To avoid crashes and hangs caused by not having enough free disk space, the emulator now checks for sufficient free disk space on startup, and will not start unless at least 2 GB is free.
  • Fixed an issue that prevented some Unity games from rendering.
  • Fixed DNS issue that caused the emulator to be unable to connect to the network.
  • Fixed an issue that caused changes to the internal storage allocated to an AVD through the Virtual Device Configuration dialog to not work.
  • Fixed an issue of many adb processes being created and not properly shut down.
  • Fixed an issue that caused the rotate buttons and other parts of the UI to become unresponsive unless the Extended controls window was open.
  • Fixed an issue that caused copy and paste from the host to not work unless the Extended controls dialog was opened at least once.
  • The frameless emulator's resize rectangle has been updated to better follow the emulator's visual theme.
  • Telephone and SMS are now properly deactivated when airplane mode is on.
  • Fixed an issue that caused SMS and cellular functionality to be disabled after loading a snapshot.
  • You will no longer receive false warning messages saying “Unable to open... \pstore.bin. Permission denied.”
  • Fixed an issue that prevented re-positioning the AVD on some Mac screens.
  • Fixed issues with flickering and blank screens on newer MacBook Pro computers when running AVDs with Pixel 2 XL skins.
  • Fixed issues with blank screens when switching into zoomed mode while a frameless emulator was active.
  • Fixed an issue that caused the device skin and emulator contents to scroll out of sync when zoomed in.

If you are still experiencing hangs or other instabilities, please file an issue .

27.1.12 (March 2018)

This update includes fixes for the following issues:

  • Bluetooth audio quality degraded after starting the emulator. ( Issue 37095756 )
  • Locations sent to one emulator were sent to all of them. ( Issue 73450633 )
  • GPS location set using the console was overridden by values set using Extended Controls > Location in the graphical user interface. ( Issue 73471760 )

If you are still experiencing hangs or other instabilities, please file an issue .

With this update, a current system image, and a preview version of Android Studio, you can use Android Emulator to run augmented reality applications built with ARCore. For detailed requirements and instructions, see Run AR apps in Android Emulator .

27.1.10 (February 2018)

  • Camera capture resolution

    720p frames can now be captured from an attached webcam.

    To work with Android 8.1 (API level 27) and higher system images, any attached webcam must have the capability to capture 720p frames.

  • সংশোধন করে

    • Fixed an issue that caused webcam capture to sometimes output a distorted or all-green image.
    • Fixed an issue that made it possible to see the following message even when there was no actual hang: "emulator: ERROR: detected a hanging thread 'Qt event loop'. No response for 15000 ms".

If you are still experiencing hangs or other instabilities, please file an issue .

27.1.7 (February 2018)

  • Frameless emulator window:

    By default, emulators with device skin files are now shown without a surrounding window frame. To show the surrounding window frame, enable Show window frame around device in the Settings pane of the Extended Controls window.

  • Quick Boot improvements to make working with AVD snapshots more efficient:

    • You can save an AVD snapshot at any time using the Save Now button in the Settings pane of the Extended Controls dialog box.
    • The emulator reduces the time that it takes to save a snapshot in many cases by saving only the difference between the current state and the previously saved snapshot.

    For details, see the Quick Boot documentation.

  • The emulator has been updated to use QEMU 2.9.

    Some notable improvements include the following:

    • Optimized I/O and finer-grained I/O thread locking for greater performance.
    • Fixed bugs since QEMU 2.8 (26.1.4).
    • New implementation of the HAXM back end.

    See the full list of changes in the QEMU 2.9 change log .

  • Swiftshader implementation conforming to OpenGL ES 3.0:

    The emulator's Swiftshader renderer now conforms fully with OpenGL ES 3.0. For details of the Swiftshader renderer, see the Settings > Advanced section of Extended Controls .

  • সংশোধন করে

    • Fixed an issue where clipboard sharing was not working unless the Enable clipboard sharing option was toggled off and on.
    • Fixed a hang when using the Swiftshader rendering back end with low-resolution AVDs.

27.0.5 (January 2018)

  • ANGLE for rendering on Windows is now disabled by default.

    If ANGLE works better for you, you can re-enable it with command line flag -gpu angle_indirect . Or, open the Extended controls window, navigate to Settings > Advanced , and select ANGLE D3D11 for the OpenGL ES renderer setting.

  • Fixed an issue where Shift+B does not type a capital B character.

27.0.2 (December 2017)

  • New Quick Boot feature provides faster emulator start times, based on a snapshot of your AVD instance.

    Quick Boot is enabled by default for all AVDs. Although the first time you start an AVD it must perform a cold boot (just like powering on a device), all subsequent starts are fast and the system is restored to the state at which you closed the emulator (similar to waking a device).

    If you want to control when the emulator saves a snapshot, open the emulator's Extended controls window and click Settings . Here, you can select one of the following settings for Save quick boot state on exit :

    • Yes : Always save quick boot snapshot when you close the emulator. এটি ডিফল্ট।
    • No : Never save quick boot snapshot; always perform a cold boot.
    • Ask : Prompt whether or not to save quick boot snapshot when you close the emulator.

    Your selection applies only to the currently open AVD.

    For more information, see the Quick Boot documentation .

  • Added support for Mac OpenGL ES 3 (for system images using API level 24 and higher, Google APIs, and the x86 ABI).

  • For added stability in OpenGL ES 2+ apps, emulator now uses OpenGL core profile if available.

  • New options for rendering with Swiftshader / ANGLE:

    • -gpu swiftshader_indirect : Faster, more stable variant of Swiftshader that works with Quick Boot.
    • -gpu angle_indirect (Windows only): More stable variant of ANGLE D3D that also works with Quick Boot.

    The older -gpu swiftshader and -gpu angle options are now deprecated. In the Extended controls window, the "SwiftShader" and "ANGLE" options for the OpenGL ES renderer setting in Settings > Advanced now use the *_indirect variants.

  • অন্যান্য বিভিন্ন বাগ ফিক্স।

26.1.4 (August 2017)

This is a minor release with bug fixes and the following improvements to GPU configuration:

  • Enable boot animation when running on ANGLE renderer
  • Disable GLES3 when running on ANGLE renderer

26.1.3 (August 2017)

This is a minor release with bug fixes, performance improvements, and small feature changes.

  • This version is now required to use the latest Android 8.0 system images. They are Treble-compliant , featuring separate vendor.img partitions.
  • New HAXM 6.2.0 now available (check the SDK Manager) and includes the following updates:
    • Improved memory usage. The peak working set of memory pinned by HAXM is no longer equal to the size of the AVD's RAM; instead, memory is paged in on demand. This should help the emulator run more reliably on machines with lower amounts of RAM.
    • The emulator with HAXM 6.2.0 can now boot faster on macOS, skipping a lengthy initialization phase.
  • Improvements to GPU configuration
    • Fixed issues with black screen on boot when performing guest-side software rendering by falling back to host-side software rendering with Swiftshader. Latest revisions of system images for API levels 19 - 25 with Google APIs should have working guest-side rendering.
    • Fixed an issue where the emulator was switched to a software renderer due to detecting the presence of older Intel GPUs, but the emulator was actually running on a discrete GPU. Which GPUs will be switched to use ANGLE or Swiftshader rendering is determined as follows:
      • Older Intel iGPUs have driver issues on both OpenGL and ANGLE D3D drivers. Users with Intel HD Graphics 3xxx and older will use Swiftshader.
      • Some users reported the inability to use API level 25 images because of a bug in which "Pixel Launcher keeps stopping." This seems to be a driver issue in some Intel HD 4xxx models. So they will be switched to use ANGLE automatically.
    • For best results with GPU emulation, we recommend either to use a discrete NVIDIA or AMD GPU, or a newer Intel GPU (Iris, HD 5xxx, HD 5xx/6xx).
    • Fixed an issue where the emulator would fail to start (OpenGL emulation failed to initialize) if the AVD was configured with hw.gpu.mode=host and the emulator was launched in a remote desktop client.
    • Clarified "OpenGL ES API level (requires restart)" settings; added an option to downgrade from OpenGL ES 3 to OpenGL ES 2 if experiencing issues or needing to test on lower OpenGL ES API levels.
    • Mesa renderer is deprecated; hw.gpu.mode=mesa will now be automatically switched to use Swiftshader on the host.
  • Improvements for macOS:
    • The emulator is now fully compatible with macOS 10.13 High Sierra through either Hypervisor.Framework or HAXM 6.2.0.
    • Hypervisor.framework is now enabled by default on macOS for 32-bit x86 images to improve performance and macOS compatibility. If you experience issues with it specifically, please file a bug report and append HVF = off to ~/.android/advancedFeatures.ini (create this file if it doesn't exist).
    • Fixed issues with no internet / failure to attach debugger while using Hypervisor.framework.
    • To enhance compatibility and performance of webcam capture, the QTKit-based camera capture has been replaced with a buffered one based on AVFoundation.
  • Added support for Wi-Fi in some system images (currently only API level 25). An access point called "AndroidWifi" is available and Android automatically connects to it. Wi-Fi support can be disabled by running the emulator with the command line parameter -feature -Wifi .
  • Some users raised the concern that the fixed-size Play Store system images did not have sufficient storage. As such, we've increased the size to 2 GB by default (up from 800 MB).
  • Added a keyboard shortcut (Ctrl+Shift+U) to open the bug reporting UI page directly from the settings page.
  • Fixed an issue where if an older CPU with Intel x86 EPT but without UG was used, the emulator would fail to boot if more than one core was configured.
  • Fixed an issue where HyperV would be improperly detected if the emulator was itself running in a Xen hypervisor.
  • Fixed an issue where the emulator would crash on start in some Linux configurations.

26.1.2 (July 2017)

This release includes new features and performance improvements.

  • Added the ability to define a custom HTTP proxy configuration in the extended controls (click More, and then click Settings and Proxy ). By default, the emulator uses the Android Studio HTTP proxy settings, but this screen allows you to define a manual proxy configuration.

  • Added VNC support for guest mode GPU so emulator can be remotely viewed and controlled. For example, you can launch the emulator and let VNC listen to port 5901 as follows:

    1. Execute: emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1
    2. Open a VNC viewer, such as tightvnc viewer, to connect to port 5901.

      • To use Mac's built-in screen sharing client, a VNC password is required when launching the emulator. To set a password, use this command:

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

        And then enter change vnc password into the console, and enter a password.

    Android O is not currently supported for VNC mode.

  • Added a File a bug button in the extended controls Help screen (Click More, and then click Help and Emulator help ). Clicking File a bug opens a dialog where you can see the bug report details such as the screenshot, the AVD configuration info, and a bug report log. You can then save the report for yourself or report emulator issues .

  • Added gyroscope sensor to emulator and virtual sensors panel. This requires a system image with gyroscope support to work (currently API level 24 and 25).

  • Added host-preferred DNS to Qemu DNS list on Windows, when multiple virtual network interfaces on the host introduce multiple DNS addresses which are not functional for the emulator.

  • Added experimental macOS Hypervisor.Framework support for 32-bit x86 images on macOS 10.10+ through server flags, which should improve boot time and performance.

    • If you experience problems with it, add the line HVF = off in ~/.android/advancedFeatures.ini .
  • OpenGL ES 3.x is now enabled by default for system images and host GPUs that support OpenGL ES 3. Currently, only Android O (API level 26) and Windows/Linux hosts support OpenGL ES 3.

    • If you experience problems with OpenGL ES 3, add the line GLESDynamicVersion = off in ~/.android/advancedFeatures.ini .
  • Emulator now uses offscreen OpenGL FBOs for all rendering except final display image posting, which should help with color consistency issues across platforms.

  • After collecting data on sudden emulator slowdown issues, we have determined that the problem may have to do with some interaction between older Intel OpenGL drivers and Windows updates. As such, users with Intel HD 4000, 3000, 2000 (and related GPUs) now have rendering set by default to either a D3D renderer (ANGLE) or Swiftshader (software renderer).

26.0.0 (March 2017)

This release is compatible with API level 26. It also includes a number of performance improvements and bug fixes.

Minor revision 26.0.3 (May 2017)

  • Adds online-updateable feature flags for quickly addressing issues stemming from problematic hardware configurations. This allows Google to roll out fixes and features that are dependent on user configurations by updating server-side flags. If you notice issues with specific hardware, please report a bug so we can investigate the problem.
  • New support for rotary input for Android Wear API level 25 system images. To emulate the rotary input dial on a Wear device, click the Rotary Input tab on the extended window.
  • The Crash Reporting dialog is now resizable and no longer resets When to send crash reports to Ask without input.
  • The 32-bit emulator now requires that the maximum AVD RAM size be less than or equal to 512 MB, in order prevent the emulator from running out of room in the 2 GB virtual address space.
  • Adds support for absolute paths in emulator images.
  • Adds a new tab in the extended window for Google Play Store images that displays the Play Services version and a button to check for updates to Play Services.
  • Adds a dropdown to select the OpenGL renderer on the Emulator Settings page. If you are experiencing issues with the OpenGL driver on a Windows machine, try using the ANGLE (D3D11) or ANGLE (D3D9) options (requires a restart). If you are experiencing issues with the OpenGL driver on a non-Windows machine, try using the Swiftshader software renderer (requires a restart).
  • Fixes a rare crash on exit when the emulator receives both exit and minimize commands.
  • Fixes a scaling issue when changing displays on a Mac machine. ( Issue 268296 )
  • Fixes an issue where the emulator takes 300% of the CPU and holds it after resuming the host computer from sleep or when the emulator has been running for a long time.
  • Fixes a crash when the emulator is shutting down.

Updates with HAXM v6.1.1 (March 2017)

Note: HAXM v6.1.1 is available for Mac users through the SDK Manager as of March 30th, and will be available for Windows users soon.

Version 26.0.0 of the Android Emulator supports HAXM v6.1.1, which includes the following updates:

  • Enables Performance Monitoring Units (PMU) emulation. ( Issue 223377 )
  • Fixes coexistence with VirtualBox and Docker on Macs. ( Issue 197915 )
  • Revises the installation error message displayed when the installer fails to detect Intel VT-x on Windows, usually because Hyper-V is enabled.
  • Adds support for accelerating the Android Emulator in a Hyper-V-based Windows VM. This update requires that the host Hyper-V instance (the one that manages the Windows VM/guest) use the latest version of Hyper-V with nested virtualization enabled. Hyper-V must be disabled in the guest Hyper-V instance (the Windows VM).

নির্ভরতা

  • Android SDK Platform-Tools revision 25.0.4 or later.
  • Android SDK Tools revision 26.0.0 or later.

New features and bug fixes

  • Compatible with API level 26.
  • Fully GLES 2.0 compliant. Given a host GPU that has conformant desktop OpenGL drivers, the emulator now passes 100% of the Android CTS dEQP-GLES2 mustpass list . This has been released for API level 24 x86 images (revision 11 and higher) and will soon be included for all system images.
  • Improved video playback performance. The emulator now stores all video color buffers in host/guest shared memory and performs necessary final YUV to RGB conversion in the GPU. 1080p30 should be well within reach of most systems now. This has been released for API level 24 x86 images (revision 11 and higher) and will soon be included for all system images.
  • The emulator now correctly unregisters itself from the adb devices list on exit and closes open TCP ports on Linux machines.
  • adb connections are now more reliable. A running emulator is detected faster and doesn't go into “offline” or “unauthorized” status anymore.

25.3.0 (March 2017)

As of this release, the Android Emulator will be released separately from the SDK Tools. This release contains a variety of performance improvements, new features, and bug fixes.

Minor revision 25.3.1 (March 2017)

  • Fixed a crash occurring on some GPU configurations by disabling GLAsyncSwap by default. This feature was added in 25.3.0 to improve frame timing and frames per second for games and video, but causes the emulator to fail on some unknown machine configurations. You can manually enable it by opening the android_sdk /emulator/lib/advancedFeatures.ini file and setting GLAsyncSwap = on .

নির্ভরতা

  • Android SDK Platform-Tools revision 24 or later.
  • Android SDK Tools revision 25.3.0.

New features and bug fixes

  • Updated emulation engine to QEMU 2.7, including all recent bug fixes, improved performance, and new features.
  • New IPv6 support.
  • The emulator now uses SwiftShader as a pure software renderer on the host.
  • Android Pipe performance improvements: Android Pipe, the main communication channel between the emulator and Android OS, is now an order of magnitude faster, has lower latency and offers better multi-threaded performance. This causes a number of performance improvements for the emulator, including:
    • Improved ADB push/pull speed.
    • Better 3D acceleration support.
    • Increased overall responsiveness of the emulator.
    • Improved graphics performance.
  • The emulator now uses GPU-side buffers (glBindBuffers / glBufferData) when the guest requests them, decreasing CPU overhead in some apps.
  • Improved audio support.
  • Faster disk I/O: The emulator now uses separate threads to dispatch disk I/O, resulting in lower latency and better throughput (~1.5x sequential I/O speed, ~5x random access I/O speed). This also reduces the number of flushes to disk, resulting in much lower physical device load.
  • The emulator now uses sparse files for disk boots on Windows machines, speeding up both first boot and "wipe-data" boots. When creating or resetting an AVD, the emulator now writes 100-200 MB of data to disk, instead of 2 GB or more.
  • Various GUI enhancements:
    • The emulator now uses Qt 5.7.0, which includes bug fixes and performance improvements.
    • UI initialization no longer attempts to load all emulator executables as Qt plugins, so it's dramatically shorter, especially on HDDs.
    • UI interactions are now faster and smoother, including rotation, window resizing, and extended controls window loading and closing.
,

Android Emulator is included with Android Studio.

Versions of the emulator prior to 25.3.0 were distributed as part of the Android SDK Tools.

To ensure you have the latest version, check the SDK Manager for updates.

To download previous versions of Android Emulator, see the Emulator download archive .

For release notes for Emulator versions prior to 25.3.0, see the Android SDK Tools release notes .

For known issues and troubleshooting, please see Emulator Troubleshooting .

35.2.10 (Oct 1, 2024)

  • New Pixel AVDs added including Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, and Pixel 9 Pro Fold
  • Added new Tablet system image for Vanilla Ice Cream (API 35)

35.1.20 (Aug 29, 2024)

  • Added Pixel 8a AVD
  • Various bug fixes for foldable
  • Qt update and fixes to qt related crashes and hangs
  • [Bug Fix] Fix to crashes and freeze on Windows with applications using Vulkan

34.2.16 (July 9, 2024)

  • [Bug Fix] UI freezes that occur on Pixel Fold during fold/unfold
  • [Bug Fix] Incorrect display of Android version as Android Vanilla Ice Cream Preview instead of API 35 on Mac M1.
  • [Bug Fix] Issue #296162661 : HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE returns true on Pixel C tablet emulator

34.2.15 (May 31, 2024)

  • Various crash fixes related to swangle mode and advertiser cleanup

34.2.14 (May 20, 2024)

Tested with Android Studio Jellyfish Stable Patch 1.

  • [Bug Fix] Snapshot sometimes hangs on embedded emulator
  • [Bug Fix] 'No' and 'Cancel' buttons are not working properly on snapshot
  • [Bug Fix] Directional pad buttons are not working
  • [Bug Fix] Fixed the issue seen on Windows preventing the emulator to start in some conditions when using GPU modes with ANGLE, and returning the error message “Failed to initialize GL emulation” in the log. Note that starting the emulator by command line with the option -gpu swangle_indirect might still generate this error with this version. If you still want to start the emulator using a command line on Windows with Software graphics rendering with this version, please use -gpu swiftshader_indirect
  • [Bug Fix] Location shortcut on keyboard loads an unusable map
  • [Bug Fix] While setting location, the "save route" dialog is missing

34.2.13 (April 30, 2024)

Tested with Android Studio Jellyfish Stable.

  • Update to Qt 6.5.3
  • Compatibility for the Google Maps API updates used in the Location features in the Extended Controls of the emulator, occurring at the end of May.
  • High impact crash fixes
  • Various fixes to Pixel AVDs
  • Update the graphics library used for software rendering
  • [Bug Fix] Issue 225541819 Starting Chrome crashes Emulator on x86_64
  • [Bug Fix] Issue 314614435 -http-proxy switch is parsed incorrectly

34.1.20 (April 1, 2024)

Tested with Android Studio Iguana Stable.

  • [Bug Fix] Issue #314614435 : Fix issue where -http-proxy switch is parsed incorrectly

34.1.19 (March 7, 2024)

Tested with Android Studio Iguana Stable.

  • [Bug Fix] Issue #312677259 : Fixed screen freeze in embedded emulator after resizing window.

34.1.18 (Feb 29, 2024)

Tested with Android Studio Iguana Stable.

  • Devices were added to Emulator including:
    • পিক্সেল ভাঁজ
    • পিক্সেল ট্যাবলেট
    • পিক্সেল 8
    • Pixel 8 Pro
    • Pixel 7a
  • gRPC Integration Test: gRPC endpoints are now available to instrumented tests running inside the emulator that would enable testing of realistic scenarios. This feature enables developers to safely interact with the gRPC endpoint hosted by the Android Emulator from within Android instrumentation tests.
  • বিভিন্ন বাগ ফিক্স
    • Bug Fix : Improvements in fold device usability
    • Bug Fix : Adjust the position of the Emulator after rotation
    • Crash fixes

33.1.24 (Dec 28, 2023)

Tested with Android Studio Hedgehog Stable and Iguana Beta 1.

  • Fix Emulator webcam issue that doesn't allow screen record in mp4 format.
  • Fix Emulator crash on the Pixel Fold AVD when it is unfolded during a screen recording.
  • Fix issue where Pixel Fold shows a different phone skin with a detached keyboard and is unusable (fixed on Windows, Mac Intel, and Linux)
  • Fix glitch in appearance in Virtual sensors in Standalone mode (fixed on Windows, Mac Intel, and Linux)
  • Provide fixes for some crashes, especially while closing the emulator, were fixed

33.1.23 (Nov 30, 2023)

Tested with Android Studio Giraffe Patch 4 and Hedgehog Stable.

  • New foldable implementation to better emulate Pixel Fold device, works with latest API 34
  • Graphics backend upgrade: We've implemented the gfxstream protocol for our graphics backend, This enhancement elevates the overall graphics performance and stability of your system. In addition, introducing Vulkan 1.3 support beginning with system image with API 34
  • Feature Request : Option to disable pinch-to-zoom gesture or reassign its hotkey
  • [Bug Fix] Issue #302562962 Fix Emulator webcam crash when using MacOS sonoma
  • [Bug Fix] Issue #293503871 Fix issue where 'Microphone' setting is not saved when Emulator is restarted
  • [Bug Fix] Issue #270386314 Fix animation error where sidebar stays open once the AVD screen minimized
  • [Bug Fix] Issue #154896775 Fix bug submission tool

32.1.15 (Aug 29, 2023)

Tested with Android Studio Giraffe Patch 1 and Hedgehog Canary 16.

  • Comply with GAS HW requirements for Sensors in AAE Emulator
  • [Bug Fix] Issue #266201208 Hebrew SMS is not sent on API 33
  • [Bug Fix] Issue #257097404 Emulator doesn't show correct time after the host is waken up on API 29 and 30
  • [Bug Fix] Issue #228201899 Can't see google maps inside Android Emulator Extended Controls

32.1.14 (June 27, 2023)

Tested with Android Studio Hedgehog Canary 8, Giraffe Beta 5, and Flamingo Stable.

  • Fix emulator camera orientations & distortions.
  • [Bug Fix] Issue #257097404 "Emulator doesn't show correct time after the host is waken up". This bug is still reproducible for API 29 and API 30.
  • [Bug Fix] Issue #243456582 "Android releases after API 30 might not start correctly in emulator on Mac M1 machines"

32.1.13 (May 22, 2023)

Tested with Android Studio Hedgehog Canary 2, Giraffe Beta 1, and Flamingo Stable.

  • Add support for Pixel Fold and Pixel Tablet AVDs.
  • Improve gLinux crash issue.
  • [Bug Fix] Issue #215231636 "Emulator with API above API 30 not working in Intel 12th gen processor".
  • [Bug Fix] Issue #275397905 Highlevel of crash on Android Emulator M1 when moving cursor focus in and out of the emulator repeatedly.
  • Known issue with AVD launch Issue #281725854 . Please see Emulator Troubleshooting for more information.

32.1.12 (March 21, 2023)

Tested with Android Studio Giraffe Canary 10, Flamingo RC, and Electric Eel Patch 2.

  • [Bug Fix] Issue #267647323 Network doesn't work on Emulator started from Android Studio
  • [Bug Fix] Issue #268498686 Emulator screen is flickering
  • [Bug Fix] Issue #270034824 Emulator performance degraded after updating to version 33.1.1
  • [Bug Fix] Issue #225541819 Starting Chrome crashes Emulator on x86_64
  • [Bug Fix] Issue #257097404 Emulator doesn't show correct time after the host is waken up
  • Add crash reporting for Apple M1 devices

32.1.11 (February 8, 2023)

Tested with Android Studio Giraffe Canary 2, Flamingo Beta 1, and Electric Eel Patch 1.

  • Network speed optimizations
  • Mouse support in Embedded Emulator
  • Virtio-snd improvements
  • Disable the usage of symlinks while unzipping the Android Emulator during installation
  • Fix crash in emulator-check

31.3.14 (December 13, 2022)

Tested with Android Studio Dolphin, Electric Eel RC1, and Flamingo Canary 9.

  • [Bug Fix] Fix AVD crashes that occur when logging in to Play Store.

31.3.13 (October 27, 2022)

Tested with Android Studio Dolphin, Electric Eel Beta 2, and Flamingo Canary 5.

31.3.12 (October 10, 2022)

Tested with Android Studio Dolphin and Electric Eel Beta 1.

This update includes the following improvements and fixes:

  • [Bug Fix] Issue #247843000: AVD relative path handling error
  • Increase disk size for API 24 and later

31.3.11 (September 23, 2022)

Tested with Android Studio Dolphin and Electric Eel Canary 10.

This update includes the following improvements and fixes:

  • [Bug Fix] Embedded Emulator AVD crash on Extended Controls Window
  • [Bug Fix] Issue #183139207: Audio issues associated with Emulator activating microphone
  • [Bug Fix] Issue #229764024: AVD sticky touch bug that results in UI behavior issues
  • [Bug Fix] Error with launching API 33 AVD on Mac M1.
  • [Bug Fix] Issue #243053479: Slow network speed after updating Emulator
  • [Bug Fix] Issue #244617627: Nonfunctioning Maps location on Windows and Linux
  • [Bug Fix] Issue #232971796: Nonfunctioning “call device” button on the Extended Controls > Phone page
  • Update Android Emulator to minigbm
  • Migration of build scripts to Python3

31.3.10 (August 18, 2022)

Tested with Android Studio Dolphin Beta 5 and Electric Eel Canary 9.

Standalone downloads of the emulator are now available. If you're experiencing any issues or crashes with this latest stable release, please file a bug and consider downloading a previously working version from the emulator download archives .

This update includes the following improvements and fixes:

  • Better unicode path support on Windows
  • Better handling of emulator shutdown so a new launch of the same AVD could succeed.
  • Updated foldable AVD design and default settings
  • Updated Wear emulator buttons
  • gRPC audio streaming improvements
  • Resizable emulator console command added
  • Chrome Fix for API 31
  • [Bug Fix] Google Account Auth Failed with GmsCore v21.42.18

31.2.10 (April 20, 2022)

Tested with Android Studio Dolphin Canary 8 and Chipmunk RC 1.

This update includes the following improvements and fixes:

  • Add utility to load Vulkan functions with fallbacks
  • [Bug Fix] Fix gcc8 build error

31.2.9 (March 23, 2022)

Tested with Android Studio Dolphin Canary 7.

This update includes the following fix:

  • [Bug Fix] Ignore memory pressure when saving snapshot on M1

31.2.8 (February 7, 2022)

Tested with Android Studio Bumblebee Patch 1 and Chipmunk Canary 6.

This update includes the following improvements and fixes:

  • [Bug Fix] Unable to sign in to the apps
  • [Bug Fix] Issue #215368358: "adb reboot" on Intel platform will crash avd with "vcpu shutdown request"

31.2.7 (February 1, 2022)

Tested with Android Studio Bumblebee Patch 1 and Chipmunk Canary 6.

This update includes the following fix:

  • [Bug fix] Emulator hanging error on M1 machines.

31.2.6 (January 20, 2022)

Tested with Android Studio Arctic Fox, Bumblebee Beta 4, and Chipmunk Canary 6.

This update includes the following improvements and fixes:

  • Added wear buttons to Wear OS emulator.
  • Made all vehicle properties editable in VHAL tab.
  • [Bug Fix] Google Account Auth Failed with GmsCore v21.42.18.
  • [Bug Fix] Netshaper didn't work well with VirtioWifi.
  • [Bug Fix] Event mouse console command didn't work.
  • Added KVM check for local AVD creation.

31.1.3 (January 18, 2022)

This update includes the following improvements and fixes:

  • Enabled console ports for Fuchsia.
  • When resizing a multi-display window, orientation is ignored.
  • Wi-Fi: Added support for filtering out unicast packets based on MAT mac address.
  • Wi-Fi: Fixed crash when vmnet is in use.

30.9.5 (December 15, 2021)

This update includes the following improvements and fixes:

  • Added ability to easily resize to a desktop or tablet sized window.
  • Added support for multi-touch input from compatible host devices.
  • VirtioWifi: Added support for tap network.
  • Enabled Rotary Input for Wear System Images.
  • Fixed the gRPC audio configuration issue.
  • Updated SensorReplay Emulator Playback to support standard Android sensors.
  • Connected the emulator to peripherals and devices using USB with USB pass through.

30.4.5 (February 23, 2021)

This update includes the following improvements and fixes:

  • macOS: Fixed issues with audio input distortion.
  • Added support for virtio-vsock in userspace.
  • Future system images will use virtio-console for logcat and kernel messages.
  • Speed up Vulkan rendering.
  • Added support for snapshot debugging on test failure.
  • virtio-gpu: updated definitions to support latest blob resource enums.
  • Added snapshot support for the 'asg' type graphics transports.
  • macOS: Added support for building against macOS SDK 11.1+.
  • KVMclock enabled by default on newer system images.
  • Added support for a heart rate sensor to Wear emulators.
  • Removed libportability Vulkan backend.
  • Added support for more features in modem simulator.

30.0.26 (August 16, 2020)

This update includes several new features, improvements to existing features, and bug fixes.

Foldables support with virtual hinge sensor and 3D view

  • Added support for hinge sensors for foldable devices. This requires a future Android 11 system image and AVD configuration. 3D foldable view and hinge parameters are now integrated with the existing foldable presets. The following can be a used with, for instance, the 7.3 foldable AVD's config.ini file:

    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
    
  • Foldable devices now also carry a sub-type parameter. The config.ini property hw.sensor.hinge.sub_type = hinge/fold is now available. See the Developing for Android 11 with the Android Emulator blogpost to read more.

  • Hinge sensor is now enabled by default.

  • If a foldable device is configured, the emulator now sends hinge angle sensors updates and posture changes to the guest. Existing foldable devices will now update hinge sensor angle and posture when the toolbar's fold or unfold buttons are pressed.

Emulator for ARM64 hosts

  • Linux emulator source code now supports cross compilation from x86_64 to arm64 hosts, enabling running arm64 system images with KVM virtualization. Currently, only -gpu swiftshader_indirect (Swiftshader arm64 host rendering) is supported, but a compatible set of host GPU libEGL/libGLESv2 libraries may also be used by replacing lib64/gles_swiftshader with them and then relaunching with -gpu swiftshader_indirect . Snapshots may also not be working (add -no-snapshot to the command line). নির্দেশাবলী:

    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
    
  • Support for Apple Silicon is in progress.

virtio-gpu support

  • Added support on the host side for upcoming virtio-gpu host coherent blob resources.
  • Due to how emulator rendering works, we now process virtio-gpu virtqueue in the vcpu thread (because rendering is offloaded to other threads anyway). virtio-gpu rendering will be enabled in a future system image and emulator version.
  • In a future system image the emulator will be able to run all graphics with a virtio-gpu based stack.

Other new features and enhancements

  • USB passthrough is now available on Windows using -qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id> . (This should also have been workng on Linux and macOS already)
  • Updated WebRTC libraries to M83.
  • The emulator now supports audio streaming in containers over WebRTC.
  • darwinn pipe endpoint has been removed.
  • CUDA VPx decode for video is now available, if CUDA VPx decode is available in hardware, via the environment variable ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1 .
  • On macOS, SSE 4.1 and 4.2 are now available from inside the Android guest.
  • On macOS, INVTSC is now enabled by default. This can improve accuracy of time measurements from the guest.
  • We now track which extended control pane was selected by the user in metrics.
  • Linux emulator now uses KVM paravirtualized clock when the guest kernel version is >= 5.4 (R system images or later).
  • Emulator now uses LZ4 to decompress guest kernels, making it compatible with the modern kernel pipeline.
  • Added console commands to obtain the emulator AVD directory, discovery file path in the Studio-embedded use case, and path to snapshots:

    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>
    
  • To make it easier to save vertical screen space, we've added an option to hide the device frame for the current AVD in Extended Controls > Settings . To globally hide device frames for all AVDs, we've made available the NoDeviceFrame feature flag, which can be activated via launching the emulator from the command line with -feature NoDevice frame, or to lock it in, adding NoDeviceFrame = on to ~/.android/advancedFeatures.ini (Create this file if it doesn't exist already).

  • Added a drop down item in cellular page to turn on and turn off meterdness support, this is a no-op for older system images that do not support the 5G meterdness toggle.

    • Also added console command for the same purpose: gsm meter on|off
  • Upgraded toolchain / build to C++17.

Fixes: embedded emulator

  • Clipboard should now work.
  • Fixed issue where uppercase characters were delivered as lower case characters in the emulator.
  • Fixed loading console token from a unicode path in windows.
  • Fixed SO_REUSEPORT error message on linux.
  • Fixed a snapshot corruption issue when sending snapshot commands through gRPC, as well as when pressing the snapshot save button in Android Studio embedded emulator.
  • When using the Linux emulator embedded in Studio, we found that if this is done through Chrome Remote Desktop, there is a bug where XDG_RUNTIME_DIR is not set and may cause the embedded emulator to fail to appear due to the emulator discovery files being placed in XDG_RUNTIME_DIR . You can check the status of the corresponding issue in the Chrome issue tracker .

    As a workaround, the emulator now falls back to using discovery files in a possibly-different directory that is based on user UID: /run/user/&lt;uid> .

  • Embedded emulator: Devices with rounded corners/notches now properly change their layout to make room for the corners and notch. This requires a cold boot of those emulators.

  • gRPC endpoint now supports sending SMS to the device.

সাধারণ সংশোধন

  • We've seen compatibility issues running the Windows emulator with Riot Vanguard active. The Windows emulator now detects Vanguard anti-cheat and pops up a warning message if Vanguard is detected.
  • Fixed FD_SETSIZE error on Windows. We now use WSAEventSelect() instead of select() for establishing non-blocking connections to loopback servers.
  • Added F16C CPUID feature support to Linux emulator with fixes issues running some ARM64 applications through NDK translation; macOS/Windows in progress.
  • Fixed gpx/kml route playback to follow timestamps.
  • Fixed bouncing icon on launch for MacOs.
  • If hw.audioInput=no and hw.audioOutput=no in config.ini , emulator audio is now properly disabled.
  • Fixed an issue where if the emulator window was minimized while the extended controls window was open but not active, the extended controls window would keep showing up when resizing the emulator window. We will completely remove the behavior (the case with active extended controls window) in a future update.
  • Fixed a flaky bug with Wi-Fi not connected when the emulator starts.
  • Fixed hang-on-exit when emulator issues shell commands with long or indefinite timeouts.
  • Updated pc-bios with fixes to better support large images passed to -initrd ; previous BIOS used a very inefficient method.
  • Fixed crash during termination when -wifi-server-port option is used.
  • The emulator now prints a warning if unsupported options are passed to -prop (Only qemu.* props are supported).
  • When building the emulator on Windows, there should be less chance of seeing flaky failures to write to files. For more information, see the Windows build instructions .
  • Disabled Zoom button for foldable AVDs, which was causing issues.
  • Emulator now correctly reports boot time coming from a device reboot.
  • Linux: In the case where there are insufficient KVM permissions, the emulator now prints debugging instructions more promptly.
  • Fixed issue where the emulator could not boot recent system images with no acceleration.
  • Fixed memory corruption or crash on start from a boot-completed detector.
  • Fixed memory leak during long screen recording sessions.
  • Emulator icons updated to reflect Studio 4.1 branding.
  • Added better support for detecting remote sessions on Windows.

Fixes: graphics and video decode

  • Fixed an issue where latest Asphalt 9 game rendered with a black screen.
  • Removed spam about flushing mapped buffer with NULL .
  • Fixed a race condition when tearing down Vulkan state when a guest Vulkan app exited.
  • Vulkan ASTC/ETC2 emulation shaders are now baked into the libOpenglRender library. This will be more reliable versus reading from the filesystem.
  • Fixed an issue in Vulkan where if running with a Vulkan 1.0 instance on the host, vkGetImageMemoryRequirements2KHR would incorrectly clear the returned VkMemoryRequirements2 struct's pNext field.
  • Fixed a memory leak in Vulkan renderer.
  • Fixed a recent regression where GLSL ES 1.00 shaders with variable names like isampler2D failed to compile.
  • Updated ANGLE shader translator with various fixes that address possible failure to compile shaders on Linux.
  • We now crash the emulator if the basic framebuffer blit shader fails to compile, in order to keep track of the phenomenon.
  • Updated ANGLE shader translator to keep up with upstream ANGLE. This fixed an issue around memory corruption when translating and constant-folding OpenGL ES shaders that used non-square matrices. The shader translator is now a separate shared library, libshadertranslator.dll .
  • Fixed an issue on Vulkan initialization on some GPU drivers, where certain 1.1 device functions were not found.
  • Vulkan: We've reverted back to using the prebuilt loader as favoring the system Vulkan loader caused issues in some setups; will figure out a better solution.
  • Fixed issue when using Vulkan external memory where it could have been imported mismatching memory type indices on the host.
  • Fixed issue in emulation of GL_ALIASED_POINT_SIZE_RANGE where the enum was not supported on the host.
  • Fixed issue where on some host GPUs, Skia shaders could not compile due to errors related to GL_EXT_shader_framebuffer_fetch .
  • Since our copy of the D3D9 ANGLE renderer was removed a few versions ago, we now also auto switch users who were on that renderer to d3d11 ANGLE if it was selected in the UI preferences.
  • More debug info has been added to WGL initialization on Windows in order to trace failures.
  • When hw.gltransport=virtio-gpu-pipe , performance is improved by not spinning on the host in transfers from host to guest.
  • Added more debug logging for when OpenGLES emulation fails to initialize.
  • Fixed an issue with Youtube videos flickering or not showing up on snapshot load.
  • Switched back to software decode for libvpx for now as we've seen issues with CUDA hardware decode of libvpx. If you have a supported CUDA hardware decode implementation on the host side, hardware decode of libvpx can be re-enabled via the environment variable ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1 .

30.0.10 (April 30, 2020)

This update includes support for running the emulator directly in Android Studio and virtual devices with Freeform Window Mode activated by default.

Run the Emulator in Android Studio

The Android Emulator can now be run directly in Android Studio . Use this feature to conserve screen real estate, to navigate quickly between the emulator and the editor window using hotkeys, and to organize your IDE and emulator workflow in a single application window.

Freeform Window Mode

You can now create an AVD that has Freeform Window Mode enabled by selecting the 13.5” Freeform tablet hardware profile when creating a virtual device in Android Studio. This hardware profile requires a system image with Android 11 Developer Preview 3 or higher.

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

Resizing freeform windows is currently broken due to issues transferring focus to the Window Manager. This will be addressed in a future Android 11 system image release.

30.0.0 (February 19, 2020)

This update includes Android 11 (API level 30) system images and improved performance when running ARM binaries.

Android 11 system images

You can now create an AVD that runs Android 11 by selecting either of the available API level 30 system images:

  • x86 : Includes both x86 and ARMv7 ABIs.
  • x86_64 : Includes x86, x86_64, ARMv7 and ARM64 ABIs.

Support for ARM binaries on Android 9 and 11 system images

If you were previously unable to use the Android Emulator because your app depended on ARM binaries, you can now use the Android 9 x86 system image or any Android 11 system image to run your app – it is no longer necessary to download a specific system image to run ARM binaries. These Android 9 and Android 11 system images support ARM by default and provide dramatically improved performance when compared to those with full ARM emulation.

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

  • Some ARMv7 binaries fail to run on Android 11 x86 and x86_64 system images. Consider building for ARM64 when targeting Android 11.

29.0.11 (May 29, 2019)

This update includes the following improvements and fixes:

  • Windows: The emulator now relies on the libgcc DLL that we ship instead of being compiled with libgcc statically.
  • Linux: Added logcat support to the gRPC API. For more information about gRPC, see gRPC streaming emulator (Linux) .
  • The emulator now includes a headless build for 32-bit x86 guests ( qemu-system-i386 ). This feature enables x86 32-bit images for API levels 26 and lower to run with the headless build. Note that for 32-bit x86 guests with API 27 and later, the emulator uses the 64-bit engine ( qemu-system-x86_64 ) because in these system images, while the userspace is 32-bit, the kernel is 64-bit. Android Studio uses the kernel to select emulation engines.
  • You can now specify custom Qt library paths using the ANDROID_QT_LIB_PATH environment variable.
  • You can now run the emulator with previous binaries that use QEMU1 if the QEMU1 executables ( emulator[64]-[x86|arm|etc] ) are placed in the emulator directory.
  • Windows: Fixed an issue that could sometimes cause the emulator to fail to start with a "vCPU shutdown request" message.
  • Fixed an issue with an unnecessary pipeline barrier in emulated compressed textures in Vulkan.
  • Fixed an error that occurred with http proxy requests when chunked transfer encoding was used. For more information, see the commit details .

29.0.9 (May 7, 2019)

This update includes the following fix:

  • Windows: Fixed an issue where the virtual scene camera and webcam would not work on the emulator.

29.0.8 (May 6, 2019)

This update includes the following improvements and fixes:

  • Added support for multiple virtual hardware displays when there's a guest service to enumerate and set each display. Multiple virtual hardware displays will be included in a future emulator system image update.
  • Added a new command line option: -delay-adb . This option suppresses processing of ADB packets until the guest has completed booting (off a cold boot). This option helps resolve issues that could occur if you use the emulator in a CI environment that reboots the emulator and uses DDMS at the same time.
  • Fixed an error that occurred when snapshots are loaded where glIsRenderbuffer would return the incorrect value.
  • Fixed some issues with stale state when the Android guest reboots.
  • Windows: Fixed issues that prevented the emulator from starting when the Windows username had non-ASCII characters or spaces.

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

  • The Snapshots UI is disabled for Automotive system images because snapshots aren't currently supported for these system images.

29.0.6 (May 1, 2019)

This update includes several new features, improvements to existing features, and bug fixes.

Removal of QEMU1 and 32-bit Windows support

To better maintain the emulator, we no longer ship QEMU1 and 32-bit Windows binaries. If you are using Windows 32-bit, you cannot upgrade to version 29.0.6.

Requirements for Android Q system images

If you want to run an AVD that uses an Android Q system image, you must now use version 29.0.6 (this release version) or higher.

Project Marble Improvements

This update continues our work on the Project Marble initiative that was announced at the Android Developer Summit in November 2018. For more information about other Project Marble improvements in previous releases, see Android Emulator: Project Marble Improvements .

For this update, most of our Project Marble efforts were dedicated to reducing emulator resource usage, such as reducing the emulator's CPU usage while idle. We've also included changes that make it easier to work with the emulator in a wider variety of environments, and we've addressed general quality issues.

The following sections describe the Project Marble improvements that are included with this update:

Improvements for host audio behavior

Starting with version 28.0.3, the emulator blocks audio input from the host by default.

If you want to use the host audio data, you can enable that option by going to Extended Controls > Microphone and enabling Virtual microphone uses host audio input . This option is automatically disabled whenever the emulator is restarted.

If you are using the command line, you can also enable host audio using the -allow-host-audio option, and you can use the following ADB commands to turn host audio data on or off, respectively:

  • adb emu avd hostmicon
  • adb emu avd hostmicoff

Improvements for headless emulator builds

Starting with version 28.0.25, the emulator includes a headless build option that can run without the UI. You can use headless builds to help you set up the emulator for Docker and continuous integration (CI) workflows.

With this update, we've made further improvements to allow the emulator to run with a minimum number of dependencies. On Linux, headless builds no longer include the pulseaudio or libX11 libraries. The system-dependent shared libraries that are not packaged with the emulator has been reduced to the following list:

  • 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

Upgraded Qt UI libraries to 5.12 LTS

This update includes the following improvements from the Qt 5.12 LTS release:

  • To avoid crashes in Qt's libpng decoding when starting certain system images, the emulator now uses its own copy of libpng to decode PNG images.
  • To address issues with some Linux installs containing incompatible versions of some Qt dependent libraries, we now package libfreetype , libsoftokn , libsqlite3 , and libxkbcommon with the emulator.
  • The emulator now uses the platform's native windowing libraries to get monitor dimensions, instead of using the Qt libraries that returned unreliable results.

Automatic CPU optimizations after cold boot

To address CPU usage, the emulator now runs the following ADB commands on a cold boot after it receives a boot complete signal:

adb shell settings put screen_off_timeout 214783647
This command increases the screen off timeout so the emulator can be used in battery mode without charging. In battery mode, background CPU usage is greatly reduced.
In AC charging mode, GMSCore background operations such as app updates can take over all the device's CPU cores—and by extension, the user's machine—with no warning.
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
This command revokes microphone permissions for the Google search app, which greatly reduces background CPU usage on the home screen and in the launcher when the Google search app is active.
This command is run in addition to the emulator's default behavior of disabling host audio for the host. Furthermore, this automatically provides the CPU usage mitigation described for hotword detection from the 28.0.23 release.

New environment variables for performance monitoring

You can now use two new environment variables to enable detailed monitoring of the emulator's performance and resource usage.

SHOW_PERF_STATS=1
This environment variable enables tracking of both CPU and RAM usage. Tracking for RAM usage distinguishes between graphics usage and total resident memory.
ANDROID_EMU_TRACING=1
This environment variable enables printing every time an input or graphics operation takes a long time (longer than 1 ms).
We're also using this environment variable to help diagnose issues that Windows users have experienced with more jank (dropped frames) than users experience on macOS or Linux.

General Project Marble improvements

This update also includes the following general improvements that are part of the Project Marble initiative:

  • You can now immediately pause all vCPUs on the emulator via the following console commands:
    • adb emu avd pause
    • adb emu avd resume
  • Greatly reduced overhead of OpenGL drawing. This improvement reduces CPU usage while the emulator is playing animations.
  • Restored support for mainline QEMU's e1000 virtual network device. You can use this device to set up the emulator in a bridged network environment. In a bridged network environment, the emulator is shown on the host network and the host network is shown on the emulator.
  • QEMU 2.12-appropriate BIOS binaries are now used to start up the emulator.
  • Upgraded ffmpeg version to 3.4.5 for video encoding and decoding.
  • Greatly reduced overhead of QEMU main loop I/O on macOS by replacing the main loop that was based on select() with a main loop that is based on kqueue .
  • Logcat buffer size increased to 2 MB to address issues with flaky unexpected EOF when running logcat with the emulator.
  • The emulator now exports the LC_ALL=C environment variable by default. This change addresses crashes and incompatibility issues associated with running the emulator in different locales.
  • You can now track the CPU and RAM usage of the emulator using performance stats that you can access at Extended Controls > Settings > Advanced > Performance Stats . Use these stats to quickly diagnose issues if the emulator seems to be using too much CPU or RAM.
  • glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPE now uses the host GPU's result instead of an emulated one. This change helps fix issues where images and assets do not display because of improper format for readback.
  • Added support for the OpenGL ES extensions GL_EXT_texture_format_BGRA8888 and GL_APPLE_texture_format_BGRA8888 if these extensions are supported by the host.
  • Added more diagnostic info to the Bugreport UI. In addition, you can access bug reports from the console using the following commands:
    • telnet localhost 5554
    • avd bugreport
  • On Android Q system images, the emulator increases its minimum RAM size to 2 GB.
  • Added more logging and printing whenever OpenGL or the hypervisor fails to initialize.
  • If the emulator cannot start a concurrent -read-only instance of an AVD, the emulator now attempts to relaunch the -read-only AVD 3 more times over 3 seconds. This change increases the likelihood that the emulator will be able to launch concurrent -read-only instances an AVD if other writable instances of that AVD are not done cleaning up stale files.
  • For upcoming system images, the emulator now supports Hardware Composer 2.0. This change should lower the driver overhead when running most animations.
  • The emulator build is now based on CMake/Ninja.
  • In the emulator extended controls UI, divider lines in the keyboard shortcuts table have been restored.
  • Users can now opt-in to provide our team with CPU and RAM usage metrics in a 10 second interval. We use these metrics to enrich our data about emulator resource usage with different use cases from our users, which allows us to make the emulator more efficient and responsive.

General Project Marble fixes

This update also includes the following general fixes that are part of the Project Marble initiative:

  • Fixed issues with twitching and incorrect frames that were displayed on systems with Intel GPUs when using Android Q system images.
  • Fixed issues where a black screen was displayed when using Android Q system images with Pixel 2 XL skins (or any skin that has a notch or rounded corners).
  • Fixed an issue where the -partition-size command line option would not set the data partition size.
  • Fixed an issue where pulseaudio on the Linx emulator would spin and take up an entire CPU core in some situations.
  • Fixed issues with out of bounds memory access when processing compressed textures.
  • Fixed GL errors that occurred on the host in glTexSubImage2D when updating certain gralloc buffers (with format RGB 565, RGB10A2, RGB(A)16F).
  • Fixed a display issue in Android Q system images with snapshots where the notification shade's geometry was rendered with an improper instance divisor setting.
  • Fixed a few hard-to-reproduce crash and freeze issues on launch that happened due to Qt losing signals or having flaky, inconsistent states on startup.
  • Fixed numerous concurrency issues. We are now able to build the Linux emulator with ThreadSanitizer (TSAN), which can easily uncover bugs that are otherwise difficult to reproduce.
  • For Linux users: we have found that on certain host kernels, the guest Android kernel can error out and exit in KVM with a generic hardware error. The emulator will now abort() when this happens in order to increase debuggability (previously, the emulator just hung).
  • For Linux users: for convenience with CI setups, you can use the new -stdouterr-file <file-name> command line option to redirect both stdout and stderr to a file.
  • Fixed an issue where SO_REUSEADDR was used incorrectly. For more information, see the commit details .
  • Fixed a long-standing issue with the Windows emulator where sub-processes, such as ADB commands, failed to start if the username had spaces in it.
  • Fixed an issue with missing initialization of RCU in HAXM vCPU threads. This fix can possibly address some crashes and race conditions.
  • Fixed a crash that happened with certain patterns of saving and loading snapshots from the snapshots UI using recent Android Q system images.
  • Fixed an issue where the virtual scene camera would be blank when the emulator was initialized from a snapshot if an AR macro was playing when that snapshot was saved.
  • Fixed an issue where some users with remote desktop setups got a black screen when launching the emulator on Linux. To avoid this, the emulator now explicitly configures MESA_RGB_VISUAL . For more information, see the commit details .
  • Fixed an issue where the rotate buttons would appear on TV AVDs.
  • Fixed an issue where if emulator was set always on top, the extended controls window appeared every time the emulator was rotated.

Hardware profiles for foldable devices

The emulator now includes hardware profiles for foldable devices. To use these new hardware profiles, you must be using Android Studio 3.5 Canary 10 or higher.

There are two foldable hardware profiles that you can use to create an AVD:

  • 7.3" Foldable: 1536x2152 unfolded, 4.6" 840x1960 folded
  • 8" Foldable: 2200x2480 unfolded, 6.6" 1480x2480 folded

When you run the emulator using one of these hardware profiles, you can fold and unfold the device using the fold and unfold actions in the emulator toolbar, console commands , or the following keyboard shortcuts:

  • Fold: Ctrl + F ( Command + F on macOS)
  • Unfold: Ctrl + U ( Command + U on macOS)

AR macros

The emulator now includes AR macros that can help you test common AR actions. For example, you can use a macro to reset all the device's sensors to their default state.

For more information, see Test common AR actions with macros .

Vulkan support (Windows, Linux)

Windows and Linux users can now test Vulkan apps with the Android Emulator up to Vulkan 1.1 when using a compatible system image (Android Q Beta 3 or higher for Vulkan 1.1, Android Q Beta 2 for Vulkan 1.0) and a compatible host GPU (this includes most Intel, NVIDIA, and AMD GPUs from 2014 and later).

To enable Vulkan support, you must add the following feature flags to your ~/.android/advancedFeatures.ini file (create the file if it doesn't exist):

  • Vulkan = on
  • GLDirectMem = on

Initial support for ROM developers

ROM developers who are building the sdk_phone_x86 or sdk_phone_x86_64 ( userdebug , eng variants) targets on AOSP master branch can now run a Vulkan-enabled emulator.

This support is still experimental and is mainly for developers who work on system images, drivers, and game engines. Many extensions are still missing. However, HOST_COHERENT memory is supported, and you should now be able to run the Vulkan API Tutorial Samples .

If you are using linux, you can try this by using the following commands:

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

Skia rendering with Vulkan

NVIDIA and AMD GPUs that support Vulkan also support zero-copy interop with OpenGL via the GL_EXT_memory_objects extension. The emulator leverages this capability to provide a complete way to render the Android UI using the Skia Vulkan APIs.

If you have an NVIDIA or AMD GPU that supports Vulkan, use the following commands to test the Skia rendering with a compatible system image (Android Q Beta 3 and higher):

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

macOS support for Vulkan

macOS support is still experimental, but the emulator already includes the Swiftshader , MoltenVK , and libportability ( gfx-rs ) APIs. You can experiment with these APIs by setting the following environment variables:

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

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

HAXM can sometimes fail to map Vulkan coherent memory to the guest and shuts down the emulator. This is addressed in an upcoming HAXM update.

gRPC streaming emulator (Linux)

We're always trying to make the emulator as versatile as possible by allowing host GPU rendering and interactivity in the widest range of running contexts. Our CI and remote desktop users have the following long-standing issues:

  • Programmatically sending input commands to the emulator involves either running adb shell commands that can experience high overhead, or using the telnet console, which is faster, but might not work with certain network configurations.
  • CI users often run emulators headless, which can make it difficult to notice issues that require the screen to be visible or interactive.
  • Remote desktop users often can't interact with the emulator when using host GPU rendering because GPU rendering is often tied to the host's non-virtual displays.

To address this, when running on a Linux machine, the emulator now serves a gRPC service. gRPC is a general framework for RPC that works over HTTP.

By default, the emulator gRPC service is disabled, but you can activate the service using the following command line option, where <port> is the port which the emulator should serve gRPC requests (usually 5556 ):

-grpc <port>

Once the service is started, gRPC commands can then be issued from clients. The current set of commands allows both sending input events and receiving screenshots. These commands help address the following issues:

  • Input commands can be sent to the emulator with low overhead over HTTP. HTTP also enables commands to be sent in additional network configurations.
  • Screenshot commands can be sent to query the current screen, even if the emulator is running headless. For interactivity, input events can also be sent back to the emulator.
  • Remote desktop users can run the emulator headless on the main display with GPU accelerated rendering while using gRPC to get screenshots and send input events in order to interact with the emulator.

For a complete list of the commands that are available, see this protobuf .

To help you get started with gRPC, we've provided some sample clients that you can refer to.

Currently, this includes the following samples:

  • A Go-based service that can be used to query emulator states.
  • A React app that demonstrates remote interactivity via screenshot and input RPCs. This sample requires protobuf version 3.7.0 or higher.
  • A Python sample that queries the emulator's VM configuration and then sends a series of commands.

28.0.25 (March 29, 2019)

This update includes the following improvements and fixes:

Headless emulator build

The emulator has been difficult to set up with Docker and other continuous integration (CI) workflows due to the implicit expectations of the system being able to support Qt along with its shared library dependencies (among other issues).

As a first step to address this, we've introduced a variant of the emulator launcher with QEMU executables that does not depend on Qt. On Linux, there is still a link to libX11 , but we hope to remove that soon as well.

To use the headless emulator, run the emulator from the command line as usual, but replace the emulator binary invocation with emulator-headless . For more information, see the 28.1.8 Canary release update.

  • Fixed twitching and incorrect frame display on Intel GPUs when running Android Q system images.
  • Fixed issues where black screen would display when using Android Q system images with Pixel 2 XL skins.
  • The latest BIOS binaries are now used to start up the emulator. This change can help reduce "vCPU shutdown request" errors that happen sometimes when launching the emulator on Windows.
  • Backported a fix for the "wrong display when resuming Android Q system images from a snapshot" issue .
  • Users were experiencing "unauthorized" emulators issues due to an incompatible change in ADB in platform-tools 28.0.2. You can now safely use ADB from platform-tools 28.0.2 with the emulator. If you are experiencing problems with "unauthorized" emulators, do the following troubleshooting steps:
    1. Exit all emulators.
    2. Delete both the ~/.android/adbkey and ~/.android/adbkey.pub files.
    3. Run the following command: adb kill-server
    4. Run the following command: adb devices
    5. Wipe the AVD data.
    6. Relaunch the emulator.

28.0.23 (January 29, 2019)

This update includes the following improvements and fixes:

Host audio input disabled by default

A recent post on Reddit detailed how the guest Android OS would always be using the host microphone's audio, and thereby allowing "Ok Google" to work unexpectedly. We're sorry about this and will work with the Android team to make sure hotword detection is disabled in the system image as well.

To address this, we've made the following changes:

  • Actual host audio data is now squelched by default. When the guest uses the microphone, silence is passed over instead of the host's audio.
  • If you want to use the host audio data, you can now enable that option by going to Extended Controls > Microphone and enabling Virtual microphone uses host audio input . This option is automatically disabled whenever the emulator is restarted.

Updates on CPU usage investigations

During our Project Marble investigations, we've noticed that high CPU usage on the emulator generally falls into the following three categories:

At idle: Automatic app updates in Play Store images

We found that at random intervals, all apps installed get updated, even when the user is not logged in. During the process, CPU usage is driven to the number of cores x 100% (typically ~400%) in GMSCore and dex2oat. You can mitigate this issue by disabling auto app updates in the Play Store app.

At idle: Hotword detection

When on the home screen and without any app foregrounded, there can be a great deal of CPU usage (~25% with spikes to 50%). This is caused by hotword detection that constantly pings the host. You cannot mitigate this issue by disabling host audio input because the CPU cost is primarily caused by the time that it takes to travel to the guest from the host. However, you can mitigate this issue by revoking microphone permissions from the Google app.

While active, sometimes at idle: Animations

The third source of high CPU usage is animations. We have found that by optimizing the graphics driver stack we can also reduce CPU usage even when the emulator is not idle. We will be rolling out graphics driver optimizations incrementally as part of Project Marble.

28.0.22 (December 21, 2018)

This update includes the following improvements and fixes:

  • Fixed a long-standing issue where in some settings, the Mac emulator would reboot or kernel panic on Quickboot save. ( Issue 120951634 )
  • When using a mapped file as the RAM snapshot, the emulator now unmaps the file mapping explicitly on exit.

28.0.20 (December 11, 2018)

This update includes the following improvements and fixes:

  • Fixed an issue on Windows that caused the emulator to freeze on snapshot load with certain models of Intel GPUs.
  • Fixed an issue that caused an unauthorized ADB device state when using a non-standard ANDROID_SDK_HOME location.
  • Fixed an issue on Windows that caused the emulator to crash when booting system images with CPU acceleration disabled.
  • Fixed the pixelated emulator display issue. Downsampling should now be working.
  • Fixed an issue on macOS 10.14+ where the virtual scene camera mouselook control could become too sensitive due to an interaction with new accessibility security settings.
  • Fixed an error in timezone calculation that could cause the emulator clock to sporadically change.
  • Fixed rendering errors in various cocos2d and Unreal engine apps.
  • Added support in the emulator for Wi-Fi peer-to-peer . Two emulators can now talk to each other directly via Wi-Fi if using the latest Pie Play Store image. To use Wi-Fi peer-to-peer, start two AVDs with the same -wifi-server-port and -wifi-client-port arguments:
    • emulator @<server-avd-name> -wifi-server-port 9999
    • emulator @<client-avd-name>-wifi-client-port 9999
  • Added support for more webcams on Windows by taking any incompatible frame sizes and dynamically resizing them to fit the camera setting in the Android guest.

28.0.16 (November 2018)

This update includes several new features, improvements to existing features, and bug fixes.

সম্পদ ব্যবহার

The emulator now uses less RAM overall, especially when using system images with API level 28 or higher. These system images include improved memory usage for guest-side graphics drivers.

In addition, we have also improved resource usage in the following areas:

  • Reduced emulator memory usage during long-running tests. If you still experience issues with memory usage during long-running tests, please create an issue that describes your use case in Issue Tracker .
  • Reduced CPU usage when running apps with animations.
  • Fixed an issue where the QEMU AIO context could leak on Windows.

Run multiple instances of a single AVD concurrently

You can now launch multiple instances of the same AVD and run them concurrently. Instances that you launch after the first instance are read-only, and their changes to the guest virtual disk are discarded on exit.

To run multiple instances of the same AVD at the same time, launch any instances after the first instance from the command line using the -read-only flag.

This feature is made possible by copying the QCOW2 files associated with the writable parts of the Android image. To help you manage disk space, we have also bundled the qemu-img command line tool to allow you to pre-commit QCOW2 files before launching multiple instances.

In addition, when used in tandem with the File-backed guest RAM snapshots feature, multiple AVD instances share the primary AVD Quickboot snapshot as a common source of copy-on-write guest RAM. This property means that the instances share much of their RAM in common. Use this feature to run tests that require multiple devices to run in parallel.

We appreciate your feedback on possible use cases that are part of your normal interactive or CI workflow. Please create or upvote issues in Issue Tracker .

File-backed guest RAM snapshots

By pre-allocating and mapping guest RAM as a file, the emulator can now save Quickboot snapshots during runtime, instead of doing all of the work on exit. If you currently experience long save times when closing your emulators, enable this feature to improve your Quickboot performance. By default, a Quickboot snapshot is saved on exit and loaded again every time, like suspending and waking a real device.

Because Android guest RAM is now auto-saved by default, if you want to define a device state and repeatedly load from that state, you need to tell the emulator to discard changes after each session. আপনি নিম্নলিখিত উপায়ে এটি করতে পারেন:

  • Use the -no-snapshot-save or -read-only flags when launching the emulator from the command line.
  • Go to Extended Controls > Snapshots > Settings and switch Auto-save current state to Quickboot? না থেকে
  • You will need to restart the emulator after selecting this option. If the emulator is set to auto-save, you can run the following command to set a checkpoint:
    adb emu avd snapshot remap 0
    
    After you run this command, the emulator Quickboot snapshot will stay at that checkpoint. Run the same command again to load the emulator from your checkpoint.

Snapshots that are taken and loaded through the Snapshots UI function as they did before, with no file mapping.

Because this is a large change to how Quickboot works, we would greatly appreciate your feedback on whether it improves Quickboot performance and what kind of issues you encounter when using it. If you experience problems, you can disable this feature by adding the following line to your ~/.android/advancedFeatures.ini file:

QuickbootFileBacked = off

When you start the emulator from a snapshot (either using the -snapshot command line option, or launching from a snapshot in the AVD manager) the emulator disables both auto-saving for Quickboot snapshots and saving Quickboot snapshots on exit. This reduces the chances that the Quickboot snapshot will be unintentionally overwritten, and avoids slow fallback paths that do not use file-backed Quickboot snapshots.

QEMU 2.12

We have rebased our variant of QEMU from QEMU 2.9 to QEMU 2.12. This update includes the following QEMU changes:

Here are some of the notable changes that impact the Android Emulator:

  • x86: gdbstub now provides access to SSE registers.
  • Disk images: Image locking is added and enabled by default. Multiple QEMU processes cannot write to the same image as long as the host supports OFD or posix locking, unless options are specified otherwise.
  • qemu-img: qemu-img resize supports preallocation of the new parts of the image.
  • QCOW2 shrinking now supported in qemu and qemu-img .

অ্যাক্সেসযোগ্যতা

  • Fixed issues with screen readers and added better support for these tools in the Screen Record and Snapshot UI.
  • Made the Quick Boot notification icons more accessible to users who are color blind.

গ্রাফিক্স

  • Fixed an out-of-bounds memory access issue that could occur for OpenGL ES vertex array pointers.
  • Some older GPUs did not support OpenGL 2.1 or greater (which is required), or had other reliability issues. These issues could cause the emulator to crash on start, freeze, or be unusable on the default GPU setting. The emulator now automatically switches to the Swiftshader renderer if it detects that these GPUs are in use.
  • Fixed an issue that caused the emulator to not post the correct framebuffer if FBO != 0 was bound at the time of eglSwapBuffers .
  • Fixed issue where the virtual Android display would only show up in the top left corner. We believe this was due to misconfigured Qt environment variables. The emulator now overrides all Qt scaling-related environment variables.
  • Fixed an issue where the emulator crashed in some situations when loading GLES1 apps from a snapshot.
  • Fixed concurrency issues in OpenGL and launching render threads that could result in double frees or corrupted data.
  • Android Emulator now supports ASTC LDR compressed texture support ( GL_KHR_texture_compression_astc_ldr ) for system images that use API level 28 or higher.
  • Most modern GPUs should now be able to launch the emulator with OpenGL ES 3.x enabled by default without using the GLESDynamicVersion feature flag.
  • -gpu guest (software rendering in the guest) has been deprecated. System images for API level 28 or higher now automatically switch to using Swiftshader instead ( -gpu swiftshader_indirect ).
  • If the emulator is launched from the command line using the -no-window flag, the default renderer is now Swiftshader.

অবস্থান

  • The emulator can now update bearing along with latitude and longitude position. The magnetometer virtual sensor adjusts itself dynamically to magnetic north by inferring motion when playing back a GPX or KML file.
  • Device speed can now be set on the Location page.
  • When playing back a GPX or KML file, the speed is set automatically, and is set to zero when the playback ends.
  • The altitude is no longer restricted to being between -1,000 and +10,000 meters.
  • Fixed an issue where the virtual GPS location would not be updated periodically unless the Extended Controls window was opened at least once.

ক্যামেরা

On Windows, more webcams are now supported because the emulator dynamically resizes the camera frames that are delivered from the webcam. This feature also prevents errors in frame delivery from causing the emulator to hang.

প্লে স্টোর

To address issues with running out of disk space on Play Store images, the emulator now automatically resizes the userdata partition to 6 GB when running with a fresh Play Store AVD.

General quality improvements and fixes

  • Some users reported that the emulator has been running slow. We identified one possible cause where the temp directory for the emulator ends up with too many stale files inside. As a workaround, the emulator no longer stores ADB liveness check files in that directory. However, it may also help to delete the contents of that folder. The folder is located in one of the following locations, depending on your operating system:
    • Windows: C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\*
    • macOS or Linux: /tmp/android-<username>/*
  • If the emulator is unable to start due to insufficient free RAM, an error message is now displayed. If you are on Windows and notice that there is RAM free, but you are still unable to start the emulator, the commit charge may have been exceeded. For help with this issue, see the emulator Troubleshooting page .
  • The -sysdir command line option now properly overrides the inferred system image directory.
  • Virtual modem now supports the model activity info +MAI query.
  • Fixed various issues with memory leaks, memory corruption, and CPU usage. If you are experiencing crashes, memory leaks, or other high resource usage, please create an issue in Issue Tracker .
  • Fixed an issue that reappeared on macOS 10.14 where using Bluetooth headsets with the emulator would degrade audio globally. To prevent this, the emulator now avoids using Bluetooth audio when running on macOS. ( Issue 37070892 )
  • Fixed an issue on Windows where the emulator clock would not be in the correct timezone.
  • Fixed emulator slowness and hangs on Linux systems with spinning harddrives (HDDs).
  • Fixed some compile warnings that could lead to stack corruption on macOS.
  • Fixed issues that could result in misleading reports of hanging.
  • Fixed an issue with destroying thread pools that could cause a crash if one of the threads was not successfully created.
  • Fixed an issue on macOS where timers would become unreliable, leading to hangs and other strange behavior. If you experience emulator hangs on macOS, please create an issue in Issue Tracker .
  • Fixed an issue where closing the emulator would disable the UI, but not actually close the emulator.
  • Fixed issues involving sporadic crashes, including an abort due to opening too many instances of /dev/urandom .
  • Fixed an issue that caused the emulator to fail to start after the first time if ADB was terminated forcefully.
  • The MIPS build has been removed. If you still require MIPS, please create an issue in Issue Tracker .
  • Fixed an issue where ADB connections could become corrupt on snapshot load.
  • Fixed an issue where the emulator window would have an afterimage or teleport offscreen when resuming a snapshot where the device orientation was different from the AVD's default orientation.
  • Fixed issues involving crashes when saving snapshots.
  • On Linux, btrfs filesystems can cause extreme slowdowns because the emulator automatically saves snapshots and uses copy-on-write for its virtual disk devices. We recommend cleaning out the ~/.android/avd directory and running the following command on the empty ~/.android/avd directory:
    chattr +C
    
    This creates new snapshots in a folder where copy-on-write is disabled.

HAXM 7.3.2

We would like to mention HAXM 7.3.2 again because it must be installed in order for recent system images to run properly on the emulator. HAXM 7.3.2 should already be available in the Stable channel, and can also be installed manually from https://github.com/intel/haxm/releases .

Here are a couple of the issues that this version of HAXM resolved:

  • Fixed random crashes of guest OSes that use a recent Linux kernel (>= 4.6). For example, Ubuntu 18.04 ( #39 , #74 ).
  • Fixed an x86 instruction emulator bug that could lead to a host crash ( #93 ).

32-bit Windows deprecation

Due to low usage and high maintenance costs, we are planning to deprecate the 32-bit version of the Android Emulator that runs on Windows. We will roll out a transition plan before removal and end-of-life for the 32-bit version of the Android Emulator. However, we are actively seeking any feedback or concerns with this future change.

Please let us know in Issue Tracker if you currently rely on the 32-bit version of the Android Emulator that runs on Windows and tell us how we can best work with you going forward.

27.3.10 (August 2018)

This update includes the following bug fix:

RAM size configuration fix

Some users reported that the emulator has been running slow. We identified one possible cause where the AVD RAM size in the AVD's config.ini file was being set incorrectly.

To mitigate this, the emulator increases the minimum RAM level for images that use API level 26 or higher to the Android Studio default level of 1536 MB. If your AVD's config.ini file is not listing hw.ramSize in megabytes, please create an issue in Issue Tracker . You can find the config.ini file in the following location:

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

27.3.9 (July 2018)

This update includes the following improvements and bug fixes:

Improved error messages for Windows Hypervisor Platform

Some users were having difficulty diagnosing why the Windows Hypervisor Platform (WHPX) failed to initialize when they activated a WHPX emulator. To help you diagnose these issues, we have added more informative error messages. You can enable these error messages by running the emulator from the command line using the -verbose flag.

সাধারণ সংশোধন

  • Fixed OpenGL errors that occur when loading a snapshot in the camera app.

27.3.8 (July 2018)

This update includes several new features, improvements to existing features, and bug fixes.

স্ন্যাপশট

You can now save multiple AVD snapshots for a given device configuration and choose which of the saved snapshots to load when you start the emulator.

Starting with Android Studio 3.2 Canary 13, each device configuration includes a control in the advanced settings in the Virtual Device Configuration dialog with which you can you can specify which AVD snapshot to load when starting the AVD.

To accommodate this expansion of the snapshot features, we have added a Snapshots category to the Extended controls dialog. This new pane contains controls for saving and loading AVD snapshots, including the controls for saving and loading the quick-boot snapshot that had previously been in the Settings pane.

You can edit the name and description of each saved snapshot.

For details, see Snapshots .

HAXM 7.2.0

HAXM 7.2.0 is now available in all channels.

This update includes bug fixes and improved support for large amounts of RAM. Also, with this HAXM update and Emulator 27.3 and later, snapshots load their contents into RAM on demand rather than loading the entire snapshot when the virtual device starts. This change should greatly decrease the time needed to load a snapshot.

For details, see Configuring VM acceleration .

27.2.9 (May 2018)

This update includes several new features, improvements to existing features, and bug fixes.

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

You can now record video and audio from the Android Emulator and save the recording to a WebM or animated GIF file.

The screen recording controls are in the Screen record tab of the Extended Controls window.

Tip: You can also open the screen recording controls by pressing Control + Shift + R (Command + Shift + R on Mac).

To begin screen recording, click the Start recording button in the Screen record tab. To stop recording, click Stop recording .

Controls for playing and saving the recorded video are at the bottom of the Screen record tab. To save the video, choose WebM or GIF from the menu at the bottom of the tab and click Save .

You can also record and save a screen recording from the emulator using the following command on the command line:

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

স্ক্রিনশট

You can take screenshots from the command line with either of the following commands:

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

Screenshots are saved in PNG format.

Virtual scene camera and ARCore

Developing and testing augmented reality apps (AR) with ARCore is now even easier with the new virtual scene camera, which allows you to experiment with your AR experience within a virtual environment.

For information on using the virtual scene camera in the emulator, see Run AR apps in Android Emulator .

Google Play Store on Pixel device images

The Google Play Store is now enabled for Pixel and Pixel 2 device images. This is indicated in the AVD Manager in Android Studio 3.2 and later with the Google Play logo in the Play Store column. AVDs with Google Play Store enabled have a Google Play tab in the Extended controls dialog that provides a convenient button for updating Google Play services on the device.

স্ন্যাপশট

You can now load a Quick Boot snapshot without restarting the emulator. To load a snapshot, open the Extended Controls window to the Settings page and click the Load Now button.

We have made many improvements to the loading and saving of snapshots to improve efficiency of resource usage and to minimize the time that each operation takes. If you still experience unusually long saves, please file an issue , providing details of your CPU, RAM, and settings of any antivirus / firewall / security software that is running.

Rendering with Skia

When using images for API 27 or later, the emulator can render the Android UI with Skia , which can render more smoothly and efficiently.

For now, use of Skia requires that you explicitly enable it.

To enable Skia rendering, use the following commands in adb shell:

  su
  setprop debug.hwui.renderer skiagl
  stop
  start

ক্যামেরা

On Windows, Android Emulator now uses Media Foundation as the webcam back end, which greatly improves performance and frame rate for webcam capture, up to 720p 30 FPS.

On Mac, you can now use webcam0 and webcam1 together.

বিবিধ

The -phone-number-prefix command-line option has been changed to -phone-number [number] , which allows setting of the full phone number.

You can now use alphanumeric SMS addresses.

সংশোধন করে

  • The Linux version of the Android Emulator is now built using a modern Clang C++ toolchain. This change fixes the issue of the emulator failing to start due to libGL and libstdc++ errors.
  • Fixed several causes of crashes and hangs.
  • To avoid crashes and hangs caused by not having enough free disk space, the emulator now checks for sufficient free disk space on startup, and will not start unless at least 2 GB is free.
  • Fixed an issue that prevented some Unity games from rendering.
  • Fixed DNS issue that caused the emulator to be unable to connect to the network.
  • Fixed an issue that caused changes to the internal storage allocated to an AVD through the Virtual Device Configuration dialog to not work.
  • Fixed an issue of many adb processes being created and not properly shut down.
  • Fixed an issue that caused the rotate buttons and other parts of the UI to become unresponsive unless the Extended controls window was open.
  • Fixed an issue that caused copy and paste from the host to not work unless the Extended controls dialog was opened at least once.
  • The frameless emulator's resize rectangle has been updated to better follow the emulator's visual theme.
  • Telephone and SMS are now properly deactivated when airplane mode is on.
  • Fixed an issue that caused SMS and cellular functionality to be disabled after loading a snapshot.
  • You will no longer receive false warning messages saying “Unable to open... \pstore.bin. Permission denied.”
  • Fixed an issue that prevented re-positioning the AVD on some Mac screens.
  • Fixed issues with flickering and blank screens on newer MacBook Pro computers when running AVDs with Pixel 2 XL skins.
  • Fixed issues with blank screens when switching into zoomed mode while a frameless emulator was active.
  • Fixed an issue that caused the device skin and emulator contents to scroll out of sync when zoomed in.

If you are still experiencing hangs or other instabilities, please file an issue .

27.1.12 (March 2018)

This update includes fixes for the following issues:

  • Bluetooth audio quality degraded after starting the emulator. ( Issue 37095756 )
  • Locations sent to one emulator were sent to all of them. ( Issue 73450633 )
  • GPS location set using the console was overridden by values set using Extended Controls > Location in the graphical user interface. ( Issue 73471760 )

If you are still experiencing hangs or other instabilities, please file an issue .

With this update, a current system image, and a preview version of Android Studio, you can use Android Emulator to run augmented reality applications built with ARCore. For detailed requirements and instructions, see Run AR apps in Android Emulator .

27.1.10 (February 2018)

  • Camera capture resolution

    720p frames can now be captured from an attached webcam.

    To work with Android 8.1 (API level 27) and higher system images, any attached webcam must have the capability to capture 720p frames.

  • সংশোধন করে

    • Fixed an issue that caused webcam capture to sometimes output a distorted or all-green image.
    • Fixed an issue that made it possible to see the following message even when there was no actual hang: "emulator: ERROR: detected a hanging thread 'Qt event loop'. No response for 15000 ms".

If you are still experiencing hangs or other instabilities, please file an issue .

27.1.7 (February 2018)

  • Frameless emulator window:

    By default, emulators with device skin files are now shown without a surrounding window frame. To show the surrounding window frame, enable Show window frame around device in the Settings pane of the Extended Controls window.

  • Quick Boot improvements to make working with AVD snapshots more efficient:

    • You can save an AVD snapshot at any time using the Save Now button in the Settings pane of the Extended Controls dialog box.
    • The emulator reduces the time that it takes to save a snapshot in many cases by saving only the difference between the current state and the previously saved snapshot.

    For details, see the Quick Boot documentation.

  • The emulator has been updated to use QEMU 2.9.

    Some notable improvements include the following:

    • Optimized I/O and finer-grained I/O thread locking for greater performance.
    • Fixed bugs since QEMU 2.8 (26.1.4).
    • New implementation of the HAXM back end.

    See the full list of changes in the QEMU 2.9 change log .

  • Swiftshader implementation conforming to OpenGL ES 3.0:

    The emulator's Swiftshader renderer now conforms fully with OpenGL ES 3.0. For details of the Swiftshader renderer, see the Settings > Advanced section of Extended Controls .

  • সংশোধন করে

    • Fixed an issue where clipboard sharing was not working unless the Enable clipboard sharing option was toggled off and on.
    • Fixed a hang when using the Swiftshader rendering back end with low-resolution AVDs.

27.0.5 (January 2018)

  • ANGLE for rendering on Windows is now disabled by default.

    If ANGLE works better for you, you can re-enable it with command line flag -gpu angle_indirect . Or, open the Extended controls window, navigate to Settings > Advanced , and select ANGLE D3D11 for the OpenGL ES renderer setting.

  • Fixed an issue where Shift+B does not type a capital B character.

27.0.2 (December 2017)

  • New Quick Boot feature provides faster emulator start times, based on a snapshot of your AVD instance.

    Quick Boot is enabled by default for all AVDs. Although the first time you start an AVD it must perform a cold boot (just like powering on a device), all subsequent starts are fast and the system is restored to the state at which you closed the emulator (similar to waking a device).

    If you want to control when the emulator saves a snapshot, open the emulator's Extended controls window and click Settings . Here, you can select one of the following settings for Save quick boot state on exit :

    • Yes : Always save quick boot snapshot when you close the emulator. এটি ডিফল্ট।
    • No : Never save quick boot snapshot; always perform a cold boot.
    • Ask : Prompt whether or not to save quick boot snapshot when you close the emulator.

    Your selection applies only to the currently open AVD.

    For more information, see the Quick Boot documentation .

  • Added support for Mac OpenGL ES 3 (for system images using API level 24 and higher, Google APIs, and the x86 ABI).

  • For added stability in OpenGL ES 2+ apps, emulator now uses OpenGL core profile if available.

  • New options for rendering with Swiftshader / ANGLE:

    • -gpu swiftshader_indirect : Faster, more stable variant of Swiftshader that works with Quick Boot.
    • -gpu angle_indirect (Windows only): More stable variant of ANGLE D3D that also works with Quick Boot.

    The older -gpu swiftshader and -gpu angle options are now deprecated. In the Extended controls window, the "SwiftShader" and "ANGLE" options for the OpenGL ES renderer setting in Settings > Advanced now use the *_indirect variants.

  • অন্যান্য বিভিন্ন বাগ ফিক্স।

26.1.4 (August 2017)

This is a minor release with bug fixes and the following improvements to GPU configuration:

  • Enable boot animation when running on ANGLE renderer
  • Disable GLES3 when running on ANGLE renderer

26.1.3 (August 2017)

This is a minor release with bug fixes, performance improvements, and small feature changes.

  • This version is now required to use the latest Android 8.0 system images. They are Treble-compliant , featuring separate vendor.img partitions.
  • New HAXM 6.2.0 now available (check the SDK Manager) and includes the following updates:
    • Improved memory usage. The peak working set of memory pinned by HAXM is no longer equal to the size of the AVD's RAM; instead, memory is paged in on demand. This should help the emulator run more reliably on machines with lower amounts of RAM.
    • The emulator with HAXM 6.2.0 can now boot faster on macOS, skipping a lengthy initialization phase.
  • Improvements to GPU configuration
    • Fixed issues with black screen on boot when performing guest-side software rendering by falling back to host-side software rendering with Swiftshader. Latest revisions of system images for API levels 19 - 25 with Google APIs should have working guest-side rendering.
    • Fixed an issue where the emulator was switched to a software renderer due to detecting the presence of older Intel GPUs, but the emulator was actually running on a discrete GPU. Which GPUs will be switched to use ANGLE or Swiftshader rendering is determined as follows:
      • Older Intel iGPUs have driver issues on both OpenGL and ANGLE D3D drivers. Users with Intel HD Graphics 3xxx and older will use Swiftshader.
      • Some users reported the inability to use API level 25 images because of a bug in which "Pixel Launcher keeps stopping." This seems to be a driver issue in some Intel HD 4xxx models. So they will be switched to use ANGLE automatically.
    • For best results with GPU emulation, we recommend either to use a discrete NVIDIA or AMD GPU, or a newer Intel GPU (Iris, HD 5xxx, HD 5xx/6xx).
    • Fixed an issue where the emulator would fail to start (OpenGL emulation failed to initialize) if the AVD was configured with hw.gpu.mode=host and the emulator was launched in a remote desktop client.
    • Clarified "OpenGL ES API level (requires restart)" settings; added an option to downgrade from OpenGL ES 3 to OpenGL ES 2 if experiencing issues or needing to test on lower OpenGL ES API levels.
    • Mesa renderer is deprecated; hw.gpu.mode=mesa will now be automatically switched to use Swiftshader on the host.
  • Improvements for macOS:
    • The emulator is now fully compatible with macOS 10.13 High Sierra through either Hypervisor.Framework or HAXM 6.2.0.
    • Hypervisor.framework is now enabled by default on macOS for 32-bit x86 images to improve performance and macOS compatibility. If you experience issues with it specifically, please file a bug report and append HVF = off to ~/.android/advancedFeatures.ini (create this file if it doesn't exist).
    • Fixed issues with no internet / failure to attach debugger while using Hypervisor.framework.
    • To enhance compatibility and performance of webcam capture, the QTKit-based camera capture has been replaced with a buffered one based on AVFoundation.
  • Added support for Wi-Fi in some system images (currently only API level 25). An access point called "AndroidWifi" is available and Android automatically connects to it. Wi-Fi support can be disabled by running the emulator with the command line parameter -feature -Wifi .
  • Some users raised the concern that the fixed-size Play Store system images did not have sufficient storage. As such, we've increased the size to 2 GB by default (up from 800 MB).
  • Added a keyboard shortcut (Ctrl+Shift+U) to open the bug reporting UI page directly from the settings page.
  • Fixed an issue where if an older CPU with Intel x86 EPT but without UG was used, the emulator would fail to boot if more than one core was configured.
  • Fixed an issue where HyperV would be improperly detected if the emulator was itself running in a Xen hypervisor.
  • Fixed an issue where the emulator would crash on start in some Linux configurations.

26.1.2 (July 2017)

This release includes new features and performance improvements.

  • Added the ability to define a custom HTTP proxy configuration in the extended controls (click More, and then click Settings and Proxy ). By default, the emulator uses the Android Studio HTTP proxy settings, but this screen allows you to define a manual proxy configuration.

  • Added VNC support for guest mode GPU so emulator can be remotely viewed and controlled. For example, you can launch the emulator and let VNC listen to port 5901 as follows:

    1. Execute: emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1
    2. Open a VNC viewer, such as tightvnc viewer, to connect to port 5901.

      • To use Mac's built-in screen sharing client, a VNC password is required when launching the emulator. To set a password, use this command:

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

        And then enter change vnc password into the console, and enter a password.

    Android O is not currently supported for VNC mode.

  • Added a File a bug button in the extended controls Help screen (Click More, and then click Help and Emulator help ). Clicking File a bug opens a dialog where you can see the bug report details such as the screenshot, the AVD configuration info, and a bug report log. You can then save the report for yourself or report emulator issues .

  • Added gyroscope sensor to emulator and virtual sensors panel. This requires a system image with gyroscope support to work (currently API level 24 and 25).

  • Added host-preferred DNS to Qemu DNS list on Windows, when multiple virtual network interfaces on the host introduce multiple DNS addresses which are not functional for the emulator.

  • Added experimental macOS Hypervisor.Framework support for 32-bit x86 images on macOS 10.10+ through server flags, which should improve boot time and performance.

    • If you experience problems with it, add the line HVF = off in ~/.android/advancedFeatures.ini .
  • OpenGL ES 3.x is now enabled by default for system images and host GPUs that support OpenGL ES 3. Currently, only Android O (API level 26) and Windows/Linux hosts support OpenGL ES 3.

    • If you experience problems with OpenGL ES 3, add the line GLESDynamicVersion = off in ~/.android/advancedFeatures.ini .
  • Emulator now uses offscreen OpenGL FBOs for all rendering except final display image posting, which should help with color consistency issues across platforms.

  • After collecting data on sudden emulator slowdown issues, we have determined that the problem may have to do with some interaction between older Intel OpenGL drivers and Windows updates. As such, users with Intel HD 4000, 3000, 2000 (and related GPUs) now have rendering set by default to either a D3D renderer (ANGLE) or Swiftshader (software renderer).

26.0.0 (March 2017)

This release is compatible with API level 26. It also includes a number of performance improvements and bug fixes.

Minor revision 26.0.3 (May 2017)

  • Adds online-updateable feature flags for quickly addressing issues stemming from problematic hardware configurations. This allows Google to roll out fixes and features that are dependent on user configurations by updating server-side flags. If you notice issues with specific hardware, please report a bug so we can investigate the problem.
  • New support for rotary input for Android Wear API level 25 system images. To emulate the rotary input dial on a Wear device, click the Rotary Input tab on the extended window.
  • The Crash Reporting dialog is now resizable and no longer resets When to send crash reports to Ask without input.
  • The 32-bit emulator now requires that the maximum AVD RAM size be less than or equal to 512 MB, in order prevent the emulator from running out of room in the 2 GB virtual address space.
  • Adds support for absolute paths in emulator images.
  • Adds a new tab in the extended window for Google Play Store images that displays the Play Services version and a button to check for updates to Play Services.
  • Adds a dropdown to select the OpenGL renderer on the Emulator Settings page. If you are experiencing issues with the OpenGL driver on a Windows machine, try using the ANGLE (D3D11) or ANGLE (D3D9) options (requires a restart). If you are experiencing issues with the OpenGL driver on a non-Windows machine, try using the Swiftshader software renderer (requires a restart).
  • Fixes a rare crash on exit when the emulator receives both exit and minimize commands.
  • Fixes a scaling issue when changing displays on a Mac machine. ( Issue 268296 )
  • Fixes an issue where the emulator takes 300% of the CPU and holds it after resuming the host computer from sleep or when the emulator has been running for a long time.
  • Fixes a crash when the emulator is shutting down.

Updates with HAXM v6.1.1 (March 2017)

Note: HAXM v6.1.1 is available for Mac users through the SDK Manager as of March 30th, and will be available for Windows users soon.

Version 26.0.0 of the Android Emulator supports HAXM v6.1.1, which includes the following updates:

  • Enables Performance Monitoring Units (PMU) emulation. ( Issue 223377 )
  • Fixes coexistence with VirtualBox and Docker on Macs. ( Issue 197915 )
  • Revises the installation error message displayed when the installer fails to detect Intel VT-x on Windows, usually because Hyper-V is enabled.
  • Adds support for accelerating the Android Emulator in a Hyper-V-based Windows VM. This update requires that the host Hyper-V instance (the one that manages the Windows VM/guest) use the latest version of Hyper-V with nested virtualization enabled. Hyper-V must be disabled in the guest Hyper-V instance (the Windows VM).

নির্ভরতা

  • Android SDK Platform-Tools revision 25.0.4 or later.
  • Android SDK Tools revision 26.0.0 or later.

New features and bug fixes

  • Compatible with API level 26.
  • Fully GLES 2.0 compliant. Given a host GPU that has conformant desktop OpenGL drivers, the emulator now passes 100% of the Android CTS dEQP-GLES2 mustpass list . This has been released for API level 24 x86 images (revision 11 and higher) and will soon be included for all system images.
  • Improved video playback performance. The emulator now stores all video color buffers in host/guest shared memory and performs necessary final YUV to RGB conversion in the GPU. 1080p30 should be well within reach of most systems now. This has been released for API level 24 x86 images (revision 11 and higher) and will soon be included for all system images.
  • The emulator now correctly unregisters itself from the adb devices list on exit and closes open TCP ports on Linux machines.
  • adb connections are now more reliable. A running emulator is detected faster and doesn't go into “offline” or “unauthorized” status anymore.

25.3.0 (March 2017)

As of this release, the Android Emulator will be released separately from the SDK Tools. This release contains a variety of performance improvements, new features, and bug fixes.

Minor revision 25.3.1 (March 2017)

  • Fixed a crash occurring on some GPU configurations by disabling GLAsyncSwap by default. This feature was added in 25.3.0 to improve frame timing and frames per second for games and video, but causes the emulator to fail on some unknown machine configurations. You can manually enable it by opening the android_sdk /emulator/lib/advancedFeatures.ini file and setting GLAsyncSwap = on .

নির্ভরতা

  • Android SDK Platform-Tools revision 24 or later.
  • Android SDK Tools revision 25.3.0.

New features and bug fixes

  • Updated emulation engine to QEMU 2.7, including all recent bug fixes, improved performance, and new features.
  • New IPv6 support.
  • The emulator now uses SwiftShader as a pure software renderer on the host.
  • Android Pipe performance improvements: Android Pipe, the main communication channel between the emulator and Android OS, is now an order of magnitude faster, has lower latency and offers better multi-threaded performance. This causes a number of performance improvements for the emulator, including:
    • Improved ADB push/pull speed.
    • Better 3D acceleration support.
    • Increased overall responsiveness of the emulator.
    • Improved graphics performance.
  • The emulator now uses GPU-side buffers (glBindBuffers / glBufferData) when the guest requests them, decreasing CPU overhead in some apps.
  • Improved audio support.
  • Faster disk I/O: The emulator now uses separate threads to dispatch disk I/O, resulting in lower latency and better throughput (~1.5x sequential I/O speed, ~5x random access I/O speed). This also reduces the number of flushes to disk, resulting in much lower physical device load.
  • The emulator now uses sparse files for disk boots on Windows machines, speeding up both first boot and "wipe-data" boots. When creating or resetting an AVD, the emulator now writes 100-200 MB of data to disk, instead of 2 GB or more.
  • Various GUI enhancements:
    • The emulator now uses Qt 5.7.0, which includes bug fixes and performance improvements.
    • UI initialization no longer attempts to load all emulator executables as Qt plugins, so it's dramatically shorter, especially on HDDs.
    • UI interactions are now faster and smoother, including rotation, window resizing, and extended controls window loading and closing.
,

Android Emulator is included with Android Studio.

Versions of the emulator prior to 25.3.0 were distributed as part of the Android SDK Tools.

To ensure you have the latest version, check the SDK Manager for updates.

To download previous versions of Android Emulator, see the Emulator download archive .

For release notes for Emulator versions prior to 25.3.0, see the Android SDK Tools release notes .

For known issues and troubleshooting, please see Emulator Troubleshooting .

35.2.10 (Oct 1, 2024)

  • New Pixel AVDs added including Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, and Pixel 9 Pro Fold
  • Added new Tablet system image for Vanilla Ice Cream (API 35)

35.1.20 (Aug 29, 2024)

  • Added Pixel 8a AVD
  • Various bug fixes for foldable
  • Qt update and fixes to qt related crashes and hangs
  • [Bug Fix] Fix to crashes and freeze on Windows with applications using Vulkan

34.2.16 (July 9, 2024)

  • [Bug Fix] UI freezes that occur on Pixel Fold during fold/unfold
  • [Bug Fix] Incorrect display of Android version as Android Vanilla Ice Cream Preview instead of API 35 on Mac M1.
  • [Bug Fix] Issue #296162661 : HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE returns true on Pixel C tablet emulator

34.2.15 (May 31, 2024)

  • Various crash fixes related to swangle mode and advertiser cleanup

34.2.14 (May 20, 2024)

Tested with Android Studio Jellyfish Stable Patch 1.

  • [Bug Fix] Snapshot sometimes hangs on embedded emulator
  • [Bug Fix] 'No' and 'Cancel' buttons are not working properly on snapshot
  • [Bug Fix] Directional pad buttons are not working
  • [Bug Fix] Fixed the issue seen on Windows preventing the emulator to start in some conditions when using GPU modes with ANGLE, and returning the error message “Failed to initialize GL emulation” in the log. Note that starting the emulator by command line with the option -gpu swangle_indirect might still generate this error with this version. If you still want to start the emulator using a command line on Windows with Software graphics rendering with this version, please use -gpu swiftshader_indirect
  • [Bug Fix] Location shortcut on keyboard loads an unusable map
  • [Bug Fix] While setting location, the "save route" dialog is missing

34.2.13 (April 30, 2024)

Tested with Android Studio Jellyfish Stable.

  • Update to Qt 6.5.3
  • Compatibility for the Google Maps API updates used in the Location features in the Extended Controls of the emulator, occurring at the end of May.
  • High impact crash fixes
  • Various fixes to Pixel AVDs
  • Update the graphics library used for software rendering
  • [Bug Fix] Issue 225541819 Starting Chrome crashes Emulator on x86_64
  • [Bug Fix] Issue 314614435 -http-proxy switch is parsed incorrectly

34.1.20 (April 1, 2024)

Tested with Android Studio Iguana Stable.

  • [Bug Fix] Issue #314614435 : Fix issue where -http-proxy switch is parsed incorrectly

34.1.19 (March 7, 2024)

Tested with Android Studio Iguana Stable.

  • [Bug Fix] Issue #312677259 : Fixed screen freeze in embedded emulator after resizing window.

34.1.18 (Feb 29, 2024)

Tested with Android Studio Iguana Stable.

  • Devices were added to Emulator including:
    • পিক্সেল ভাঁজ
    • পিক্সেল ট্যাবলেট
    • পিক্সেল 8
    • Pixel 8 Pro
    • Pixel 7a
  • gRPC Integration Test: gRPC endpoints are now available to instrumented tests running inside the emulator that would enable testing of realistic scenarios. This feature enables developers to safely interact with the gRPC endpoint hosted by the Android Emulator from within Android instrumentation tests.
  • বিভিন্ন বাগ ফিক্স
    • Bug Fix : Improvements in fold device usability
    • Bug Fix : Adjust the position of the Emulator after rotation
    • Crash fixes

33.1.24 (Dec 28, 2023)

Tested with Android Studio Hedgehog Stable and Iguana Beta 1.

  • Fix Emulator webcam issue that doesn't allow screen record in mp4 format.
  • Fix Emulator crash on the Pixel Fold AVD when it is unfolded during a screen recording.
  • Fix issue where Pixel Fold shows a different phone skin with a detached keyboard and is unusable (fixed on Windows, Mac Intel, and Linux)
  • Fix glitch in appearance in Virtual sensors in Standalone mode (fixed on Windows, Mac Intel, and Linux)
  • Provide fixes for some crashes, especially while closing the emulator, were fixed

33.1.23 (Nov 30, 2023)

Tested with Android Studio Giraffe Patch 4 and Hedgehog Stable.

  • New foldable implementation to better emulate Pixel Fold device, works with latest API 34
  • Graphics backend upgrade: We've implemented the gfxstream protocol for our graphics backend, This enhancement elevates the overall graphics performance and stability of your system. In addition, introducing Vulkan 1.3 support beginning with system image with API 34
  • Feature Request : Option to disable pinch-to-zoom gesture or reassign its hotkey
  • [Bug Fix] Issue #302562962 Fix Emulator webcam crash when using MacOS sonoma
  • [Bug Fix] Issue #293503871 Fix issue where 'Microphone' setting is not saved when Emulator is restarted
  • [Bug Fix] Issue #270386314 Fix animation error where sidebar stays open once the AVD screen minimized
  • [Bug Fix] Issue #154896775 Fix bug submission tool

32.1.15 (Aug 29, 2023)

Tested with Android Studio Giraffe Patch 1 and Hedgehog Canary 16.

  • Comply with GAS HW requirements for Sensors in AAE Emulator
  • [Bug Fix] Issue #266201208 Hebrew SMS is not sent on API 33
  • [Bug Fix] Issue #257097404 Emulator doesn't show correct time after the host is waken up on API 29 and 30
  • [Bug Fix] Issue #228201899 Can't see google maps inside Android Emulator Extended Controls

32.1.14 (June 27, 2023)

Tested with Android Studio Hedgehog Canary 8, Giraffe Beta 5, and Flamingo Stable.

  • Fix emulator camera orientations & distortions.
  • [Bug Fix] Issue #257097404 "Emulator doesn't show correct time after the host is waken up". This bug is still reproducible for API 29 and API 30.
  • [Bug Fix] Issue #243456582 "Android releases after API 30 might not start correctly in emulator on Mac M1 machines"

32.1.13 (May 22, 2023)

Tested with Android Studio Hedgehog Canary 2, Giraffe Beta 1, and Flamingo Stable.

  • Add support for Pixel Fold and Pixel Tablet AVDs.
  • Improve gLinux crash issue.
  • [Bug Fix] Issue #215231636 "Emulator with API above API 30 not working in Intel 12th gen processor".
  • [Bug Fix] Issue #275397905 Highlevel of crash on Android Emulator M1 when moving cursor focus in and out of the emulator repeatedly.
  • Known issue with AVD launch Issue #281725854 . Please see Emulator Troubleshooting for more information.

32.1.12 (March 21, 2023)

Tested with Android Studio Giraffe Canary 10, Flamingo RC, and Electric Eel Patch 2.

  • [Bug Fix] Issue #267647323 Network doesn't work on Emulator started from Android Studio
  • [Bug Fix] Issue #268498686 Emulator screen is flickering
  • [Bug Fix] Issue #270034824 Emulator performance degraded after updating to version 33.1.1
  • [Bug Fix] Issue #225541819 Starting Chrome crashes Emulator on x86_64
  • [Bug Fix] Issue #257097404 Emulator doesn't show correct time after the host is waken up
  • Add crash reporting for Apple M1 devices

32.1.11 (February 8, 2023)

Tested with Android Studio Giraffe Canary 2, Flamingo Beta 1, and Electric Eel Patch 1.

  • Network speed optimizations
  • Mouse support in Embedded Emulator
  • Virtio-snd improvements
  • Disable the usage of symlinks while unzipping the Android Emulator during installation
  • Fix crash in emulator-check

31.3.14 (December 13, 2022)

Tested with Android Studio Dolphin, Electric Eel RC1, and Flamingo Canary 9.

  • [Bug Fix] Fix AVD crashes that occur when logging in to Play Store.

31.3.13 (October 27, 2022)

Tested with Android Studio Dolphin, Electric Eel Beta 2, and Flamingo Canary 5.

31.3.12 (October 10, 2022)

Tested with Android Studio Dolphin and Electric Eel Beta 1.

This update includes the following improvements and fixes:

  • [Bug Fix] Issue #247843000: AVD relative path handling error
  • Increase disk size for API 24 and later

31.3.11 (September 23, 2022)

Tested with Android Studio Dolphin and Electric Eel Canary 10.

This update includes the following improvements and fixes:

  • [Bug Fix] Embedded Emulator AVD crash on Extended Controls Window
  • [Bug Fix] Issue #183139207: Audio issues associated with Emulator activating microphone
  • [Bug Fix] Issue #229764024: AVD sticky touch bug that results in UI behavior issues
  • [Bug Fix] Error with launching API 33 AVD on Mac M1.
  • [Bug Fix] Issue #243053479: Slow network speed after updating Emulator
  • [Bug Fix] Issue #244617627: Nonfunctioning Maps location on Windows and Linux
  • [Bug Fix] Issue #232971796: Nonfunctioning “call device” button on the Extended Controls > Phone page
  • Update Android Emulator to minigbm
  • Migration of build scripts to Python3

31.3.10 (August 18, 2022)

Tested with Android Studio Dolphin Beta 5 and Electric Eel Canary 9.

Standalone downloads of the emulator are now available. If you're experiencing any issues or crashes with this latest stable release, please file a bug and consider downloading a previously working version from the emulator download archives .

This update includes the following improvements and fixes:

  • Better unicode path support on Windows
  • Better handling of emulator shutdown so a new launch of the same AVD could succeed.
  • Updated foldable AVD design and default settings
  • Updated Wear emulator buttons
  • gRPC audio streaming improvements
  • Resizable emulator console command added
  • Chrome Fix for API 31
  • [Bug Fix] Google Account Auth Failed with GmsCore v21.42.18

31.2.10 (April 20, 2022)

Tested with Android Studio Dolphin Canary 8 and Chipmunk RC 1.

This update includes the following improvements and fixes:

  • Add utility to load Vulkan functions with fallbacks
  • [Bug Fix] Fix gcc8 build error

31.2.9 (March 23, 2022)

Tested with Android Studio Dolphin Canary 7.

This update includes the following fix:

  • [Bug Fix] Ignore memory pressure when saving snapshot on M1

31.2.8 (February 7, 2022)

Tested with Android Studio Bumblebee Patch 1 and Chipmunk Canary 6.

This update includes the following improvements and fixes:

  • [Bug Fix] Unable to sign in to the apps
  • [Bug Fix] Issue #215368358: "adb reboot" on Intel platform will crash avd with "vcpu shutdown request"

31.2.7 (February 1, 2022)

Tested with Android Studio Bumblebee Patch 1 and Chipmunk Canary 6.

This update includes the following fix:

  • [Bug fix] Emulator hanging error on M1 machines.

31.2.6 (January 20, 2022)

Tested with Android Studio Arctic Fox, Bumblebee Beta 4, and Chipmunk Canary 6.

This update includes the following improvements and fixes:

  • Added wear buttons to Wear OS emulator.
  • Made all vehicle properties editable in VHAL tab.
  • [Bug Fix] Google Account Auth Failed with GmsCore v21.42.18.
  • [Bug Fix] Netshaper didn't work well with VirtioWifi.
  • [Bug Fix] Event mouse console command didn't work.
  • Added KVM check for local AVD creation.

31.1.3 (January 18, 2022)

This update includes the following improvements and fixes:

  • Enabled console ports for Fuchsia.
  • When resizing a multi-display window, orientation is ignored.
  • Wi-Fi: Added support for filtering out unicast packets based on MAT mac address.
  • Wi-Fi: Fixed crash when vmnet is in use.

30.9.5 (December 15, 2021)

This update includes the following improvements and fixes:

  • Added ability to easily resize to a desktop or tablet sized window.
  • Added support for multi-touch input from compatible host devices.
  • VirtioWifi: Added support for tap network.
  • Enabled Rotary Input for Wear System Images.
  • Fixed the gRPC audio configuration issue.
  • Updated SensorReplay Emulator Playback to support standard Android sensors.
  • Connected the emulator to peripherals and devices using USB with USB pass through.

30.4.5 (February 23, 2021)

This update includes the following improvements and fixes:

  • macOS: Fixed issues with audio input distortion.
  • Added support for virtio-vsock in userspace.
  • Future system images will use virtio-console for logcat and kernel messages.
  • Speed up Vulkan rendering.
  • Added support for snapshot debugging on test failure.
  • virtio-gpu: updated definitions to support latest blob resource enums.
  • Added snapshot support for the 'asg' type graphics transports.
  • macOS: Added support for building against macOS SDK 11.1+.
  • KVMclock enabled by default on newer system images.
  • Added support for a heart rate sensor to Wear emulators.
  • Removed libportability Vulkan backend.
  • Added support for more features in modem simulator.

30.0.26 (August 16, 2020)

This update includes several new features, improvements to existing features, and bug fixes.

Foldables support with virtual hinge sensor and 3D view

  • Added support for hinge sensors for foldable devices. This requires a future Android 11 system image and AVD configuration. 3D foldable view and hinge parameters are now integrated with the existing foldable presets. The following can be a used with, for instance, the 7.3 foldable AVD's config.ini file:

    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
    
  • Foldable devices now also carry a sub-type parameter. The config.ini property hw.sensor.hinge.sub_type = hinge/fold is now available. See the Developing for Android 11 with the Android Emulator blogpost to read more.

  • Hinge sensor is now enabled by default.

  • If a foldable device is configured, the emulator now sends hinge angle sensors updates and posture changes to the guest. Existing foldable devices will now update hinge sensor angle and posture when the toolbar's fold or unfold buttons are pressed.

Emulator for ARM64 hosts

  • Linux emulator source code now supports cross compilation from x86_64 to arm64 hosts, enabling running arm64 system images with KVM virtualization. Currently, only -gpu swiftshader_indirect (Swiftshader arm64 host rendering) is supported, but a compatible set of host GPU libEGL/libGLESv2 libraries may also be used by replacing lib64/gles_swiftshader with them and then relaunching with -gpu swiftshader_indirect . Snapshots may also not be working (add -no-snapshot to the command line). নির্দেশাবলী:

    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
    
  • Support for Apple Silicon is in progress.

virtio-gpu support

  • Added support on the host side for upcoming virtio-gpu host coherent blob resources.
  • Due to how emulator rendering works, we now process virtio-gpu virtqueue in the vcpu thread (because rendering is offloaded to other threads anyway). virtio-gpu rendering will be enabled in a future system image and emulator version.
  • In a future system image the emulator will be able to run all graphics with a virtio-gpu based stack.

Other new features and enhancements

  • USB passthrough is now available on Windows using -qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id> . (This should also have been workng on Linux and macOS already)
  • Updated WebRTC libraries to M83.
  • The emulator now supports audio streaming in containers over WebRTC.
  • darwinn pipe endpoint has been removed.
  • CUDA VPx decode for video is now available, if CUDA VPx decode is available in hardware, via the environment variable ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1 .
  • On macOS, SSE 4.1 and 4.2 are now available from inside the Android guest.
  • On macOS, INVTSC is now enabled by default. This can improve accuracy of time measurements from the guest.
  • We now track which extended control pane was selected by the user in metrics.
  • Linux emulator now uses KVM paravirtualized clock when the guest kernel version is >= 5.4 (R system images or later).
  • Emulator now uses LZ4 to decompress guest kernels, making it compatible with the modern kernel pipeline.
  • Added console commands to obtain the emulator AVD directory, discovery file path in the Studio-embedded use case, and path to snapshots:

    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>
    
  • To make it easier to save vertical screen space, we've added an option to hide the device frame for the current AVD in Extended Controls > Settings . To globally hide device frames for all AVDs, we've made available the NoDeviceFrame feature flag, which can be activated via launching the emulator from the command line with -feature NoDevice frame, or to lock it in, adding NoDeviceFrame = on to ~/.android/advancedFeatures.ini (Create this file if it doesn't exist already).

  • Added a drop down item in cellular page to turn on and turn off meterdness support, this is a no-op for older system images that do not support the 5G meterdness toggle.

    • Also added console command for the same purpose: gsm meter on|off
  • Upgraded toolchain / build to C++17.

Fixes: embedded emulator

  • Clipboard should now work.
  • Fixed issue where uppercase characters were delivered as lower case characters in the emulator.
  • Fixed loading console token from a unicode path in windows.
  • Fixed SO_REUSEPORT error message on linux.
  • Fixed a snapshot corruption issue when sending snapshot commands through gRPC, as well as when pressing the snapshot save button in Android Studio embedded emulator.
  • When using the Linux emulator embedded in Studio, we found that if this is done through Chrome Remote Desktop, there is a bug where XDG_RUNTIME_DIR is not set and may cause the embedded emulator to fail to appear due to the emulator discovery files being placed in XDG_RUNTIME_DIR . You can check the status of the corresponding issue in the Chrome issue tracker .

    As a workaround, the emulator now falls back to using discovery files in a possibly-different directory that is based on user UID: /run/user/&lt;uid> .

  • Embedded emulator: Devices with rounded corners/notches now properly change their layout to make room for the corners and notch. This requires a cold boot of those emulators.

  • gRPC endpoint now supports sending SMS to the device.

সাধারণ সংশোধন

  • We've seen compatibility issues running the Windows emulator with Riot Vanguard active. The Windows emulator now detects Vanguard anti-cheat and pops up a warning message if Vanguard is detected.
  • Fixed FD_SETSIZE error on Windows. We now use WSAEventSelect() instead of select() for establishing non-blocking connections to loopback servers.
  • Added F16C CPUID feature support to Linux emulator with fixes issues running some ARM64 applications through NDK translation; macOS/Windows in progress.
  • Fixed gpx/kml route playback to follow timestamps.
  • Fixed bouncing icon on launch for MacOs.
  • If hw.audioInput=no and hw.audioOutput=no in config.ini , emulator audio is now properly disabled.
  • Fixed an issue where if the emulator window was minimized while the extended controls window was open but not active, the extended controls window would keep showing up when resizing the emulator window. We will completely remove the behavior (the case with active extended controls window) in a future update.
  • Fixed a flaky bug with Wi-Fi not connected when the emulator starts.
  • Fixed hang-on-exit when emulator issues shell commands with long or indefinite timeouts.
  • Updated pc-bios with fixes to better support large images passed to -initrd ; previous BIOS used a very inefficient method.
  • Fixed crash during termination when -wifi-server-port option is used.
  • The emulator now prints a warning if unsupported options are passed to -prop (Only qemu.* props are supported).
  • When building the emulator on Windows, there should be less chance of seeing flaky failures to write to files. For more information, see the Windows build instructions .
  • Disabled Zoom button for foldable AVDs, which was causing issues.
  • Emulator now correctly reports boot time coming from a device reboot.
  • Linux: In the case where there are insufficient KVM permissions, the emulator now prints debugging instructions more promptly.
  • Fixed issue where the emulator could not boot recent system images with no acceleration.
  • Fixed memory corruption or crash on start from a boot-completed detector.
  • Fixed memory leak during long screen recording sessions.
  • Emulator icons updated to reflect Studio 4.1 branding.
  • Added better support for detecting remote sessions on Windows.

Fixes: graphics and video decode

  • Fixed an issue where latest Asphalt 9 game rendered with a black screen.
  • Removed spam about flushing mapped buffer with NULL .
  • Fixed a race condition when tearing down Vulkan state when a guest Vulkan app exited.
  • Vulkan ASTC/ETC2 emulation shaders are now baked into the libOpenglRender library. This will be more reliable versus reading from the filesystem.
  • Fixed an issue in Vulkan where if running with a Vulkan 1.0 instance on the host, vkGetImageMemoryRequirements2KHR would incorrectly clear the returned VkMemoryRequirements2 struct's pNext field.
  • Fixed a memory leak in Vulkan renderer.
  • Fixed a recent regression where GLSL ES 1.00 shaders with variable names like isampler2D failed to compile.
  • Updated ANGLE shader translator with various fixes that address possible failure to compile shaders on Linux.
  • We now crash the emulator if the basic framebuffer blit shader fails to compile, in order to keep track of the phenomenon.
  • Updated ANGLE shader translator to keep up with upstream ANGLE. This fixed an issue around memory corruption when translating and constant-folding OpenGL ES shaders that used non-square matrices. The shader translator is now a separate shared library, libshadertranslator.dll .
  • Fixed an issue on Vulkan initialization on some GPU drivers, where certain 1.1 device functions were not found.
  • Vulkan: We've reverted back to using the prebuilt loader as favoring the system Vulkan loader caused issues in some setups; will figure out a better solution.
  • Fixed issue when using Vulkan external memory where it could have been imported mismatching memory type indices on the host.
  • Fixed issue in emulation of GL_ALIASED_POINT_SIZE_RANGE where the enum was not supported on the host.
  • Fixed issue where on some host GPUs, Skia shaders could not compile due to errors related to GL_EXT_shader_framebuffer_fetch .
  • Since our copy of the D3D9 ANGLE renderer was removed a few versions ago, we now also auto switch users who were on that renderer to d3d11 ANGLE if it was selected in the UI preferences.
  • More debug info has been added to WGL initialization on Windows in order to trace failures.
  • When hw.gltransport=virtio-gpu-pipe , performance is improved by not spinning on the host in transfers from host to guest.
  • Added more debug logging for when OpenGLES emulation fails to initialize.
  • Fixed an issue with Youtube videos flickering or not showing up on snapshot load.
  • Switched back to software decode for libvpx for now as we've seen issues with CUDA hardware decode of libvpx. If you have a supported CUDA hardware decode implementation on the host side, hardware decode of libvpx can be re-enabled via the environment variable ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1 .

30.0.10 (April 30, 2020)

This update includes support for running the emulator directly in Android Studio and virtual devices with Freeform Window Mode activated by default.

Run the Emulator in Android Studio

The Android Emulator can now be run directly in Android Studio . Use this feature to conserve screen real estate, to navigate quickly between the emulator and the editor window using hotkeys, and to organize your IDE and emulator workflow in a single application window.

Freeform Window Mode

You can now create an AVD that has Freeform Window Mode enabled by selecting the 13.5” Freeform tablet hardware profile when creating a virtual device in Android Studio. This hardware profile requires a system image with Android 11 Developer Preview 3 or higher.

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

Resizing freeform windows is currently broken due to issues transferring focus to the Window Manager. This will be addressed in a future Android 11 system image release.

30.0.0 (February 19, 2020)

This update includes Android 11 (API level 30) system images and improved performance when running ARM binaries.

Android 11 system images

You can now create an AVD that runs Android 11 by selecting either of the available API level 30 system images:

  • x86 : Includes both x86 and ARMv7 ABIs.
  • x86_64 : Includes x86, x86_64, ARMv7 and ARM64 ABIs.

Support for ARM binaries on Android 9 and 11 system images

If you were previously unable to use the Android Emulator because your app depended on ARM binaries, you can now use the Android 9 x86 system image or any Android 11 system image to run your app – it is no longer necessary to download a specific system image to run ARM binaries. These Android 9 and Android 11 system images support ARM by default and provide dramatically improved performance when compared to those with full ARM emulation.

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

  • Some ARMv7 binaries fail to run on Android 11 x86 and x86_64 system images. Consider building for ARM64 when targeting Android 11.

29.0.11 (May 29, 2019)

This update includes the following improvements and fixes:

  • Windows: The emulator now relies on the libgcc DLL that we ship instead of being compiled with libgcc statically.
  • Linux: Added logcat support to the gRPC API. For more information about gRPC, see gRPC streaming emulator (Linux) .
  • The emulator now includes a headless build for 32-bit x86 guests ( qemu-system-i386 ). This feature enables x86 32-bit images for API levels 26 and lower to run with the headless build. Note that for 32-bit x86 guests with API 27 and later, the emulator uses the 64-bit engine ( qemu-system-x86_64 ) because in these system images, while the userspace is 32-bit, the kernel is 64-bit. Android Studio uses the kernel to select emulation engines.
  • You can now specify custom Qt library paths using the ANDROID_QT_LIB_PATH environment variable.
  • You can now run the emulator with previous binaries that use QEMU1 if the QEMU1 executables ( emulator[64]-[x86|arm|etc] ) are placed in the emulator directory.
  • Windows: Fixed an issue that could sometimes cause the emulator to fail to start with a "vCPU shutdown request" message.
  • Fixed an issue with an unnecessary pipeline barrier in emulated compressed textures in Vulkan.
  • Fixed an error that occurred with http proxy requests when chunked transfer encoding was used. For more information, see the commit details .

29.0.9 (May 7, 2019)

This update includes the following fix:

  • Windows: Fixed an issue where the virtual scene camera and webcam would not work on the emulator.

29.0.8 (May 6, 2019)

This update includes the following improvements and fixes:

  • Added support for multiple virtual hardware displays when there's a guest service to enumerate and set each display. Multiple virtual hardware displays will be included in a future emulator system image update.
  • Added a new command line option: -delay-adb . This option suppresses processing of ADB packets until the guest has completed booting (off a cold boot). This option helps resolve issues that could occur if you use the emulator in a CI environment that reboots the emulator and uses DDMS at the same time.
  • Fixed an error that occurred when snapshots are loaded where glIsRenderbuffer would return the incorrect value.
  • Fixed some issues with stale state when the Android guest reboots.
  • Windows: Fixed issues that prevented the emulator from starting when the Windows username had non-ASCII characters or spaces.

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

  • The Snapshots UI is disabled for Automotive system images because snapshots aren't currently supported for these system images.

29.0.6 (May 1, 2019)

This update includes several new features, improvements to existing features, and bug fixes.

Removal of QEMU1 and 32-bit Windows support

To better maintain the emulator, we no longer ship QEMU1 and 32-bit Windows binaries. If you are using Windows 32-bit, you cannot upgrade to version 29.0.6.

Requirements for Android Q system images

If you want to run an AVD that uses an Android Q system image, you must now use version 29.0.6 (this release version) or higher.

Project Marble Improvements

This update continues our work on the Project Marble initiative that was announced at the Android Developer Summit in November 2018. For more information about other Project Marble improvements in previous releases, see Android Emulator: Project Marble Improvements .

For this update, most of our Project Marble efforts were dedicated to reducing emulator resource usage, such as reducing the emulator's CPU usage while idle. We've also included changes that make it easier to work with the emulator in a wider variety of environments, and we've addressed general quality issues.

The following sections describe the Project Marble improvements that are included with this update:

Improvements for host audio behavior

Starting with version 28.0.3, the emulator blocks audio input from the host by default.

If you want to use the host audio data, you can enable that option by going to Extended Controls > Microphone and enabling Virtual microphone uses host audio input . This option is automatically disabled whenever the emulator is restarted.

If you are using the command line, you can also enable host audio using the -allow-host-audio option, and you can use the following ADB commands to turn host audio data on or off, respectively:

  • adb emu avd hostmicon
  • adb emu avd hostmicoff

Improvements for headless emulator builds

Starting with version 28.0.25, the emulator includes a headless build option that can run without the UI. You can use headless builds to help you set up the emulator for Docker and continuous integration (CI) workflows.

With this update, we've made further improvements to allow the emulator to run with a minimum number of dependencies. On Linux, headless builds no longer include the pulseaudio or libX11 libraries. The system-dependent shared libraries that are not packaged with the emulator has been reduced to the following list:

  • 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

Upgraded Qt UI libraries to 5.12 LTS

This update includes the following improvements from the Qt 5.12 LTS release:

  • To avoid crashes in Qt's libpng decoding when starting certain system images, the emulator now uses its own copy of libpng to decode PNG images.
  • To address issues with some Linux installs containing incompatible versions of some Qt dependent libraries, we now package libfreetype , libsoftokn , libsqlite3 , and libxkbcommon with the emulator.
  • The emulator now uses the platform's native windowing libraries to get monitor dimensions, instead of using the Qt libraries that returned unreliable results.

Automatic CPU optimizations after cold boot

To address CPU usage, the emulator now runs the following ADB commands on a cold boot after it receives a boot complete signal:

adb shell settings put screen_off_timeout 214783647
This command increases the screen off timeout so the emulator can be used in battery mode without charging. In battery mode, background CPU usage is greatly reduced.
In AC charging mode, GMSCore background operations such as app updates can take over all the device's CPU cores—and by extension, the user's machine—with no warning.
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
This command revokes microphone permissions for the Google search app, which greatly reduces background CPU usage on the home screen and in the launcher when the Google search app is active.
This command is run in addition to the emulator's default behavior of disabling host audio for the host. Furthermore, this automatically provides the CPU usage mitigation described for hotword detection from the 28.0.23 release.

New environment variables for performance monitoring

You can now use two new environment variables to enable detailed monitoring of the emulator's performance and resource usage.

SHOW_PERF_STATS=1
This environment variable enables tracking of both CPU and RAM usage. Tracking for RAM usage distinguishes between graphics usage and total resident memory.
ANDROID_EMU_TRACING=1
This environment variable enables printing every time an input or graphics operation takes a long time (longer than 1 ms).
We're also using this environment variable to help diagnose issues that Windows users have experienced with more jank (dropped frames) than users experience on macOS or Linux.

General Project Marble improvements

This update also includes the following general improvements that are part of the Project Marble initiative:

  • You can now immediately pause all vCPUs on the emulator via the following console commands:
    • adb emu avd pause
    • adb emu avd resume
  • Greatly reduced overhead of OpenGL drawing. This improvement reduces CPU usage while the emulator is playing animations.
  • Restored support for mainline QEMU's e1000 virtual network device. You can use this device to set up the emulator in a bridged network environment. In a bridged network environment, the emulator is shown on the host network and the host network is shown on the emulator.
  • QEMU 2.12-appropriate BIOS binaries are now used to start up the emulator.
  • Upgraded ffmpeg version to 3.4.5 for video encoding and decoding.
  • Greatly reduced overhead of QEMU main loop I/O on macOS by replacing the main loop that was based on select() with a main loop that is based on kqueue .
  • Logcat buffer size increased to 2 MB to address issues with flaky unexpected EOF when running logcat with the emulator.
  • The emulator now exports the LC_ALL=C environment variable by default. This change addresses crashes and incompatibility issues associated with running the emulator in different locales.
  • You can now track the CPU and RAM usage of the emulator using performance stats that you can access at Extended Controls > Settings > Advanced > Performance Stats . Use these stats to quickly diagnose issues if the emulator seems to be using too much CPU or RAM.
  • glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPE now uses the host GPU's result instead of an emulated one. This change helps fix issues where images and assets do not display because of improper format for readback.
  • Added support for the OpenGL ES extensions GL_EXT_texture_format_BGRA8888 and GL_APPLE_texture_format_BGRA8888 if these extensions are supported by the host.
  • Added more diagnostic info to the Bugreport UI. In addition, you can access bug reports from the console using the following commands:
    • telnet localhost 5554
    • avd bugreport
  • On Android Q system images, the emulator increases its minimum RAM size to 2 GB.
  • Added more logging and printing whenever OpenGL or the hypervisor fails to initialize.
  • If the emulator cannot start a concurrent -read-only instance of an AVD, the emulator now attempts to relaunch the -read-only AVD 3 more times over 3 seconds. This change increases the likelihood that the emulator will be able to launch concurrent -read-only instances an AVD if other writable instances of that AVD are not done cleaning up stale files.
  • For upcoming system images, the emulator now supports Hardware Composer 2.0. This change should lower the driver overhead when running most animations.
  • The emulator build is now based on CMake/Ninja.
  • In the emulator extended controls UI, divider lines in the keyboard shortcuts table have been restored.
  • Users can now opt-in to provide our team with CPU and RAM usage metrics in a 10 second interval. We use these metrics to enrich our data about emulator resource usage with different use cases from our users, which allows us to make the emulator more efficient and responsive.

General Project Marble fixes

This update also includes the following general fixes that are part of the Project Marble initiative:

  • Fixed issues with twitching and incorrect frames that were displayed on systems with Intel GPUs when using Android Q system images.
  • Fixed issues where a black screen was displayed when using Android Q system images with Pixel 2 XL skins (or any skin that has a notch or rounded corners).
  • Fixed an issue where the -partition-size command line option would not set the data partition size.
  • Fixed an issue where pulseaudio on the Linx emulator would spin and take up an entire CPU core in some situations.
  • Fixed issues with out of bounds memory access when processing compressed textures.
  • Fixed GL errors that occurred on the host in glTexSubImage2D when updating certain gralloc buffers (with format RGB 565, RGB10A2, RGB(A)16F).
  • Fixed a display issue in Android Q system images with snapshots where the notification shade's geometry was rendered with an improper instance divisor setting.
  • Fixed a few hard-to-reproduce crash and freeze issues on launch that happened due to Qt losing signals or having flaky, inconsistent states on startup.
  • Fixed numerous concurrency issues. We are now able to build the Linux emulator with ThreadSanitizer (TSAN), which can easily uncover bugs that are otherwise difficult to reproduce.
  • For Linux users: we have found that on certain host kernels, the guest Android kernel can error out and exit in KVM with a generic hardware error. The emulator will now abort() when this happens in order to increase debuggability (previously, the emulator just hung).
  • For Linux users: for convenience with CI setups, you can use the new -stdouterr-file <file-name> command line option to redirect both stdout and stderr to a file.
  • Fixed an issue where SO_REUSEADDR was used incorrectly. For more information, see the commit details .
  • Fixed a long-standing issue with the Windows emulator where sub-processes, such as ADB commands, failed to start if the username had spaces in it.
  • Fixed an issue with missing initialization of RCU in HAXM vCPU threads. This fix can possibly address some crashes and race conditions.
  • Fixed a crash that happened with certain patterns of saving and loading snapshots from the snapshots UI using recent Android Q system images.
  • Fixed an issue where the virtual scene camera would be blank when the emulator was initialized from a snapshot if an AR macro was playing when that snapshot was saved.
  • Fixed an issue where some users with remote desktop setups got a black screen when launching the emulator on Linux. To avoid this, the emulator now explicitly configures MESA_RGB_VISUAL . For more information, see the commit details .
  • Fixed an issue where the rotate buttons would appear on TV AVDs.
  • Fixed an issue where if emulator was set always on top, the extended controls window appeared every time the emulator was rotated.

Hardware profiles for foldable devices

The emulator now includes hardware profiles for foldable devices. To use these new hardware profiles, you must be using Android Studio 3.5 Canary 10 or higher.

There are two foldable hardware profiles that you can use to create an AVD:

  • 7.3" Foldable: 1536x2152 unfolded, 4.6" 840x1960 folded
  • 8" Foldable: 2200x2480 unfolded, 6.6" 1480x2480 folded

When you run the emulator using one of these hardware profiles, you can fold and unfold the device using the fold and unfold actions in the emulator toolbar, console commands , or the following keyboard shortcuts:

  • Fold: Ctrl + F ( Command + F on macOS)
  • Unfold: Ctrl + U ( Command + U on macOS)

AR macros

The emulator now includes AR macros that can help you test common AR actions. For example, you can use a macro to reset all the device's sensors to their default state.

For more information, see Test common AR actions with macros .

Vulkan support (Windows, Linux)

Windows and Linux users can now test Vulkan apps with the Android Emulator up to Vulkan 1.1 when using a compatible system image (Android Q Beta 3 or higher for Vulkan 1.1, Android Q Beta 2 for Vulkan 1.0) and a compatible host GPU (this includes most Intel, NVIDIA, and AMD GPUs from 2014 and later).

To enable Vulkan support, you must add the following feature flags to your ~/.android/advancedFeatures.ini file (create the file if it doesn't exist):

  • Vulkan = on
  • GLDirectMem = on

Initial support for ROM developers

ROM developers who are building the sdk_phone_x86 or sdk_phone_x86_64 ( userdebug , eng variants) targets on AOSP master branch can now run a Vulkan-enabled emulator.

This support is still experimental and is mainly for developers who work on system images, drivers, and game engines. Many extensions are still missing. However, HOST_COHERENT memory is supported, and you should now be able to run the Vulkan API Tutorial Samples .

If you are using linux, you can try this by using the following commands:

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

Skia rendering with Vulkan

NVIDIA and AMD GPUs that support Vulkan also support zero-copy interop with OpenGL via the GL_EXT_memory_objects extension. The emulator leverages this capability to provide a complete way to render the Android UI using the Skia Vulkan APIs.

If you have an NVIDIA or AMD GPU that supports Vulkan, use the following commands to test the Skia rendering with a compatible system image (Android Q Beta 3 and higher):

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

macOS support for Vulkan

macOS support is still experimental, but the emulator already includes the Swiftshader , MoltenVK , and libportability ( gfx-rs ) APIs. You can experiment with these APIs by setting the following environment variables:

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

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

HAXM can sometimes fail to map Vulkan coherent memory to the guest and shuts down the emulator. This is addressed in an upcoming HAXM update.

gRPC streaming emulator (Linux)

We're always trying to make the emulator as versatile as possible by allowing host GPU rendering and interactivity in the widest range of running contexts. Our CI and remote desktop users have the following long-standing issues:

  • Programmatically sending input commands to the emulator involves either running adb shell commands that can experience high overhead, or using the telnet console, which is faster, but might not work with certain network configurations.
  • CI users often run emulators headless, which can make it difficult to notice issues that require the screen to be visible or interactive.
  • Remote desktop users often can't interact with the emulator when using host GPU rendering because GPU rendering is often tied to the host's non-virtual displays.

To address this, when running on a Linux machine, the emulator now serves a gRPC service. gRPC is a general framework for RPC that works over HTTP.

By default, the emulator gRPC service is disabled, but you can activate the service using the following command line option, where <port> is the port which the emulator should serve gRPC requests (usually 5556 ):

-grpc <port>

Once the service is started, gRPC commands can then be issued from clients. The current set of commands allows both sending input events and receiving screenshots. These commands help address the following issues:

  • Input commands can be sent to the emulator with low overhead over HTTP. HTTP also enables commands to be sent in additional network configurations.
  • Screenshot commands can be sent to query the current screen, even if the emulator is running headless. For interactivity, input events can also be sent back to the emulator.
  • Remote desktop users can run the emulator headless on the main display with GPU accelerated rendering while using gRPC to get screenshots and send input events in order to interact with the emulator.

For a complete list of the commands that are available, see this protobuf .

To help you get started with gRPC, we've provided some sample clients that you can refer to.

Currently, this includes the following samples:

  • A Go-based service that can be used to query emulator states.
  • A React app that demonstrates remote interactivity via screenshot and input RPCs. This sample requires protobuf version 3.7.0 or higher.
  • A Python sample that queries the emulator's VM configuration and then sends a series of commands.

28.0.25 (March 29, 2019)

This update includes the following improvements and fixes:

Headless emulator build

The emulator has been difficult to set up with Docker and other continuous integration (CI) workflows due to the implicit expectations of the system being able to support Qt along with its shared library dependencies (among other issues).

As a first step to address this, we've introduced a variant of the emulator launcher with QEMU executables that does not depend on Qt. On Linux, there is still a link to libX11 , but we hope to remove that soon as well.

To use the headless emulator, run the emulator from the command line as usual, but replace the emulator binary invocation with emulator-headless . For more information, see the 28.1.8 Canary release update.

  • Fixed twitching and incorrect frame display on Intel GPUs when running Android Q system images.
  • Fixed issues where black screen would display when using Android Q system images with Pixel 2 XL skins.
  • The latest BIOS binaries are now used to start up the emulator. This change can help reduce "vCPU shutdown request" errors that happen sometimes when launching the emulator on Windows.
  • Backported a fix for the "wrong display when resuming Android Q system images from a snapshot" issue .
  • Users were experiencing "unauthorized" emulators issues due to an incompatible change in ADB in platform-tools 28.0.2. You can now safely use ADB from platform-tools 28.0.2 with the emulator. If you are experiencing problems with "unauthorized" emulators, do the following troubleshooting steps:
    1. Exit all emulators.
    2. Delete both the ~/.android/adbkey and ~/.android/adbkey.pub files.
    3. Run the following command: adb kill-server
    4. Run the following command: adb devices
    5. Wipe the AVD data.
    6. Relaunch the emulator.

28.0.23 (January 29, 2019)

This update includes the following improvements and fixes:

Host audio input disabled by default

A recent post on Reddit detailed how the guest Android OS would always be using the host microphone's audio, and thereby allowing "Ok Google" to work unexpectedly. We're sorry about this and will work with the Android team to make sure hotword detection is disabled in the system image as well.

To address this, we've made the following changes:

  • Actual host audio data is now squelched by default. When the guest uses the microphone, silence is passed over instead of the host's audio.
  • If you want to use the host audio data, you can now enable that option by going to Extended Controls > Microphone and enabling Virtual microphone uses host audio input . This option is automatically disabled whenever the emulator is restarted.

Updates on CPU usage investigations

During our Project Marble investigations, we've noticed that high CPU usage on the emulator generally falls into the following three categories:

At idle: Automatic app updates in Play Store images

We found that at random intervals, all apps installed get updated, even when the user is not logged in. During the process, CPU usage is driven to the number of cores x 100% (typically ~400%) in GMSCore and dex2oat. You can mitigate this issue by disabling auto app updates in the Play Store app.

At idle: Hotword detection

When on the home screen and without any app foregrounded, there can be a great deal of CPU usage (~25% with spikes to 50%). This is caused by hotword detection that constantly pings the host. You cannot mitigate this issue by disabling host audio input because the CPU cost is primarily caused by the time that it takes to travel to the guest from the host. However, you can mitigate this issue by revoking microphone permissions from the Google app.

While active, sometimes at idle: Animations

The third source of high CPU usage is animations. We have found that by optimizing the graphics driver stack we can also reduce CPU usage even when the emulator is not idle. We will be rolling out graphics driver optimizations incrementally as part of Project Marble.

28.0.22 (December 21, 2018)

This update includes the following improvements and fixes:

  • Fixed a long-standing issue where in some settings, the Mac emulator would reboot or kernel panic on Quickboot save. ( Issue 120951634 )
  • When using a mapped file as the RAM snapshot, the emulator now unmaps the file mapping explicitly on exit.

28.0.20 (December 11, 2018)

This update includes the following improvements and fixes:

  • Fixed an issue on Windows that caused the emulator to freeze on snapshot load with certain models of Intel GPUs.
  • Fixed an issue that caused an unauthorized ADB device state when using a non-standard ANDROID_SDK_HOME location.
  • Fixed an issue on Windows that caused the emulator to crash when booting system images with CPU acceleration disabled.
  • Fixed the pixelated emulator display issue. Downsampling should now be working.
  • Fixed an issue on macOS 10.14+ where the virtual scene camera mouselook control could become too sensitive due to an interaction with new accessibility security settings.
  • Fixed an error in timezone calculation that could cause the emulator clock to sporadically change.
  • Fixed rendering errors in various cocos2d and Unreal engine apps.
  • Added support in the emulator for Wi-Fi peer-to-peer . Two emulators can now talk to each other directly via Wi-Fi if using the latest Pie Play Store image. To use Wi-Fi peer-to-peer, start two AVDs with the same -wifi-server-port and -wifi-client-port arguments:
    • emulator @<server-avd-name> -wifi-server-port 9999
    • emulator @<client-avd-name>-wifi-client-port 9999
  • Added support for more webcams on Windows by taking any incompatible frame sizes and dynamically resizing them to fit the camera setting in the Android guest.

28.0.16 (November 2018)

This update includes several new features, improvements to existing features, and bug fixes.

সম্পদ ব্যবহার

The emulator now uses less RAM overall, especially when using system images with API level 28 or higher. These system images include improved memory usage for guest-side graphics drivers.

In addition, we have also improved resource usage in the following areas:

  • Reduced emulator memory usage during long-running tests. If you still experience issues with memory usage during long-running tests, please create an issue that describes your use case in Issue Tracker .
  • Reduced CPU usage when running apps with animations.
  • Fixed an issue where the QEMU AIO context could leak on Windows.

Run multiple instances of a single AVD concurrently

You can now launch multiple instances of the same AVD and run them concurrently. Instances that you launch after the first instance are read-only, and their changes to the guest virtual disk are discarded on exit.

To run multiple instances of the same AVD at the same time, launch any instances after the first instance from the command line using the -read-only flag.

This feature is made possible by copying the QCOW2 files associated with the writable parts of the Android image. To help you manage disk space, we have also bundled the qemu-img command line tool to allow you to pre-commit QCOW2 files before launching multiple instances.

In addition, when used in tandem with the File-backed guest RAM snapshots feature, multiple AVD instances share the primary AVD Quickboot snapshot as a common source of copy-on-write guest RAM. This property means that the instances share much of their RAM in common. Use this feature to run tests that require multiple devices to run in parallel.

We appreciate your feedback on possible use cases that are part of your normal interactive or CI workflow. Please create or upvote issues in Issue Tracker .

File-backed guest RAM snapshots

By pre-allocating and mapping guest RAM as a file, the emulator can now save Quickboot snapshots during runtime, instead of doing all of the work on exit. If you currently experience long save times when closing your emulators, enable this feature to improve your Quickboot performance. By default, a Quickboot snapshot is saved on exit and loaded again every time, like suspending and waking a real device.

Because Android guest RAM is now auto-saved by default, if you want to define a device state and repeatedly load from that state, you need to tell the emulator to discard changes after each session. আপনি নিম্নলিখিত উপায়ে এটি করতে পারেন:

  • Use the -no-snapshot-save or -read-only flags when launching the emulator from the command line.
  • Go to Extended Controls > Snapshots > Settings and switch Auto-save current state to Quickboot? না থেকে
  • You will need to restart the emulator after selecting this option. If the emulator is set to auto-save, you can run the following command to set a checkpoint:
    adb emu avd snapshot remap 0
    
    After you run this command, the emulator Quickboot snapshot will stay at that checkpoint. Run the same command again to load the emulator from your checkpoint.

Snapshots that are taken and loaded through the Snapshots UI function as they did before, with no file mapping.

Because this is a large change to how Quickboot works, we would greatly appreciate your feedback on whether it improves Quickboot performance and what kind of issues you encounter when using it. If you experience problems, you can disable this feature by adding the following line to your ~/.android/advancedFeatures.ini file:

QuickbootFileBacked = off

When you start the emulator from a snapshot (either using the -snapshot command line option, or launching from a snapshot in the AVD manager) the emulator disables both auto-saving for Quickboot snapshots and saving Quickboot snapshots on exit. This reduces the chances that the Quickboot snapshot will be unintentionally overwritten, and avoids slow fallback paths that do not use file-backed Quickboot snapshots.

QEMU 2.12

We have rebased our variant of QEMU from QEMU 2.9 to QEMU 2.12. This update includes the following QEMU changes:

Here are some of the notable changes that impact the Android Emulator:

  • x86: gdbstub now provides access to SSE registers.
  • Disk images: Image locking is added and enabled by default. Multiple QEMU processes cannot write to the same image as long as the host supports OFD or posix locking, unless options are specified otherwise.
  • qemu-img: qemu-img resize supports preallocation of the new parts of the image.
  • QCOW2 shrinking now supported in qemu and qemu-img .

অ্যাক্সেসযোগ্যতা

  • Fixed issues with screen readers and added better support for these tools in the Screen Record and Snapshot UI.
  • Made the Quick Boot notification icons more accessible to users who are color blind.

গ্রাফিক্স

  • Fixed an out-of-bounds memory access issue that could occur for OpenGL ES vertex array pointers.
  • Some older GPUs did not support OpenGL 2.1 or greater (which is required), or had other reliability issues. These issues could cause the emulator to crash on start, freeze, or be unusable on the default GPU setting. The emulator now automatically switches to the Swiftshader renderer if it detects that these GPUs are in use.
  • Fixed an issue that caused the emulator to not post the correct framebuffer if FBO != 0 was bound at the time of eglSwapBuffers .
  • Fixed issue where the virtual Android display would only show up in the top left corner. We believe this was due to misconfigured Qt environment variables. The emulator now overrides all Qt scaling-related environment variables.
  • Fixed an issue where the emulator crashed in some situations when loading GLES1 apps from a snapshot.
  • Fixed concurrency issues in OpenGL and launching render threads that could result in double frees or corrupted data.
  • Android Emulator now supports ASTC LDR compressed texture support ( GL_KHR_texture_compression_astc_ldr ) for system images that use API level 28 or higher.
  • Most modern GPUs should now be able to launch the emulator with OpenGL ES 3.x enabled by default without using the GLESDynamicVersion feature flag.
  • -gpu guest (software rendering in the guest) has been deprecated. System images for API level 28 or higher now automatically switch to using Swiftshader instead ( -gpu swiftshader_indirect ).
  • If the emulator is launched from the command line using the -no-window flag, the default renderer is now Swiftshader.

অবস্থান

  • The emulator can now update bearing along with latitude and longitude position. The magnetometer virtual sensor adjusts itself dynamically to magnetic north by inferring motion when playing back a GPX or KML file.
  • Device speed can now be set on the Location page.
  • When playing back a GPX or KML file, the speed is set automatically, and is set to zero when the playback ends.
  • The altitude is no longer restricted to being between -1,000 and +10,000 meters.
  • Fixed an issue where the virtual GPS location would not be updated periodically unless the Extended Controls window was opened at least once.

ক্যামেরা

On Windows, more webcams are now supported because the emulator dynamically resizes the camera frames that are delivered from the webcam. This feature also prevents errors in frame delivery from causing the emulator to hang.

প্লে স্টোর

To address issues with running out of disk space on Play Store images, the emulator now automatically resizes the userdata partition to 6 GB when running with a fresh Play Store AVD.

General quality improvements and fixes

  • Some users reported that the emulator has been running slow. We identified one possible cause where the temp directory for the emulator ends up with too many stale files inside. As a workaround, the emulator no longer stores ADB liveness check files in that directory. However, it may also help to delete the contents of that folder. The folder is located in one of the following locations, depending on your operating system:
    • Windows: C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\*
    • macOS or Linux: /tmp/android-<username>/*
  • If the emulator is unable to start due to insufficient free RAM, an error message is now displayed. If you are on Windows and notice that there is RAM free, but you are still unable to start the emulator, the commit charge may have been exceeded. For help with this issue, see the emulator Troubleshooting page .
  • The -sysdir command line option now properly overrides the inferred system image directory.
  • Virtual modem now supports the model activity info +MAI query.
  • Fixed various issues with memory leaks, memory corruption, and CPU usage. If you are experiencing crashes, memory leaks, or other high resource usage, please create an issue in Issue Tracker .
  • Fixed an issue that reappeared on macOS 10.14 where using Bluetooth headsets with the emulator would degrade audio globally. To prevent this, the emulator now avoids using Bluetooth audio when running on macOS. ( Issue 37070892 )
  • Fixed an issue on Windows where the emulator clock would not be in the correct timezone.
  • Fixed emulator slowness and hangs on Linux systems with spinning harddrives (HDDs).
  • Fixed some compile warnings that could lead to stack corruption on macOS.
  • Fixed issues that could result in misleading reports of hanging.
  • Fixed an issue with destroying thread pools that could cause a crash if one of the threads was not successfully created.
  • Fixed an issue on macOS where timers would become unreliable, leading to hangs and other strange behavior. If you experience emulator hangs on macOS, please create an issue in Issue Tracker .
  • Fixed an issue where closing the emulator would disable the UI, but not actually close the emulator.
  • Fixed issues involving sporadic crashes, including an abort due to opening too many instances of /dev/urandom .
  • Fixed an issue that caused the emulator to fail to start after the first time if ADB was terminated forcefully.
  • The MIPS build has been removed. If you still require MIPS, please create an issue in Issue Tracker .
  • Fixed an issue where ADB connections could become corrupt on snapshot load.
  • Fixed an issue where the emulator window would have an afterimage or teleport offscreen when resuming a snapshot where the device orientation was different from the AVD's default orientation.
  • Fixed issues involving crashes when saving snapshots.
  • On Linux, btrfs filesystems can cause extreme slowdowns because the emulator automatically saves snapshots and uses copy-on-write for its virtual disk devices. We recommend cleaning out the ~/.android/avd directory and running the following command on the empty ~/.android/avd directory:
    chattr +C
    
    This creates new snapshots in a folder where copy-on-write is disabled.

HAXM 7.3.2

We would like to mention HAXM 7.3.2 again because it must be installed in order for recent system images to run properly on the emulator. HAXM 7.3.2 should already be available in the Stable channel, and can also be installed manually from https://github.com/intel/haxm/releases .

Here are a couple of the issues that this version of HAXM resolved:

  • Fixed random crashes of guest OSes that use a recent Linux kernel (>= 4.6). For example, Ubuntu 18.04 ( #39 , #74 ).
  • Fixed an x86 instruction emulator bug that could lead to a host crash ( #93 ).

32-bit Windows deprecation

Due to low usage and high maintenance costs, we are planning to deprecate the 32-bit version of the Android Emulator that runs on Windows. We will roll out a transition plan before removal and end-of-life for the 32-bit version of the Android Emulator. However, we are actively seeking any feedback or concerns with this future change.

Please let us know in Issue Tracker if you currently rely on the 32-bit version of the Android Emulator that runs on Windows and tell us how we can best work with you going forward.

27.3.10 (August 2018)

This update includes the following bug fix:

RAM size configuration fix

Some users reported that the emulator has been running slow. We identified one possible cause where the AVD RAM size in the AVD's config.ini file was being set incorrectly.

To mitigate this, the emulator increases the minimum RAM level for images that use API level 26 or higher to the Android Studio default level of 1536 MB. If your AVD's config.ini file is not listing hw.ramSize in megabytes, please create an issue in Issue Tracker . You can find the config.ini file in the following location:

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

27.3.9 (July 2018)

This update includes the following improvements and bug fixes:

Improved error messages for Windows Hypervisor Platform

Some users were having difficulty diagnosing why the Windows Hypervisor Platform (WHPX) failed to initialize when they activated a WHPX emulator. To help you diagnose these issues, we have added more informative error messages. You can enable these error messages by running the emulator from the command line using the -verbose flag.

সাধারণ সংশোধন

  • Fixed OpenGL errors that occur when loading a snapshot in the camera app.

27.3.8 (July 2018)

This update includes several new features, improvements to existing features, and bug fixes.

স্ন্যাপশট

You can now save multiple AVD snapshots for a given device configuration and choose which of the saved snapshots to load when you start the emulator.

Starting with Android Studio 3.2 Canary 13, each device configuration includes a control in the advanced settings in the Virtual Device Configuration dialog with which you can you can specify which AVD snapshot to load when starting the AVD.

To accommodate this expansion of the snapshot features, we have added a Snapshots category to the Extended controls dialog. This new pane contains controls for saving and loading AVD snapshots, including the controls for saving and loading the quick-boot snapshot that had previously been in the Settings pane.

You can edit the name and description of each saved snapshot.

For details, see Snapshots .

HAXM 7.2.0

HAXM 7.2.0 is now available in all channels.

This update includes bug fixes and improved support for large amounts of RAM. Also, with this HAXM update and Emulator 27.3 and later, snapshots load their contents into RAM on demand rather than loading the entire snapshot when the virtual device starts. This change should greatly decrease the time needed to load a snapshot.

For details, see Configuring VM acceleration .

27.2.9 (May 2018)

This update includes several new features, improvements to existing features, and bug fixes.

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

You can now record video and audio from the Android Emulator and save the recording to a WebM or animated GIF file.

The screen recording controls are in the Screen record tab of the Extended Controls window.

Tip: You can also open the screen recording controls by pressing Control + Shift + R (Command + Shift + R on Mac).

To begin screen recording, click the Start recording button in the Screen record tab. To stop recording, click Stop recording .

Controls for playing and saving the recorded video are at the bottom of the Screen record tab. To save the video, choose WebM or GIF from the menu at the bottom of the tab and click Save .

You can also record and save a screen recording from the emulator using the following command on the command line:

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

স্ক্রিনশট

You can take screenshots from the command line with either of the following commands:

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

Screenshots are saved in PNG format.

Virtual scene camera and ARCore

Developing and testing augmented reality apps (AR) with ARCore is now even easier with the new virtual scene camera, which allows you to experiment with your AR experience within a virtual environment.

For information on using the virtual scene camera in the emulator, see Run AR apps in Android Emulator .

Google Play Store on Pixel device images

The Google Play Store is now enabled for Pixel and Pixel 2 device images. This is indicated in the AVD Manager in Android Studio 3.2 and later with the Google Play logo in the Play Store column. AVDs with Google Play Store enabled have a Google Play tab in the Extended controls dialog that provides a convenient button for updating Google Play services on the device.

স্ন্যাপশট

You can now load a Quick Boot snapshot without restarting the emulator. To load a snapshot, open the Extended Controls window to the Settings page and click the Load Now button.

We have made many improvements to the loading and saving of snapshots to improve efficiency of resource usage and to minimize the time that each operation takes. If you still experience unusually long saves, please file an issue , providing details of your CPU, RAM, and settings of any antivirus / firewall / security software that is running.

Rendering with Skia

When using images for API 27 or later, the emulator can render the Android UI with Skia , which can render more smoothly and efficiently.

For now, use of Skia requires that you explicitly enable it.

To enable Skia rendering, use the following commands in adb shell:

  su
  setprop debug.hwui.renderer skiagl
  stop
  start

ক্যামেরা

On Windows, Android Emulator now uses Media Foundation as the webcam back end, which greatly improves performance and frame rate for webcam capture, up to 720p 30 FPS.

On Mac, you can now use webcam0 and webcam1 together.

বিবিধ

The -phone-number-prefix command-line option has been changed to -phone-number [number] , which allows setting of the full phone number.

You can now use alphanumeric SMS addresses.

সংশোধন করে

  • The Linux version of the Android Emulator is now built using a modern Clang C++ toolchain. This change fixes the issue of the emulator failing to start due to libGL and libstdc++ errors.
  • Fixed several causes of crashes and hangs.
  • To avoid crashes and hangs caused by not having enough free disk space, the emulator now checks for sufficient free disk space on startup, and will not start unless at least 2 GB is free.
  • Fixed an issue that prevented some Unity games from rendering.
  • Fixed DNS issue that caused the emulator to be unable to connect to the network.
  • Fixed an issue that caused changes to the internal storage allocated to an AVD through the Virtual Device Configuration dialog to not work.
  • Fixed an issue of many adb processes being created and not properly shut down.
  • Fixed an issue that caused the rotate buttons and other parts of the UI to become unresponsive unless the Extended controls window was open.
  • Fixed an issue that caused copy and paste from the host to not work unless the Extended controls dialog was opened at least once.
  • The frameless emulator's resize rectangle has been updated to better follow the emulator's visual theme.
  • Telephone and SMS are now properly deactivated when airplane mode is on.
  • Fixed an issue that caused SMS and cellular functionality to be disabled after loading a snapshot.
  • You will no longer receive false warning messages saying “Unable to open... \pstore.bin. Permission denied.”
  • Fixed an issue that prevented re-positioning the AVD on some Mac screens.
  • Fixed issues with flickering and blank screens on newer MacBook Pro computers when running AVDs with Pixel 2 XL skins.
  • Fixed issues with blank screens when switching into zoomed mode while a frameless emulator was active.
  • Fixed an issue that caused the device skin and emulator contents to scroll out of sync when zoomed in.

If you are still experiencing hangs or other instabilities, please file an issue .

27.1.12 (March 2018)

This update includes fixes for the following issues:

  • Bluetooth audio quality degraded after starting the emulator. ( Issue 37095756 )
  • Locations sent to one emulator were sent to all of them. ( Issue 73450633 )
  • GPS location set using the console was overridden by values set using Extended Controls > Location in the graphical user interface. ( Issue 73471760 )

If you are still experiencing hangs or other instabilities, please file an issue .

With this update, a current system image, and a preview version of Android Studio, you can use Android Emulator to run augmented reality applications built with ARCore. For detailed requirements and instructions, see Run AR apps in Android Emulator .

27.1.10 (February 2018)

  • Camera capture resolution

    720p frames can now be captured from an attached webcam.

    To work with Android 8.1 (API level 27) and higher system images, any attached webcam must have the capability to capture 720p frames.

  • সংশোধন করে

    • Fixed an issue that caused webcam capture to sometimes output a distorted or all-green image.
    • Fixed an issue that made it possible to see the following message even when there was no actual hang: "emulator: ERROR: detected a hanging thread 'Qt event loop'. No response for 15000 ms".

If you are still experiencing hangs or other instabilities, please file an issue .

27.1.7 (February 2018)

  • Frameless emulator window:

    By default, emulators with device skin files are now shown without a surrounding window frame. To show the surrounding window frame, enable Show window frame around device in the Settings pane of the Extended Controls window.

  • Quick Boot improvements to make working with AVD snapshots more efficient:

    • You can save an AVD snapshot at any time using the Save Now button in the Settings pane of the Extended Controls dialog box.
    • The emulator reduces the time that it takes to save a snapshot in many cases by saving only the difference between the current state and the previously saved snapshot.

    For details, see the Quick Boot documentation.

  • The emulator has been updated to use QEMU 2.9.

    Some notable improvements include the following:

    • Optimized I/O and finer-grained I/O thread locking for greater performance.
    • Fixed bugs since QEMU 2.8 (26.1.4).
    • New implementation of the HAXM back end.

    See the full list of changes in the QEMU 2.9 change log .

  • Swiftshader implementation conforming to OpenGL ES 3.0:

    The emulator's Swiftshader renderer now conforms fully with OpenGL ES 3.0. For details of the Swiftshader renderer, see the Settings > Advanced section of Extended Controls .

  • সংশোধন করে

    • Fixed an issue where clipboard sharing was not working unless the Enable clipboard sharing option was toggled off and on.
    • Fixed a hang when using the Swiftshader rendering back end with low-resolution AVDs.

27.0.5 (January 2018)

  • ANGLE for rendering on Windows is now disabled by default.

    If ANGLE works better for you, you can re-enable it with command line flag -gpu angle_indirect . Or, open the Extended controls window, navigate to Settings > Advanced , and select ANGLE D3D11 for the OpenGL ES renderer setting.

  • Fixed an issue where Shift+B does not type a capital B character.

27.0.2 (December 2017)

  • New Quick Boot feature provides faster emulator start times, based on a snapshot of your AVD instance.

    Quick Boot is enabled by default for all AVDs. Although the first time you start an AVD it must perform a cold boot (just like powering on a device), all subsequent starts are fast and the system is restored to the state at which you closed the emulator (similar to waking a device).

    If you want to control when the emulator saves a snapshot, open the emulator's Extended controls window and click Settings . Here, you can select one of the following settings for Save quick boot state on exit :

    • Yes : Always save quick boot snapshot when you close the emulator. এটি ডিফল্ট।
    • No : Never save quick boot snapshot; always perform a cold boot.
    • Ask : Prompt whether or not to save quick boot snapshot when you close the emulator.

    Your selection applies only to the currently open AVD.

    For more information, see the Quick Boot documentation .

  • Added support for Mac OpenGL ES 3 (for system images using API level 24 and higher, Google APIs, and the x86 ABI).

  • For added stability in OpenGL ES 2+ apps, emulator now uses OpenGL core profile if available.

  • New options for rendering with Swiftshader / ANGLE:

    • -gpu swiftshader_indirect : Faster, more stable variant of Swiftshader that works with Quick Boot.
    • -gpu angle_indirect (Windows only): More stable variant of ANGLE D3D that also works with Quick Boot.

    The older -gpu swiftshader and -gpu angle options are now deprecated. In the Extended controls window, the "SwiftShader" and "ANGLE" options for the OpenGL ES renderer setting in Settings > Advanced now use the *_indirect variants.

  • অন্যান্য বিভিন্ন বাগ ফিক্স।

26.1.4 (August 2017)

This is a minor release with bug fixes and the following improvements to GPU configuration:

  • Enable boot animation when running on ANGLE renderer
  • Disable GLES3 when running on ANGLE renderer

26.1.3 (August 2017)

This is a minor release with bug fixes, performance improvements, and small feature changes.

  • This version is now required to use the latest Android 8.0 system images. They are Treble-compliant , featuring separate vendor.img partitions.
  • New HAXM 6.2.0 now available (check the SDK Manager) and includes the following updates:
    • Improved memory usage. The peak working set of memory pinned by HAXM is no longer equal to the size of the AVD's RAM; instead, memory is paged in on demand. This should help the emulator run more reliably on machines with lower amounts of RAM.
    • The emulator with HAXM 6.2.0 can now boot faster on macOS, skipping a lengthy initialization phase.
  • Improvements to GPU configuration
    • Fixed issues with black screen on boot when performing guest-side software rendering by falling back to host-side software rendering with Swiftshader. Latest revisions of system images for API levels 19 - 25 with Google APIs should have working guest-side rendering.
    • Fixed an issue where the emulator was switched to a software renderer due to detecting the presence of older Intel GPUs, but the emulator was actually running on a discrete GPU. Which GPUs will be switched to use ANGLE or Swiftshader rendering is determined as follows:
      • Older Intel iGPUs have driver issues on both OpenGL and ANGLE D3D drivers. Users with Intel HD Graphics 3xxx and older will use Swiftshader.
      • Some users reported the inability to use API level 25 images because of a bug in which "Pixel Launcher keeps stopping." This seems to be a driver issue in some Intel HD 4xxx models. So they will be switched to use ANGLE automatically.
    • For best results with GPU emulation, we recommend either to use a discrete NVIDIA or AMD GPU, or a newer Intel GPU (Iris, HD 5xxx, HD 5xx/6xx).
    • Fixed an issue where the emulator would fail to start (OpenGL emulation failed to initialize) if the AVD was configured with hw.gpu.mode=host and the emulator was launched in a remote desktop client.
    • Clarified "OpenGL ES API level (requires restart)" settings; added an option to downgrade from OpenGL ES 3 to OpenGL ES 2 if experiencing issues or needing to test on lower OpenGL ES API levels.
    • Mesa renderer is deprecated; hw.gpu.mode=mesa will now be automatically switched to use Swiftshader on the host.
  • Improvements for macOS:
    • The emulator is now fully compatible with macOS 10.13 High Sierra through either Hypervisor.Framework or HAXM 6.2.0.
    • Hypervisor.framework is now enabled by default on macOS for 32-bit x86 images to improve performance and macOS compatibility. If you experience issues with it specifically, please file a bug report and append HVF = off to ~/.android/advancedFeatures.ini (create this file if it doesn't exist).
    • Fixed issues with no internet / failure to attach debugger while using Hypervisor.framework.
    • To enhance compatibility and performance of webcam capture, the QTKit-based camera capture has been replaced with a buffered one based on AVFoundation.
  • Added support for Wi-Fi in some system images (currently only API level 25). An access point called "AndroidWifi" is available and Android automatically connects to it. Wi-Fi support can be disabled by running the emulator with the command line parameter -feature -Wifi .
  • Some users raised the concern that the fixed-size Play Store system images did not have sufficient storage. As such, we've increased the size to 2 GB by default (up from 800 MB).
  • Added a keyboard shortcut (Ctrl+Shift+U) to open the bug reporting UI page directly from the settings page.
  • Fixed an issue where if an older CPU with Intel x86 EPT but without UG was used, the emulator would fail to boot if more than one core was configured.
  • Fixed an issue where HyperV would be improperly detected if the emulator was itself running in a Xen hypervisor.
  • Fixed an issue where the emulator would crash on start in some Linux configurations.

26.1.2 (July 2017)

This release includes new features and performance improvements.

  • Added the ability to define a custom HTTP proxy configuration in the extended controls (click More, and then click Settings and Proxy ). By default, the emulator uses the Android Studio HTTP proxy settings, but this screen allows you to define a manual proxy configuration.

  • Added VNC support for guest mode GPU so emulator can be remotely viewed and controlled. For example, you can launch the emulator and let VNC listen to port 5901 as follows:

    1. Execute: emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1
    2. Open a VNC viewer, such as tightvnc viewer, to connect to port 5901.

      • To use Mac's built-in screen sharing client, a VNC password is required when launching the emulator. To set a password, use this command:

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

        And then enter change vnc password into the console, and enter a password.

    Android O is not currently supported for VNC mode.

  • Added a File a bug button in the extended controls Help screen (Click More, and then click Help and Emulator help ). Clicking File a bug opens a dialog where you can see the bug report details such as the screenshot, the AVD configuration info, and a bug report log. You can then save the report for yourself or report emulator issues .

  • Added gyroscope sensor to emulator and virtual sensors panel. This requires a system image with gyroscope support to work (currently API level 24 and 25).

  • Added host-preferred DNS to Qemu DNS list on Windows, when multiple virtual network interfaces on the host introduce multiple DNS addresses which are not functional for the emulator.

  • Added experimental macOS Hypervisor.Framework support for 32-bit x86 images on macOS 10.10+ through server flags, which should improve boot time and performance.

    • If you experience problems with it, add the line HVF = off in ~/.android/advancedFeatures.ini .
  • OpenGL ES 3.x is now enabled by default for system images and host GPUs that support OpenGL ES 3. Currently, only Android O (API level 26) and Windows/Linux hosts support OpenGL ES 3.

    • If you experience problems with OpenGL ES 3, add the line GLESDynamicVersion = off in ~/.android/advancedFeatures.ini .
  • Emulator now uses offscreen OpenGL FBOs for all rendering except final display image posting, which should help with color consistency issues across platforms.

  • After collecting data on sudden emulator slowdown issues, we have determined that the problem may have to do with some interaction between older Intel OpenGL drivers and Windows updates. As such, users with Intel HD 4000, 3000, 2000 (and related GPUs) now have rendering set by default to either a D3D renderer (ANGLE) or Swiftshader (software renderer).

26.0.0 (March 2017)

This release is compatible with API level 26. It also includes a number of performance improvements and bug fixes.

Minor revision 26.0.3 (May 2017)

  • Adds online-updateable feature flags for quickly addressing issues stemming from problematic hardware configurations. This allows Google to roll out fixes and features that are dependent on user configurations by updating server-side flags. If you notice issues with specific hardware, please report a bug so we can investigate the problem.
  • New support for rotary input for Android Wear API level 25 system images. To emulate the rotary input dial on a Wear device, click the Rotary Input tab on the extended window.
  • The Crash Reporting dialog is now resizable and no longer resets When to send crash reports to Ask without input.
  • The 32-bit emulator now requires that the maximum AVD RAM size be less than or equal to 512 MB, in order prevent the emulator from running out of room in the 2 GB virtual address space.
  • Adds support for absolute paths in emulator images.
  • Adds a new tab in the extended window for Google Play Store images that displays the Play Services version and a button to check for updates to Play Services.
  • Adds a dropdown to select the OpenGL renderer on the Emulator Settings page. If you are experiencing issues with the OpenGL driver on a Windows machine, try using the ANGLE (D3D11) or ANGLE (D3D9) options (requires a restart). If you are experiencing issues with the OpenGL driver on a non-Windows machine, try using the Swiftshader software renderer (requires a restart).
  • Fixes a rare crash on exit when the emulator receives both exit and minimize commands.
  • Fixes a scaling issue when changing displays on a Mac machine. ( Issue 268296 )
  • Fixes an issue where the emulator takes 300% of the CPU and holds it after resuming the host computer from sleep or when the emulator has been running for a long time.
  • Fixes a crash when the emulator is shutting down.

Updates with HAXM v6.1.1 (March 2017)

Note: HAXM v6.1.1 is available for Mac users through the SDK Manager as of March 30th, and will be available for Windows users soon.

Version 26.0.0 of the Android Emulator supports HAXM v6.1.1, which includes the following updates:

  • Enables Performance Monitoring Units (PMU) emulation. ( Issue 223377 )
  • Fixes coexistence with VirtualBox and Docker on Macs. ( Issue 197915 )
  • Revises the installation error message displayed when the installer fails to detect Intel VT-x on Windows, usually because Hyper-V is enabled.
  • Adds support for accelerating the Android Emulator in a Hyper-V-based Windows VM. This update requires that the host Hyper-V instance (the one that manages the Windows VM/guest) use the latest version of Hyper-V with nested virtualization enabled. Hyper-V must be disabled in the guest Hyper-V instance (the Windows VM).

নির্ভরতা

  • Android SDK Platform-Tools revision 25.0.4 or later.
  • Android SDK Tools revision 26.0.0 or later.

New features and bug fixes

  • Compatible with API level 26.
  • Fully GLES 2.0 compliant. Given a host GPU that has conformant desktop OpenGL drivers, the emulator now passes 100% of the Android CTS dEQP-GLES2 mustpass list . This has been released for API level 24 x86 images (revision 11 and higher) and will soon be included for all system images.
  • Improved video playback performance. The emulator now stores all video color buffers in host/guest shared memory and performs necessary final YUV to RGB conversion in the GPU. 1080p30 should be well within reach of most systems now. This has been released for API level 24 x86 images (revision 11 and higher) and will soon be included for all system images.
  • The emulator now correctly unregisters itself from the adb devices list on exit and closes open TCP ports on Linux machines.
  • adb connections are now more reliable. A running emulator is detected faster and doesn't go into “offline” or “unauthorized” status anymore.

25.3.0 (March 2017)

As of this release, the Android Emulator will be released separately from the SDK Tools. This release contains a variety of performance improvements, new features, and bug fixes.

Minor revision 25.3.1 (March 2017)

  • Fixed a crash occurring on some GPU configurations by disabling GLAsyncSwap by default. This feature was added in 25.3.0 to improve frame timing and frames per second for games and video, but causes the emulator to fail on some unknown machine configurations. You can manually enable it by opening the android_sdk /emulator/lib/advancedFeatures.ini file and setting GLAsyncSwap = on .

নির্ভরতা

  • Android SDK Platform-Tools revision 24 or later.
  • Android SDK Tools revision 25.3.0.

New features and bug fixes

  • Updated emulation engine to QEMU 2.7, including all recent bug fixes, improved performance, and new features.
  • New IPv6 support.
  • The emulator now uses SwiftShader as a pure software renderer on the host.
  • Android Pipe performance improvements: Android Pipe, the main communication channel between the emulator and Android OS, is now an order of magnitude faster, has lower latency and offers better multi-threaded performance. This causes a number of performance improvements for the emulator, including:
    • Improved ADB push/pull speed.
    • Better 3D acceleration support.
    • Increased overall responsiveness of the emulator.
    • Improved graphics performance.
  • The emulator now uses GPU-side buffers (glBindBuffers / glBufferData) when the guest requests them, decreasing CPU overhead in some apps.
  • Improved audio support.
  • Faster disk I/O: The emulator now uses separate threads to dispatch disk I/O, resulting in lower latency and better throughput (~1.5x sequential I/O speed, ~5x random access I/O speed). This also reduces the number of flushes to disk, resulting in much lower physical device load.
  • The emulator now uses sparse files for disk boots on Windows machines, speeding up both first boot and "wipe-data" boots. When creating or resetting an AVD, the emulator now writes 100-200 MB of data to disk, instead of 2 GB or more.
  • Various GUI enhancements:
    • The emulator now uses Qt 5.7.0, which includes bug fixes and performance improvements.
    • UI initialization no longer attempts to load all emulator executables as Qt plugins, so it's dramatically shorter, especially on HDDs.
    • UI interactions are now faster and smoother, including rotation, window resizing, and extended controls window loading and closing.