Android Oreo, RRO temaları için komut satırı arayüzü desteği içeriyor ve bu da işletim sisteminin sistem çapında tema desteğine daha da yaklaştığını gösteriyor.
Android Oreo'nun piyasaya sürülmesiyle birlikte kaynak kodundaki gizli güzellikleri aramak için çok fazla zaman harcanıyor. Geçmişte, Android mühendislik ekibi Android O'da temayı etkinleştirme hakkında konuştuk. Mayıs ayında bildirdik Android O'nun ikinci Geliştirici Önizlemesinin, Google'ın Overlay Manager Service (OMS) ve Runtime Resource Overlay'i (RRO) desteklediğine dair bir ipucu olabileceğini ancak artık kesinlikle öyle olduğunu biliyoruz. Android Oreo artık teknik olarak, OMS/RRO temasını destekler ve hatta komut satırını kullanabilmeniz koşuluyla temaları etkinleştirmek veya devre dışı bırakmak için bir arayüz sağlar.
Güncelleme: Substratum bu komutları geliştirici önizlemeleriyle birlikte kullanıyor ve şimdi de mevcut olduklarından beri Oreo ile birlikte!
RRO ve OMS nedir?
RRO, Sony Xperia serisindeki tema işlevselliği için Sony tarafından dahili olarak geliştirildi. Önemini fark eden geliştiriciler, desteğini diğer ROM'ları da kapsayacak şekilde genişletmeye çalıştı ve bununla birlikte RRO teması yalnızca Sony cihazlarında değil, çok sayıda cihazda kullanıma sunuldu. Uygulamanın çalışma zamanında kaynakları ustalıkla değiştirdi; o zamanlar diğer tema seçeneklerinde görülmeyen bir kullanım kolaylığı sağladı. Bu, yine Sony tarafından kendi bünyesinde geliştirilen OMS'ye dönüştü. Ünlü
Katmanlar Yöneticisi Başlangıçta RRO temasını kullandı, ancak OMS daha sonra şu anda Substratum olarak bilinen şeye uyarlandı ve şu anda forumlarımızdaki kullanıcıların en aşina olduğu tema çerçevesidir. Forumlarımızdaki OMS taahhütlü ROM'lar, Substratum'un standart tema motorunu destekledikleri anlamına gelir. Substratum'daki "Eski mod" RRO temasını kullanıyor.Android Oreo Tema Komutlarını Tanıtıyor
Görünüşe göre Google artık bu tema türünü AOSP'de tam olarak desteklemek istiyor ve muhtemelen tam, sistem destekli bir tema yöneticisine doğru ilerliyor. Google, Android Gerrit'te son aylarda (ve Android Oreo'da) tema motorunun sistem genelinde etkinleştirilmesine yönelik hamleler öneren bir dizi değişiklik yaptı. Değişiklikler, ilgili taahhütlerine bağlantılar ile birlikte aşağıdadır.
- Yer paylaşımı komutları
- OverlayManagerService (OMS) tanıtıldı
- CHANGE_OVERLAY_PACKAGES başlıklı yeni bir izin
Tüm bu değişiklikler, Google'ın gelecekte dahil edilecek bir tür sistem teması uygulamasına doğru ilerlediğini gösteriyor. Yukarıda listelenen izin, sistem ayrıcalıklarını gerektirir ve bu nedenle, yalnızca bir sistem uygulamasının (veya kök erişimi olan bir uygulamanın) bu izni çağırabileceği anlamına gelir. Yine de ilginç, çünkü Google'ın nihayet bu yönde çalıştığını gösteriyor bir şey.
Peki neden sadece teknik olarak Android Oreo temayı destekliyor mu? Bunun basit cevabı şu: Temaları yüklemek için sistem yöntemini çağırabilseniz de, bunu yapmak oldukça anlamsız olacaktır. Bunun nedeni, yüklü temaları yönetmek için yeni komut satırı arayüzünü kullanabilseniz bile aslında bunu yapamazsınız. Yeni temaları root erişimi olmadan yükleyin çünkü temaların kullanıcı tarafından kısıtlanmış bir dizine gitmesi gerekiyor uzay. Kök erişimiyle Substratum temasını kolayca etkinleştirebilirsiniz, dolayısıyla bunu yeni yöntemle yapmanıza gerek yoktur. Google, cihazın temasını sağlayacak bir sistem uygulaması eklememiştir, dolayısıyla o zamana kadar bunu yeni eklenen yöntemle yapmaya çalışmanın hiçbir faydası yoktur.
Komut Satırı Tema Arayüzü
XDA olarak biz, komutu Android Oreo sürümünü çalıştıran bir Google Pixel üzerinde test ettik. Bazı komutları test etmeye karar verdik ve ilk olarak kullandık.
cmd overlays list
Önceden yüklenmiş tüm kaplamaları görüntülemek için. Bir "com.google.android.theme.pixel"in varlığını fark ettik, onu devre dışı bıraktık ve bunun yerine aşağıdaki komutları çalıştırarak "android.auto_geneated_rro__"yu etkinleştirdik.
Burada görülebileceği gibi standart katman devre dışı, otomatik olarak oluşturulan katman ise etkin. Yüklü kaplamalarımızı tekrar görüntülemek için komutumuzu çalıştırdığımızda aşağıdaki çıktıyı görüyoruz.
Bu, Google Pikselimizde yeni temalı bir Android Sistem ayarları uygulamasıyla sonuçlanır. Yukarıdaki yer paylaşımı listesinin Substratum kullanılarak yüklenen temaları da içerdiğini ve bunları da aynı kolaylıkla etkinleştirebildiğimizi/devre dışı bırakabildiğimizi unutmayın.
Kaynağı araştırırken başka bir komut da bulduk. Komut aşağıdaki gibidir
cmd overlay dump --user 0
bize aşağıdaki çıktıyı veriyor.
Çıktı
Ayarlar
android.auto_generate_rro__: 0 {
mPackageName...: android.auto_generate_rro__
mKullanıcı Kimliği...: 0
mTargetPackageName.: android
mBaseCodePath...: /vendor/overlay/framework-res__auto_geneated_rro.apk
mState...: STATE_ENABLED
mIsEnabled...: doğru
mIsStatic...: doğru
}
com.google.android.theme.pixel: 0 {
mPackageName...: com.google.android.theme.pixel
mKullanıcı Kimliği...: 0
mTargetPackageName.: android
mBaseCodePath...: /vendor/overlay/Pixel/PixelThemeOverlay.apk
mDurum...: STATE_DISABLED
mIsEnabled...: yanlış
mIsStatic...: yanlış
}
Varsayılan katmanlar: com.google.android.theme.pixel
Paket Bilgisi önbelleği
2 paket (ler)
devamını oku
Görüldüğü gibi Google, tema motorunun geliştirilmesi ve AOSP kaynağına entegre edilmesi konusunda oldukça fazla emek harcamıştır. Görünüşe göre sistem genelinde eklenecekse, temalar Sistem Kullanıcı Arayüzü ayarlayıcısında etkinleştirilir. Google'ın da var OEM'lere bilgi verildiDolayısıyla ek OEM'lerin gelecekte Android Oreo'da AOSP sürümüne dayalı tema desteğini etkinleştirmesi mümkündür.
Genel olarak bakıldığında bu çok heyecan verici bir gelişme. Tema oluşturma, şu anda sistem çapındaki temalar için kök gerektirse bile, Android'i telefonunuzda tamamen özelleştirilebilir bir işletim sistemi olarak tanımlayan birçok parçadan biridir. Gelecekte root erişimi olmadan çalışabilmesi mümkün olsaydı, kullanıcı özgürlüğü yönünde büyük bir adım atılmış olacaktı. Elbette Sistem Kullanıcı Arayüzü ayarlayıcısında uzun bir süre kilitlenmiş olabilir (çünkü bozuk temalar uygulamaları bozabilir), ancak Kullanıcının ilk etapta yerel tema desteğinden faydalanması bile mobil işletime büyük bir katkıdır sistem.