Magisk-ის დეველოპერმა მიაღწია ორ დიდ მიღწევას: სისტემა-როგორც ფესვის მხარდაჭერა და ლოგიკური ტიხრები Google Pixel 3-ისა და Pixel 3a-სთვის Android Q-ზე.
Google-მა გამოუშვა პირველი Android Q ბეტა ჯერ კიდევ მარტში და სწრაფი წვდომა Magisk-ის საშუალებით ხელმისაწვდომი გახდა Google Pixel-ისთვის და Google Pixel 2-ისთვის. თუმცა, Google Pixel 3-ის დაყენება ვერ მოხერხდა Android Q-ზე, რადგან Magisk-ის დეველოპერი, XDA აღიარებული დეველოპერი. topjohnwu, საჭიროა იმის გასარკვევად, თუ როგორ უნდა ვიმუშაოთ ლოგიკური დანაყოფების ახალ განლაგებასთან. Apple-ში მისი ახალი სტაჟირებით, topjohnwu-ს ნაკლები დრო ჰქონდა Magisk-ზე სამუშაოდ, მაგრამ ამან ხელი არ შეუშალა მას განვითარებაში ორი დიდი გარღვევისთვის. Canary-ის უახლეს გამოშვებაში, Magisk ახლა მხარს უჭერს system-as-root-ს, რაც ართულებს აპებისთვის root-ის აღმოჩენას წვდომა და ასევე მხარს უჭერს მოწყობილობებს ლოგიკური დანაყოფებით, როგორიცაა Pixel 3 და Pixel 3a XL სერიები Android Q.
Google Pixel 3 ფორუმიGoogle Pixel 3 XL ფორუმი
Google Pixel 3a ფორუმიGoogle Pixel 3a XL ფორუმები
Google Pixel 3 და Pixel 3a ლოგიკური დანაყოფის მხარდაჭერა Android Q-ზე
დეველოპერებისთვის Android-ის AOSP ვერსიების არსებულ მოწყობილობებზე ტესტირებაში დასახმარებლად, Google გამოუშვებს ზოგადი სისტემის სურათებს (GSI), რომელთა ჩატვირთვა შესაძლებელია Project Treble-თან თავსებად მოწყობილობებზე (ნებისმიერი მოწყობილობა, რომელიც გაშვებულია Android 9 Pie-ით ან უფრო ახალი ვერსიით.) GSI-ის ინსტალაცია მოითხოვს ჩამტვირთველის განბლოკვას, რაც შეიძლება შეუძლებელი იყოს ყველა მოწყობილობაზე და მომხმარებლის წაშლის შემდეგ სისტემის გამოსახულების გამორთვა fastboot-ზე. მონაცემები. Android Q-ში Google ახორციელებს ახალ ფუნქციას სახელწოდებით დინამიური სისტემის განახლებები რაც დეველოპერებს საშუალებას აძლევს ჩატვირთონ GSI ჩამტვირთველის განბლოკვის ან მონაცემების წაშლის გარეშე. დინამიური სისტემის განახლებების მხარდასაჭერად მოწყობილობას უნდა ჰქონდეს ლოგიკური ტიხრები, რომელთა ზომა შეიძლება დინამიურად შეიცვალოს GSI ინსტალაციისთვის ადგილის შესაქმნელად. Google Pixel 3-ს, Google Pixel 3 XL-ს, Google Pixel 3a-ს და Google Pixel 3a XL-ს აქვთ ლოგიკური ტიხრები Android Q ბეტაზე, თუმცა მხოლოდ Pixel 3 და Pixel 3 XL-ს აქვს DSU მხარდაჭერა. მიუხედავად ამისა, მაგისკი არ მუშაობდა დანაყოფის სტრუქტურის ამ რადიკალური ცვლილების გამო.
როდესაც topjohnwu განისაზღვრება, არაფერი აჩერებს მას root წვდომის მიღწევაში. სულ რაღაც მეორე დღეს, მან გამოაცხადა, რომ წარმატებით დააყენა თავისი Pixel 3 XL Android Q ბეტა 4-ზე. მისი ვალდებულების აღწერა აქ განმარტავს ტექნიკურ დეტალებს, თუ როგორ მიაღწია მან ლოგიკური დანაყოფის მხარდაჭერას, მაგრამ მთავარია, რომ Magisk ახლა შეიძლება დაინსტალირდეს მოწყობილობებზე ლოგიკური დანაყოფებით ან მის გარეშე.
System-as-Root მხარდაჭერა
მოწყობილობებისთვის A/B ორმაგი ტიხრები, სისტემის დანაყოფი დამონტაჟებულია როგორც root დირექტორია (/), მაგრამ მოწყობილობებს A/B ორმაგი დანაყოფის გარეშე აქვთ სისტემის დანაყოფი დამონტაჟებული /system-ზე. ეს შეუძლებელს ხდის მხოლოდ სისტემის OTA-ებს არა-A/B მოწყობილობებზე, რადგან ფაილები ramdisk-ში, რომლებიც საჭიროებენ განახლებას, განლაგებულია ჩატვირთვის განყოფილებაში. სწორედ ამიტომ, იმისათვის, რომ Android Pie-ში და უფრო ზევით მხოლოდ სისტემის OTA-ები იყოს შესაძლებელი, Google ავალდებულებს, რომ Android Pie-ით გაშვებულ ყველა მოწყობილობას მხარი დაუჭიროს system-as-root დანაყოფის განლაგებას. System-as-root განლაგებაში, ramdisk გამოსახულება გაერთიანებულია სისტემის სურათში, რომელიც დამონტაჟებულია rootfs-ის სახით.
მას შემდეგ, რაც Google-მა შემოიტანა system-as-root, გამოსავალი root მოწყობილობებზე იყო სისტემის-როგორც-root-ის დაბრუნება ძველ დანაყოფის "initramfs rootfs" განლაგებაზე. რომ მუშაობს ჯარიმა Android 7.1-დან Android 9 Pie-მდე, რადგან Android-ს აქვს ძველი განლაგების მხარდაჭერა, მაგრამ Android Q მთლიანად შლის მხარდაჭერა, როგორც system-as-root, ახლა სავალდებულოა ყველა მოწყობილობისთვის, თუნდაც იმ მოწყობილობებისთვის, რომლებიც განახლდებიან Android Q-ზე. Magisk-ის ადრინდელი ვერსიები მაინც მუშაობდა ზოგიერთი "ნამდვილად საზიზღარი ჰაკის" წყალობით, მაგრამ topjohnwu არ იყო კმაყოფილი ამ გადაწყვეტით, ამიტომ სათანადოდ მხარდაჭერილი აქვს system-as-root-ს. გააცნო "MagiskInit".
სისტემის როგორც root დანაყოფის განლაგების სათანადო მხარდაჭერის კარგი გვერდითი ეფექტი არის ის ერთი პოტენციური გამზირი ფესვის გამოვლენის ჩახშობა. როგორც topjohnwu კეთილგანწყობით ამიხსნა, ძველი "დაბრუნება initramfs rootfs" მეთოდი აპებისთვის ადვილი იყო ამოსაცნობი, რადგან Magisk დამონტაჟდებოდა სისტემა '/system_root'-ზე და დააკავშირეთ მაუნთი '/system_root/system' '/system'-ზე. ყველაფერი, რაც აპმა უნდა გააკეთოს root-ის არსებობის დასადგენად არის შეამოწმეთ არის თუ არა '/system_root' თუ '/' არის 'rootfs'. თუმცა, გაურკვეველია, რომ რომელიმე აპმა რეალურად ისარგებლა ამით გამოსავლენად ფესვი. და მაინც, ეს უკეთესია უსაფრთხო, ვიდრე ბოდიში.
სხვადასხვა ცვლილებები
Android Q წარმოგიდგენთ მხარდაჭერას, რასაც ჰქვია "ბლასტულას აუზიAndroid აპლიკაციის სასიცოცხლო ციკლისთვის. MagiskHide იყო არ შეუძლია აპლიკაციების აღმოსაჩენად root წვდომის დასამალად, თუ ჩართულია ახალი ფუნქცია „პროცესის აუზი“. Canary-ის უახლესი გამოშვება ახლა მხარს უჭერს ამ ფუნქციას. topjohnwu-ს მიხედვით: „Q-ში დანერგილი ახალი ბლასტულა აუზის ოპტიმიზაციის სათანადოდ მხარდასაჭერად, მე გადავწერე ლოგიკის კარგი ნაწილი პროცესის მონიტორინგისთვის“.
თუ Android Q ბეტა ვერსიაზე გაქვთ Pixel 3, Pixel 3 XL, Pixel 3a ან Pixel 3a XL, სცადეთ Magisk Canary-ის უახლესი გამოშვება და შეგვატყობინეთ, მოახერხებთ თუ არა თქვენი მოწყობილობის დაყენებას.
მაგისკის კანარის არხი