Android 11 სისტემის სურათები x86 ტექნიკისთვის ახლა მხარს უჭერს ARM ემულაციას Android Emulator-ზე Android Studio-ში x86 კომპიუტერებისთვის.
Google-მა გამოუშვა Android 11 დეველოპერის გადახედვა 2 ამ თვის დასაწყისში. ამ გამოშვებით, Google-მა შეიტანა საკვანძო ცვლილება, რათა ჩართოთ აპების უფრო ეფექტური გამართვა Android Emulator-ზე Android Studio. Android 11 სისტემის სურათები x86 CPU-ებისთვის ახლა საშუალებას აძლევს აპლიკაციებს C ან C++ დამოკიდებულებით მეტი იმუშაონ შეუფერხებლად სრული ARM ემულაციის გარეშე და ტექნიკის აჩქარების და x86-ის CPU ვირტუალიზაციის გამოყენებით აპარატურა.
Android-ის აპლიკაციები დაწერილი მშობლიური კოდით (მაგ. C ან C++) უნდა იყოს შედგენილი სხვადასხვა CPU არქიტექტურის გათვალისწინებით. უნდა არსებობდეს აპლიკაციის სხვადასხვა ვერსია, რომელიც მიზნად ისახავს CPU-ს სხვადასხვა არქიტექტურას, როგორიცაა ARM, ARM64, x86 ან x86-64. ეს იმიტომ ხდება, რომ მშობლიური კოდი პირდაპირ არის შედგენილი მანქანის ინსტრუქციებში კონკრეტული არქიტექტურისთვის, განსხვავებით Kotlin ან Java აპლიკაციებისგან, რომლებიც შესრულებულია Android Runtime-ზე (ART).
იმისათვის, რომ შეამოწმოთ თქვენი აპლიკაცია Android Emulator-ით, რომელიც მუშაობს x86-ზე დაფუძნებულ კომპიუტერზე, გჭირდებათ სხვა ვერსია x86 CPU-სთვის. აპლიკაციის x86 ვერსია არ იმუშავებს სმარტფონებზე, რადგან ისინი, როგორც წესი, დაფუძნებულია ARM ან ARM64 პროცესორებზე. აქამდე ერთადერთი ამ პრობლემის გადაწყვეტა იყო ან ფიზიკური Android მოწყობილობის გამოყენება ან ემულატორის სურათების დაყენება სრული ARM ემულაციით x86 CPU-სთვის. ეს უკანასკნელი ვარიანტი შრომატევადია და არ შეუძლია სრულად გამოიყენოს ტექნიკის აჩქარება და CPU ვირტუალიზაცია, რომელიც x86 CPU გთავაზობთ.
ამის მოსაგვარებლად, Google-მა ახლა გამოუშვა ახალი Android 11 x86 სისტემის სურათები ARM თავსებადობით. სისტემის ეს სურათები იყენებს ABI-ებს (აპლიკაციის ორობითი ინტერფეისები), რომლებიც შუალედურ ნაწილს ახორციელებენ სხვადასხვა ენაზე დაწერილ აპებს შორის ან აპებსა და ოპერაციულ სისტემას შორის. ARM ინსტრუქციები ARM ბინარში ექსკლუზიურად ითარგმნება x86-ზე, ხოლო დარჩენილი კოდის შესრულება გრძელდება x86-ში. ARM ბინარების ამ იზოლაციის გამო, პროცესი ნაკლებად ინტენსიურია და მუშაობს დაბალი დონის აპარატურაზეც კი.
გარდა C++ დამოკიდებულებების გამოყენებით Android აპლიკაციების გამართვის გამარტივებული გამართვისა, ის ასევე საშუალებას მისცემს დეველოპერებს უბრალოდ გამოაქვეყნეთ მათი აპების ARM ვერსია ABI-ებთან ერთად Chromebook-ებისთვის x86 ვერსიის ნაცვლად მომავალი. ეს ხელს შეუწყობს Android 11-ზე გათვლილი აპების მხარდაჭერას სხვადასხვა Chromebook-ზე.
ახალი x86 თავსებადი Android 11 სისტემის სურათების ჩამოტვირთვა შესაძლებელია შიგნით Android Studio გამოყენებით Android ვირტუალური მოწყობილობის მენეჯერი ან SDK მენეჯერი.