როგორ დააინსტალიროთ Android Q Beta GSI თქვენს მოწყობილობაზე, რათა შეძლოთ თქვენი აპების ტესტირება

Google-მა გამოუშვა მეორე Android Q ბეტა GSI-ები. ამ სისტემის სურათების დაყენება შესაძლებელია Project Treble-თან თავსებად მოწყობილობებზე აპლიკაციის ტესტირებისთვის. Აი როგორ.

რაც უფრო და უფრო ვუახლოვდებით Android Q-ის საბოლოო გამოშვებას, დეველოპერებისთვის აპლიკაციების განახლების დრო მცირდება. მიუხედავად იმისა, რომ Android 9 Pie (API დონე 28) ჯერ არ მიუღწევია მოწყობილობების დიდ უმრავლესობას, Google Play-ს API დონის მოთხოვნები, რაც თქვენ უნდა უკვე კარგად იციან, გაიძულებთ, 2020 წელს დაამიზნოთ API დონე 29. თუ თქვენ უკვე არ განაახლეთ თქვენი აპი Android 9 Pie-ის მიზნებისთვის, მაშინ გაქვთ აგვისტომდე, თუ გეგმავთ ახალი აპლიკაციის გაშვებას ან ნოემბრამდე, თუ გეგმავთ არსებული აპის განახლებას. მათთვის, ვისაც სურს დაიწყოს Android-ის შემდეგი ვერსიის შემუშავება, უკვე შეგიძლიათ შეამოწმოთ თქვენი აპი მასზე Android Studio ემულატორი ან ფიზიკურ აპარატურაზე, თუ ფლობთ ნებისმიერი Google Pixel სმარტფონი. თუმცა, წელს Google დეველოპერებს სთავაზობს სხვა გზას, რათა გამოსცადონ თავიანთი აპლიკაციები Android-ის უახლესი ვერსიის წინააღმდეგ: ციმციმება Android Q ბეტა GSI Project Treble-თან თავსებად მოწყობილობაზე.

პროექტი Treble არის მთავარი ინიციატივა იმ სიჩქარის გასაუმჯობესებლად, რომლითაც სმარტფონის მოწყობილობების მწარმოებლებს შეუძლიათ პროგრამული უზრუნველყოფისა და უსაფრთხოების განახლებების გაშვება. მოკლედ, Treble მოითხოვს, რომ მოწყობილობების შემქმნელებმა განასხვავონ პროგრამული უზრუნველყოფა, რომელიც უზრუნველყოფს აპარატურის მუშაობას OS-ის მიღმა არსებული პროგრამული უზრუნველყოფისგან. ეს საშუალებას აძლევს მოწყობილობების შემქმნელებს ჩატვირთონ ახალი Android გამოშვებები არსებულ მოწყობილობებზე, რათა მათ დაიწყონ რთული დავალება არსებული კოდის ბაზის პორტირება ახალი Android-ის წყარო კოდის გამოშვების თავზე. CTS-ს ავსებს VTS, ან გამყიდველის სატესტო კომპლექტი, ტესტების ნაკრები, რომელსაც მოწყობილობების შემქმნელები იყენებენ იმის დასადასტურებლად, რომ მათი მოწყობილობა აკმაყოფილებს Project Treble-ის მოთხოვნებს. მოწყობილობების შემქმნელებისთვის ერთ-ერთი ყველაზე მნიშვნელოვანი შემოწმება არის Treble-თან თავსებადი სმარტფონის შესაძლებლობა ჩაიტვირთოს ის, რასაც ეწოდება GSI, ან ზოგადი სისტემის სურათი. GSI არის AOSP-ის შეუცვლელი კონსტრუქცია, რომელიც განკუთვნილია მოწყობილობების შემქმნელებისთვის, რათა ნახონ, სწორად დანერგეს თუ არა Treble. OEM-ების მიღმა, თუმცა, Google სჯერა რომ GSI-ები შეიძლება გამოიყენონ დეველოპერებმა Android აპების თავსებადობის ტესტირებისთვის.

მაგალითად, თუ თქვენ არ ფლობთ Google Pixel-ს, ერთადერთი გზაა თქვენი აპის ქცევის შესამოწმებლად იმ პირობებში, რომელიც საუკეთესოდ შეესაბამება Google-ს დოკუმენტაცია იმისთვისაა, რომ შეიძინოთ საკუთარი Pixel მოწყობილობა, ჩატვირთოთ Android Studio ემულატორი, ან ჩახედოთ ღრუბლოვან ტესტირებას სერვისი. თითოეულ მათგანს აქვს თავისი დადებითი და უარყოფითი მხარეები, მაგრამ თუ თქვენ გაქვთ არსებული Treble-თან თავსებადი მოწყობილობა და არ გსურთ ფულის დახარჯვა ან ემულატორის შეზღუდვებთან გამკლავება, რატომ არ დაარტყით მასზე GSI? თუ თქვენი აპლიკაცია მუშაობს GSI-ზე, ის უნდა იმუშაოს თითქმის ყველა მოწყობილობაზე, რომელიც მუშაობს ამ Android ვერსიაზე.

