ახალი პროექტი სახელწოდებით Dynamic Android დეველოპერებს საშუალებას მისცემს შეამოწმონ AOSP Android Q GSI ნებისმიერ მოწყობილობაზე, რომელიც მუშაობს Android Q ან უფრო ახალზე.
მადლობა პროექტი Trebleსმარტფონის მოწყობილობების შემქმნელებმა Android Pie პროგრამული უზრუნველყოფის განახლებები უფრო სწრაფად მიაწოდეს, ვიდრე ამის გაკეთება შეძლეს Android Oreo-ს განახლებისთვის, ყოველ შემთხვევაში, ფლაგმანი სმარტფონებისთვის. თუმცა, Google-ს არ სურს დაინახოს, რომ მხოლოდ OEM-ები იღებენ Project Treble-ის სარგებელს. კომპანიას ადრეც ჰქონდა გამოხატა ინტერესი Android Q-ის ზოგადი სისტემის სურათის (GSI) გამოშვებისას დეველოპერებისთვის, რათა მათ არ დაეყრდნონ ემულატორებს, გამოიყენეთ ღრუბლოვანი სერვისიან დაელოდეთ განახლებას საკუთარ მოწყობილობაზე, რათა შეამოწმოთ აპლიკაცია უახლესი API დონის მიხედვით. თეორიულად, GSI-ის გამოშვებამ უნდა მისცეს ნებისმიერ დეველოპერს Project Treble-თან თავსებადი მოწყობილობით (თავდაპირველად Android) 8.0 Oreo და ზემოთ, მაგრამ ახლა განიხილება მხოლოდ Android 9 Pie-ით გაშვებული მოწყობილობები) უახლესი Android-ის შესამოწმებლად ვერსია. ყველაფერი, რაც დეველოპერმა უნდა გააკეთოს, არის სისტემის გამოსახულების გამორთვა არსებული პროგრამული უზრუნველყოფის ინსტალაციის თავზე - არ არის საჭირო პერსონალური აღდგენის, ჩატვირთვის ან გამყიდველის სურათი.
თუმცა, არსებობს რამდენიმე პრობლემა GSI ინსტალაციის მიმდინარე პროცესთან დაკავშირებით. პირველ რიგში, თქვენ გჭირდებათ განბლოკილი ჩამტვირთველი, რომელიც არ არის შესაძლებელი Huawei ან Honor მოწყობილობებზე (გადახდის გარეშე საფასური), HMD Global-ის Nokia მოწყობილობები (გარდა Nokia 8), ან აშშ-ს ოპერატორის ბრენდის მოწყობილობები. შემდეგი, პროცესი რთული იქნება მათთვის, ვინც არ იცნობს მოციმციმე სურათებს fastboot-ის საშუალებით. და ბოლოს, GSI-ის ახლა ციმციმებს დაგჭირდებათ შიდა მეხსიერების მთლიანად წაშლა, რაც ნიშნავს, რომ თქვენ ალბათ მოგინდებათ სათადარიგო მოწყობილობის ტესტირება. ამჟამად, GSI-ის ჩართვა მხოლოდ ისაა, რასაც OEM-ები იყენებენ Project Treble-თან თავსებადობის შესამოწმებლად მათ მოწყობილობებზე, და ამის გარდა, ეს მხოლოდ მიმზიდველია. საბაჟო ROM ენთუზიასტები. Google-ის ახალი პროექტი „Dynamic Android“ შესაძლოა შეცვალოს ეს.
დინამიური Android — მარტივად გამოსცადეთ AOSP GSI ნებისმიერ Android Q მოწყობილობაზე
ბოლო რამდენიმე თვის განმავლობაში Google მუშაობდა GSI-ის უსაფრთხო ჩატვირთვის გზაზე ჩამტვირთველის განბლოკვის გარეშე. მოკლედ, Google ავითარებს აპს, რომელსაც აქვს სპეციალური ნებართვები, რაც საშუალებას აძლევს მას ჩამოტვირთოს GSI, დაჯავშნოს მისთვის შენახვის ადგილი და მონიშნოს GSI ჩამტვირთავად. ამ პროექტს რამდენიმე კომპონენტი აქვს, ამიტომ განვიხილოთ ისინი სათითაოდ.
დინამიური Android და Android On Tap
Android Q-ს ემატება ორი ახალი სერვისი: Dynamic Android და Android On Tap სერვისები. მიუხედავად იმისა, რომ Dynamic Android ამუშავებს GSI-ს ინსტალაციას, Android On Tap აცნობებს სისტემის აპებს გამოძახებით და მაუწყებლობის მიზნებით. მაგალითად, Android On Tap აფრთხილებს KeyguardManager-ს, რომ სთხოვოს მომხმარებელს დაადასტუროს ინსტალაციის მოთხოვნა, თუ მოწყობილობა დაცულია PIN-ით, პაროლით ან ნიმუშით. AOT ასევე აფრთხილებს მომხმარებელს GSI-ში ჩატვირთვისას.
"DynamicAndroidManager"-ის აღწერილობის მიხედვით, სერვისი "სთავაზობს მექანიზმს ახალი Android-ის გამოყენებისთვის სურათი დროებით." ინსტალაციის შემდეგ, მოწყობილობას შეუძლია გადატვირთოს ახლად დაყენებულ სურათზე ახლად შექმნილი /data. GSI-ში ყოფნისას გადატვირთვა მომხმარებელს უბრუნებს სისტემის თავდაპირველ სურათს, მაგრამ ახლად დაინსტალირებული სურათი და მისი მონაცემები უბრალოდ გამორთულია და არ წაიშლება. თუ მომხმარებელი აირჩევს ამას, GSI და მისი მონაცემები შეიძლება მთლიანად წაიშალოს.
წყაროები: [1], [2], [3], [4]
GSID
GSI დემონი გამოყოფს ადგილს /data დანაყოფში GSI გამოსახულების და მისი მონაცემების შესანახად და გამოსახულების ჩამტვირთველად. GSI-ის მეტამონაცემები ინახება /metadata-ში, ხოლო თავად GSI და მისი მონაცემები ინახება /data/gsi-ში. ნაგულისხმევად, GSID გამოყოფს 8 GB მომხმარებლის მონაცემებს ახლად დაყენებული GSI-სთვის. ზოგადად, GSID ეძებს მინიმუმ 40% თავისუფალ ადგილს ინსტალაციის დაწყებამდე. და ბოლოს, დემონი ხელს უშლის მომხმარებელს GSI-ის დაყენებაში GSI-ში, გასაგები მიზეზების გამო.
წყაროები: [1], [2], [3], [4]
უსაფრთხოება
Android Verified Boot (AVB) ჩართულია ახლად დაყენებული EXT4 სისტემის სურათისთვის (system_gsi დამონტაჟებულია /system-ზე). Google-მა ასევე დანერგა SELinux პოლიტიკა ახალი სერვისებისთვის. და ბოლოს, GSI-ის დაყენება მოითხოვს, რომ აპს ჰქონდეს ახალი MANAGE_DYNAMIC_ANDROID ნებართვა. ეს არის ხელმოწერის დონის ნებართვა, რაც ნიშნავს, რომ აპლიკაცია უნდა იყოს ხელმოწერილი OEM-ის მიერ.
წყაროები: [1], [2]
ADB და Fastboot ბრძანებები
GSI-ები ასევე დაინსტალირებული იქნება ახალი ADB ბრძანებების მეშვეობით. ახალი ADB gsi_tool shell ბრძანება მომხმარებლებს საშუალებას მისცემს გამორთონ, ხელახლა ჩართონ, დააინსტალირონ და შეინახონ მომხმარებლის მონაცემები, დააინსტალირეთ და შექმენით მომხმარებლის მონაცემები, დააინსტალირეთ და წაშალეთ მომხმარებლის მონაცემები, ან შეამოწმეთ მისი სტატუსი ინსტალაცია.
gsi_tool - command-line tool for installing GSI images.
Usage:
gsi_tool <disable|install|wipe|status> [options]
disable Disable the currently installed GSI.
enable Enable a previously disabled GSI.
installInstall a new GSI. Specify the image sizewith
--gsi-size and the desired userdata size with
--userdata-size (the latter defaults to 8GiB)
--wipe (remove old gsi userdata first)
wipe Completely remove a GSI and its associated data
status Showstatus
ორი ახალი fastboot ბრძანება დაემატება GSI-ს სამართავად, თუმცა fastboot-ის ინსტალაცია მხარდაუჭერელია, რადგან fastboot-ს არ შეუძლია მომხმარებლის მონაცემების დამონტაჟება.
fastboot gsi wipe
fastboot gsi disable
წყაროები: [1], [2]
ეს ვის სარგებელს მოუტანს?
მინდა ვთქვა, რომ აპლიკაციის დეველოპერებს შეეძლებათ ისარგებლონ Dynamic Android-ით და Android On Tap-ით, მაგრამ მთლად დარწმუნებული არ ვარ. მიუხედავად იმისა, რომ Google-მა სწორედ ამით გამოხატა ინტერესი, არ არსებობს გარანტია, რომ ეს ფუნქცია ხელმისაწვდომი იქნება Android Q-ის ყველა გამოშვებაში არა Google OEM-ები. მოწყობილობაზე ამით სარგებლობისთვის, პროგრამულ უზრუნველყოფას სჭირდება GSI ამომრჩევი აპი, რომელიც ხელმოწერილია იმავე სერტიფიკატით, როგორც ᲠᲝᲛᲘ. ასევე არ ვარ დარწმუნებული, რომ ADB-დან GSI-ების დაყენება შესაძლებელი იქნება ADB root-ის გარეშე SELinux-ის პოლიტიკის გამო.განახლება: ახალი ჩაიდინოს ადასტურებს, რომ ADB root საჭირო იქნება GSI_tool-ის გამოსაყენებლად. თუ ეს არ არის განკუთვნილი აპლიკაციების დეველოპერებისთვის, რათა გამოსცადონ თავიანთი აპლიკაციები Android-ის სუფთა ვერსიაზე, მაშინ ეს, სავარაუდოდ, მხოლოდ სარგებელი მოაქვს ინჟინრებს OEM-დან, რომლებიც ცდილობენ შეამოწმონ თავსებადობის ტესტის ნაკრები (CTS) და გამყიდველის ტესტის პაკეტი (VTS) მათზე. მოწყობილობები.
განსაკუთრებული მადლობა XDA Recognized დეველოპერს luca020400 ამ სტატიაში მისი დახმარებისთვის.