Android Oreo, Temalar için Komut Satırı Arayüzünü Tanıtıyor

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.

auto_geneated_rro Teması

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.