ეს არის აზროვნების პროცესი, რომელიც მიღმა Google-ის გადაწყვეტილების მიღმა გამოუშვა Android Q GSI-ები, ან ყოველ შემთხვევაში ჩვენ ასე ვფიქრობთ. Android Q-ის საწყისი კოდი აგვისტომდე არ იქნება ხელმისაწვდომი, ამიტომ Google-ის ოფიციალური GSI ორობითი ფაილები ახლა ერთადერთი გზაა Android Q-ის რეალურ, არა Pixel-ის აპარატურაზე შესამოწმებლად. აი, როგორ შეგიძლიათ დაიწყოთ.

მოთხოვნები

სანამ Android Q ბეტას ინსტალაციას განიხილავთ, უნდა შეამოწმოთ, არის თუ არა თქვენი მოწყობილობა Project Treble-თან თავსებადი და შეუძლია თუ არა ჩამტვირთავიდან სისტემის მოციმციმე სურათების მიღება.

მოთხოვნები:

  • თქვენი მოწყობილობა ᲣᲜᲓᲐ აქვს განბლოკილი ჩამტვირთველი. Snapdragon Samsung-ის სმარტფონები, რომლებიც იყიდება აშშ-ში, Huawei-ს ბრენდის მოწყობილობები, Honor-ის ბრენდის მოწყობილობები და HMD Global-ის Nokia-ს ბრენდის მოწყობილობები (გარდა Nokia 8) აქ არ კვალიფიცირდება.
  • თქვენ გაქვთ უახლესი ADB და Fastboot ორობითი ფაილები დაინსტალირებული თქვენს კომპიუტერზე, რომლებიც შეგიძლიათ იპოვოთ აქ. Fastboot-ის მოძველებულმა ვერსიებმა შეიძლება გამოიწვიოს არასწორი ციმციმები.
  • თქვენი მოწყობილობა ᲣᲜᲓᲐ შეხვედრა ერთი შემდეგი კრიტერიუმებიდან, რომლებიც ჩაითვლება Project Treble-თან თავსებადად:
    • მოწყობილობა გაშვებულია Android 9 Pie-ით. თუ ეს ასეა, მაშინ შეგიძლიათ გამოტოვოთ Treble-თან თავსებადობის დადასტურება ამ სექციის ბოლომდე მიღწევის შემდეგ.
    • მოწყობილობა გაშვებული იყო Android 8.0 Oreo ან Android 8.1 Oreo-ით, მაგრამ განახლდა Android 9 Pie-ზე VNDK იზოლაციით და system-as-root. ჩვენ დეტალურად განვიხილავთ, თუ როგორ უნდა გავიგოთ ეს ქვემოთ მოცემულ განყოფილებაში.

სანამ უფრო შორს წავალთ, უნდა აღინიშნოს, რომ GSI-ის ციმციმა მოგიწევთ მომხმარებლის მონაცემების დანაყოფის სრული წაშლა. ეს ნიშნავს, რომ თქვენ დაკარგავთ ყველა ფოტოს, ვიდეოს, მუსიკას, დოკუმენტს ან ნებისმიერ სხვა ნივთს მოწყობილობის შიდა და გარე (/მონაცემები/მედია) საცავში. ამდენად, რეკომენდირებულია მოწყობილობის გარეთ სარეზერვო ასლის გაკეთება შემდგომში წასვლამდე.

შემდეგი, გახსოვდეთ, რომ ამ GSI-ებს არ აქვთ გავლილი CTS, ასე რომ, თუ თქვენი აპი იყენებს SafetyNet Attestation API-ს მოწყობილობის მთლიანობის შესამოწმებლად CTS პროფილის შესატყვისი, მაშინ ეს არ იმუშავებს. ასევე, ეს ნაგებობები არ არის განკუთვნილი ყოველდღიური გამოყენებისთვის, ასე რომ, ნუ გაგიკვირდებათ, თუ ერთი ან რამდენიმე ძირითადი ტექნიკის ფუნქცია არ იმუშავებს Android Q-ში უკვე დოკუმენტირებული შეცდომების თავზე. Google-მა უკვე ჩამოთვალა GSI-სთან დაკავშირებული რამდენიმე ცნობილი პრობლემა, რომელიც შეგიძლიათ იპოვოთ აქ. ნებისმიერი ახალი შეცდომა, რომელსაც იპოვით, უნდა შეიტანოთ აქ.

ტრიბლის თავსებადობის დადასტურება

გაუშვით შემდეგი ბრძანება:

adbshellgetpropro.treble.enabled

თუ პასუხი არის ყალბი, მაშინ თქვენი მოწყობილობა არ არის Project Treble თავსებადი და არ უნდა გააგრძელოთ. თუ პასუხი არის მართალია, მაშინ თავისუფლად შეგიძლიათ გადახვიდეთ.

შემდეგი, შეამოწმეთ ჯვარედინი ვერსიის მხარდაჭერა ამ ბრძანებების გაშვებით:

adb shell
cat /system/etc/ld.config.28.txt | grep -A 20"\[vendor\]"

