Android 11'deki DSU Yükleyici, geliştiricilerin stok Android'deki uygulamaları test etmesine yardımcı olur

click fraud protection

Android 11, uyumlu GSI'ları otomatik olarak indirmenize ve yüklemenize olanak tanıyan Geliştirici Seçenekleri içinde DSU Yükleyici ile gelecek! Daha fazlası için okumaya devam edin!

İyi bir uygulama ekosistemi, bir işletim sisteminin başarısının en önemli direklerinden biridir. Hem Google hem de Apple, platformlarında iyi uygulamalara sahip olmanın değerini biliyor ve bu nedenle her iki şirket de kullanıcılarının ve uygulama geliştiricilerinin ihtiyaçlarını dengelemeye çalışıyor. Kullanıcılar, işletim sistemlerinde değişiklik yapılması için baskı yapmaya devam ediyor ve çoğu kişi genellikle yeni özellikleri takdir etse de, bunlar değişiklikler, uygulama geliştiricileri için her zaman eğlenceli değildir, çünkü bunlar birçok temel işlevi değiştirebilir ve davranış. Uygulamalarını alakalı tutmak için sürekli çalışan geliştiriciler için bu değişikliklerle uğraşmak, büyüyen iş listelerine katkıda bulunur. Bu değişiklikler uygulamalarını doğrudan etkilemese bile, geliştiricilerin uygulamalarının yeni işletim sistemi güncellemesinde çalışacağından emin olmaları gerekir. Google, bu süreci Android uygulama geliştiricileri için daha kolay hale getirmek için yıllar içinde birçok değişiklik yaptı ve şimdi yeni bir Android 11'deki DSU Loader adlı özellik, uygulama geliştiricilerin uygulamalarını yeni Android'de test etmelerini daha da kolaylaştıracak sürümleri.

Project Treble ile başlar

Android 8.0'da tanıtılan Project Treble, önemli bir Android işletim sisteminin yeniden mimarisi. Project Treble'ın amacı, Android işletim sistemini iki büyük parçaya bölmekti: çerçeve ve satıcı uygulaması ("satıcı" burada bir cihazda bulunan herhangi bir tescilli donanım bileşeninin üreticisine atıfta bulunur ve genellikle silikon). Android işletim sistemi çerçevesi, tüm sistem uygulamaları, kullanıcı arabirimi ve bileşenleri ve Android cihazlar arasında paylaşılan API'ler dahil olmak üzere işletim sisteminin kendisidir. Satıcı uygulaması, satıcı HAL'lerini (Donanım Soyutlama Katmanları) ve Linux çekirdeğini ve Linux çekirdek modüllerini içerir.

OEM'ler, akıllı telefonları birçok farklı satıcıdan birçok farklı donanım bileşeniyle birlikte getirdiklerinden, donanımı tek bir Android işletim sistemi sürümünde çalışır duruma getirmek için çok fazla iş yapmaları gerekiyor. Ardından, her yeni Android işletim sistemi güncellemesinde, donanımlarının yeni sürümle çalıştığından emin olmak için daha fazla çalışma yapmak zorunda kalıyorlar. Ancak, belirli bir Android sürümü için Android işletim sistemi çerçevesi ile HAL'ler arasındaki ABI'yi (Uygulama İkili Arayüzü) standartlaştıran Project Treble ile, Android OEM'leri, silikon üreticilerinin ve diğer bileşen üreticilerinin kendi taraflarını güncellemelerini beklemeye gerek kalmadan cihazlarının güncellemelerini test etmeye başlayabilir. kod. Bu değişiklik gözle görülür şekilde hızlandı Android güncellemelerinin işlenme şekli.