გამოსავალში მოძებნეთ განყოფილება [გამყიდველი]და შემდეგ ამ განყოფილებაში მოძებნეთ namespace.default.isolated. თუ ამ ატრიბუტის მნიშვნელობა არის მართალია, მაშინ თქვენს მოწყობილობას უნდა ჰქონდეს Android Q GSI-ის ჩატვირთვა Android 9 Pie გამყიდველის სურათის თავზე. თუ მნიშვნელობა არის ყალბი, მაშინ თქვენს მოწყობილობას შეუძლია გამოიყენოს GSI მხოლოდ ოპერაციული სისტემის იმავე მოწყობილობაზე ვერსიისთვის.

გამომავალი ნიმუში OnePlus 6T-დან.

და ბოლოს, თქვენ უნდა დაადასტუროთ, არის თუ არა თქვენი მოწყობილობა system-as-root, რომელშიც ramdisk გაერთიანებულია სისტემის სურათთან. System-as-root არ არის სავალდებულო მოწყობილობებისთვის, რომლებიც განახლდებიან Android 9 Pie-ზე, მაგრამ აუცილებელია მხოლოდ სისტემის OTA-ს მხარდაჭერისთვის, როგორიცაა OS-ის ახალი ვერსიის ციმციმის შემთხვევაში GSI-ის საშუალებით. გაუშვით შემდეგი ბრძანებები და შეამოწმეთ, რომ გამომავალი ემთხვევა "system-as-root"-ს:

adb shell
cat /proc/mounts | grep -q /dev/root && echo"system-as-root" || echo"non-system-as-root"

ახლა, როცა იცით, რომ თქვენი მოწყობილობა თავსებადია Treble-თან, თქვენ უნდა გაარკვიოთ GSI ბინარის რომელი ვერსია უნდა ჩამოტვირთოთ, რადგან არსებობს სხვადასხვა სურათები სხვადასხვა არქიტექტურისთვის. იმის სანახავად, თუ რომელი არქიტექტურა აქვს თქვენს მოწყობილობას, შეასრულეთ შემდეგი ბრძანება:

adbshellgetpropro.product.cpu.abi

აქ ჩაწერეთ გამომავალი, რადგან ის დაგჭირდებათ GSI-ის ჩამოტვირთვისას.

GSI-ის ჩამოტვირთვა

Android Q ბეტა GSI-ის ოფიციალური ვერსიების ჩამოტვირთვის ბმულები ხელმისაწვდომია Google-ისგან აქ. თქვენ უნდა გადმოწეროთ შესაბამისი ვერსია თქვენი მოწყობილობის არქიტექტურაზე დაყრდნობით, რაც გაიგეთ წინა ეტაპზე. ჩამოტვირთვა საკმაოდ დიდი იქნება, თუ ჩამოტვირთავთ build-ს GMS-ით ან Google Mobile Services-ით, რასაც ჩვენ მკაცრად გირჩევთ, რათა შეძლოთ თქვენი აპლიკაციის ტესტირება Google Play Services-ით.

ფაილის ჩამოტვირთვის დასრულების შემდეგ, შეგიძლიათ გახსნათ ის. შეიცავს ორ ფაილს, system.img, და vbmeta.img.

GSI-ის ციმციმა

  1. გადატვირთეთ თქვენი მოწყობილობის ჩამტვირთველზე ღილაკების კომბინაციის გამოყენებით ან ბრძანების გაცემით:
    adb reboot bootloader
  2. შემდეგი, ჩვენ უნდა გამორთოთ Android Verified Boot (AVB). ამის გაკეთება შეგიძლიათ შემდეგი ბრძანების შეყვანით:
    fastbootflashvbmetavbmeta.img
  3. შემდეგი, მოდით წავშალოთ სისტემის დანაყოფი:
    fastboot erase system
  4. საბოლოოდ შეგვიძლია Android Q GSI-ის გამორთვა შემდეგი საშუალებით:
    fastbootflashsystemsystem.img
  5. როგორც კი ეს გაკეთდება, წაშალეთ მომხმარებლის მონაცემების დანაყოფი:
    fastboot -w
  6. გადატვირთეთ თქვენი მოწყობილობა ჩართვის ღილაკის გამოყენებით ან შეყვანით:
    fastboot reboot

იმედია, რამდენიმე წუთის შემდეგ უნდა ჩაიტვირთოს. ეს ნაბიჯები დადასტურებული იყო Pixel 3 XL-ზე, მაგრამ უნდა იმუშაოს უნივერსალურად. ჩვენ შეგვიძლია გადავამოწმოთ, რომ Android Q ბეტა 2 GSI არ ჩაიტვირთება OnePlus 6T-ზე, მაგრამ ჩაიტვირთება Xiaomi Mi 9-ზე. ის შეიძლება მუშაობდეს Sony Xperia XZ3-ზე, მაგრამ გვეუბნებიან, რომ ის არ ჩაიტვირთება Moto G7-ზე. თქვენი გარბენი შეიძლება განსხვავდებოდეს, რადგან Google-ის მოთხოვნები მხოლოდ ადასტურებს იგივე OS ვერსიის GSI თავსებადობას.