Project Treble'ın Android güncellemeleri için yaptıklarının özü budur, ancak uygulama için daha önemli olan nedir? Buradaki geliştiriciler, Treble'ın uyumluluk için Genel Sistem Görüntülerinin (GSI'lar) kullanımını etkinleştirmiş olmasıdır. test yapmak.

GSI'ların Ortaya Çıkışı

OEM'lerin Project Treble'ı düzgün bir şekilde uygulayıp uygulamadıklarını test etmeleri için Google, OEM'in cihazda AOSP'den temiz bir Android derlemesi başlatabilmesini zorunlu kılar. Android'in bu temiz derlemesine Genel Sistem Görüntüsü veya GSI adı verilir. GSI önyüklenir ve çoğu temel donanım düzgün çalışırsa OEM, cihazının Project Treble'ın gereksinimlerini karşıladığını bilir. GSI'ların ilk amacı bu nedenle Tiz uyumluluğunu test etmekti, ancak burada XDA-Developers'taki geliştirme topluluğunda gördüğümüz gibi, bunlar başka amaçlar için kullanılabilir. GSI'ların nasıl olduğunu gördük esasen, ağır Android UX'lere sahip cihazların, yeni bir sürümden sonraki günler içinde çalışan özelliklere sahip Android'in en son sürümünün keyfini çıkarmasına izin verebilir. Ancak Google, GSI'nın arkasında başka bir amaç tasavvur ediyor: uygulama geliştiricilere, uygulamalarını zaten sahip oldukları fiziksel bir cihazda yeni bir Android sürümünde test etme yeteneği vermek.

Android 10 ile Google, geliştiriciler için kendi GSI yapılarını yayınladı. Google, uygulama geliştiricilerin kendi donanımlarında temiz bir Android derlemesi başlatmak için bir GSI kullanmaları gerektiği fikrini pekiştirdi ve uygulamalarının davranışını stok Android'e karşı test etmeyi kolaylaştırdı. Böylece bu yöntem, OEM davranış değişiklikleri olmadan stok Android'de uygulama uyumluluğunu test etmeye yönelik mevcut seçeneklere eklendi; Pixel akıllı telefon kullanma, Android Studio içindeki resmi Android Emülatörü kullanma veya uygulama derlemelerini buluttaki bir cihaz örneğine dağıtma.

GSI'ların getirdiği tüm kolaylıklara rağmen kurulumları zahmetli bir süreçti. Uygulama geliştiricileri, bir sistem görüntüsünü bir Android cihazında manuel olarak yanıp sönme konusunda rahat olmayabilir, çünkü bu genellikle yalnızca meraklıların veya Android işletim sistemi geliştiricilerinin aşina olacağı bir şeydir. Bir GSI yüklemek, Android Verified Boot'un devre dışı bırakılmasını ve önyükleyicinin kilidinin açılmasını gerektiren fastboot üzerinden bir sistem görüntüsünün yanıp sönmesini gerektiriyordu. Bootloader kilidinin açılması ise eksiksiz bir kullanıcı verisi silme işlemini gerektirir. Ve hepimizin bildiği gibi, her Android cihazının önyükleyicisinin kilidini açmak için tam olarak tek bir işlem veya kılavuz yoktur, bu nedenle bulunabilecek bir tutarlılık yoktur. Örneğin, Samsung cihazlarında hızlı önyükleme yoktur, Xiaomi cihazlarında ise önyükleyicinin kilidini açmak için birkaç çemberin içinden atlamanızı sağlar. Daha basit bir şeye çözülme potansiyeline sahip uygun bir karmaşa.

Dinamik Sistem Güncellemelerinin devreye girdiği yer burasıdır.

Dinamik Sistem Güncellemeleri sadece GSI'ları kurar

Google, mevcut GSI yükleme yönteminin mükemmel bir çözüm olmadığını fark etti ve daha iyi bir çözüm üzerinde çalışmaya başladı. Android 10'da, Google, Dinamik Sistem Güncellemelerini test etmeye başladı, veya DSU. DSU, orijinal kurulumun üzerine yazarak bir sistem görüntüsünü flaşlamak için fastboot komutlarını kullanmaya gerek kalmadan geçici olarak bir GSI kurmanın yeni bir yoludur. DSU ile, bir GSI'da önyükleme yapabilir, uygulamanızı test edebilir ve ardından, el değmeden kalan orijinal kurulumunuza kolayca yeniden başlayabilirsiniz.

DSU'nun orijinal kuruluma dokunmadan bir GSI kurabilmesinin nedeni, geçici olarak depolanan yeni sistem ve veri bölümü görüntüleri oluşturmasıdır. /data/gsi. Bu görüntüler daha sonra orijinal sistem ve veri bölümleri yerine önyükleme sırasında bağlanır. Telefonun bu yeni, geçici görüntüler için ek depolama alanına ihtiyacı olduğundan, telefonunuzda dinamik olarak yeniden boyutlandırılabilen "mantıksal bölümler" bulunmalıdır. Mantıksal bölümler, Android 10 ile başlatılan cihazlar için zorunlu olan, Android için yeni bir kullanıcı alanı bölümleme sistemidir. Cihazınız Android 10 ile başlatıldıysa DSU aracılığıyla GSI'ların yüklenmesini desteklemelidir.

Android 10'da yapmanız gereken tek şey DSU aracılığıyla bir GSI kurun bir sistem özelliğini değiştirmek ve ardından DynamicSystemUpdatesKurulumHizmet fazladan bir amaç olarak GSI'ye giden yolu içeren bir amaç göndererek.

Bu süreç alışılmadık görünse de, kullanmaya kıyasla çok daha kolay ve daha az müdahalecidir. fastboot komutları ve orijinal kurulum da dahil olmak üzere her şeyin zorluğuyla başa çıkmak, silindi DSU'dan yararlanmak için biraz ADB bilgisine ve niyetine ihtiyacınız var, ancak bu, çoğu uygulama geliştiricisi için bir sorun olmamalı. Yine de, sürecin daha da basitleştirilmemesi için hiçbir neden yok. Ayrıca, DSU aracılığıyla bir GSI yüklemenin, işlemdeki tüm kullanıcı verilerini silerek önyükleyicinin kilidini açmanızı gerektirmesi gerçeği de var. Bu amaçla Google, GSI kurulumunun her iki yönünü de iyileştirmek için değişiklikler uygulamıştır. Android 11'de, bir GSI yüklemek için komut satırını kullanma ihtiyacını tamamen ortadan kaldırdılar. Ayrı olarak, önyükleyicinin kilidini açmadan bir GSI kurmayı da mümkün kıldılar.

Android 11'de DSU Yükleyici

DSU Yükleyici, Android 11'in Geliştirici Seçeneklerinde bulunan ve şunları yapmanızı sağlayan yeni bir araçtır: indirmek Ve düzenlemek herhangi bir fastboot veya ADB komutu girmeye gerek kalmadan Google'dan en son GSI. Ayarlar içindeki DSU Yükleyici seçeneğine dokunmanız yeterlidir; doğrudan Google'dan desteklenen GSI'ların listesini içeren bir iletişim kutusu görünecektir. Bu desteklenen GSI'lar mevcut işletim sisteminize ve mimarinize dayalı olacaktır, bu nedenle yalnızca işletim sistemi sürümünüzden daha yeni olan ve SoC mimarinizle eşleşen GSI'ları yükleyebilirsiniz. Basitçe yüklemek istediğiniz GSI'yı seçin, Google'ın sunucularından indirilip arka planda otomatik olarak kurulacaktır.

Android 11'de DSU Yükleyici

DSU Loader ile geliştiricilerin bir GSI yüklemek için hiçbir zaman komut satırına dokunmaları gerekmez. En azından rüya bu, çünkü çözülmesi gereken bir sorun daha var.

ileriye giden yol

Şu anda, DSU Yükleyici aracılığıyla bir GSI yüklemek için kilidi açılmış bir önyükleyiciye ihtiyacınız vardır. Bu, tüm çilenin amacını boşa çıkarsa da, böyle olmaması gerekiyor ve bize bunun düzeltileceği söylendi. Google, kullanıcıların önyükleyicinin kilidini açmaya gerek kalmadan Google imzalı GSI'ları DSU aracılığıyla önyükleyebilmelerini planlamıştır. Aslında, Google bunu zorunlu kılar tüm Android 10 başlatma cihazları, Android Verified Boot ortak anahtarlarını içerir Google imzalı Android 10, Android 11 ve Android 12 GSI'lar. AVB genel anahtarlarının aygıtın ram diskine dahil edilmesi, AVB'nin başlatmaya çalıştığınız GSI'yı reddetmemesini sağlayacaktır. Bu nedenle, mevcut yöntem önyükleyicinin kilidini açmayı içerir - vbmeta bölümüne boş bir vbmeta görüntüsü göndererek, AVB'yi devre dışı bırakırsınız, böylece flaş yapmak üzere olduğunuz GSI'yı reddetmez. AVB'yi devre dışı bırakmak büyük bir güvenlik riskidir, çünkü bu, değiştirilmiş herhangi bir system/boot/product/vendor bölümü cihaza yüklenebilir, bu yüzden Google yapmak istiyor bu gereklilikten uzaklaşın.

Android 10 GSI Başlatma Gereksinimleri

Öyleyse, önyükleyicinin kilidini açmanıza veya herhangi bir komut satırı aracını kullanmanıza gerek kalmadan DSU aracılığıyla bir GSI'yi ne zaman başlatmayı bekleyebilirsiniz? Umarım yakında, Google'ın bize söylediği gibi, her şeyi düzgün bir şekilde çalıştırabilmeleri için ilk Android 11 Geliştirici Önizlemeleri ile düzeltmeleri gereken birkaç tuhaflık vardı. İleriye dönük olarak, önyükleyicinin kilidini açmaya gerek kalmadan gelecekteki Developer Preview GSI'ların DSU aracılığıyla yüklenmesi beklenebilir. Belki de Android 12 Geliştirici Önizlemeleri kullanıma sunulduğunda, Android 11'in Geliştirici Seçeneklerinde bulunan DSU Yükleyiciyi kullanarak onu tamamen başlatabileceksiniz. Uygulama geliştiricileri için bu, uygulamalarınızı yeni bir Android sürümünü çalıştıran fiziksel donanım üzerinde test etmenin başka bir yolu olacağı anlamına gelir.