Nougat ve Abforce Alt Modülü için Xposed Çerçevesinin Açıklaması

Bu makalede rovo89'un yaklaşan Xposed for Nougat sürümü ile Nougat için mevcut olan mevcut uygulama arasındaki farkları araştırıyoruz.

Xposed çerçevesi Android cihazınızı özelleştirmenin önemli bir yoluydu ve hala da öyle, hemen hemen tüm cihazlarla uyumlu ve neredeyse her ayrıntıyı ayarlamak için modülleri kolayca kurmanıza olanak tanıyor.

Özel bir ROM'un sunduğu tüm özellikleri flaşlamanıza gerek kalmadan almak ister misiniz?Yerçekimi Kutusu veyaXTouchwiz bunu yapacak. Belirli bir uygulamanın DPI'sını değiştirmek gibi belirli ayarları uygulama bazında değiştirmek mi istiyorsunuz?Uygulama ayarları korudun mu? Bir uygulamanın geliştiricilerinin, Google'ın size izin vermesi gibi belirli bir özelliği eklemeyi düşünmelerini diliyorumHangouts'u kişiselleştir veya Facebook size izin veriyorBeğendiğiniz Instagram gönderilerini indirin? Buna gerek yok çünkü Xposed, geliştiricilere istedikleri hemen hemen her şeyi değiştirme gücü veriyor. ister özel bir ROM gerektiren sistem çapında bir özellik olsun, ister belirli bir başvuru.

Xposed çerçevesi, geliştiriciler için büyük bir avantajla birlikte gelir; bu, geliştirme kolaylığıdır (ROM ayarlamaları için AOSP'yi derleme zorunluluğu veya Smali kodunu düzenleme zorunluluğuyla karşılaştırıldığında). Ayrıca kullanıcılara büyük bir avantaj da sağlıyor: kolaylık, artık onları aradıkları her özelliği sağlayan ROM'u bulmaya ve flaş etmeye zorlamadığından (Bunun yerine, bağımsız modülleri karıştırıp eşleştirebilirler) hedef istikrar ve dengenin üstüne verim. Aynı zamanda yapar uygulamaları düzenleme farklı imzalarla uğraşmaya gerek olmadığından çok daha kolay; bu da kullanıcıların orijinali kaldırmasını gerektirecek Uygulama imzasını kontrol ettiğinde sürüm veya belirli çemberlerin üzerinden atlayın (değiştirilmiş YouTube istemcilerinin uğraştığı bir şey, misal).

Tek sorun? Doğası ve boş zaman miktarı nedeniyle Xposed geliştiricisi (kendi Kıdemli Tanınmış Geliştiricimiz,rovo89) sahip olsa da genellikle Android sürümlerinin gerisinde kalıyor.Lollipop'u destekleyecek şekilde güncellenmesi yaklaşık dört ay sürdüve Nougat'a gelmek yaklaşık bir yıl sürüyor. Düşünürseniz bu göründüğü kadar kötü değil Nougat'ta gerçekte kaç Android kullanıcısı var? (yaklaşık %13,5ancak Xposed'ın hedef kitlesi olan Android meraklılarının da Nougat'ta olma ihtimalinin daha yüksek olduğunu unutmayın). Ancak, en sevdiğiniz Xposed modüllerini kullanamamak ve aynı zamanda en yeni ve en iyi Android sürümüne sahip olamamak yine de oldukça can sıkıcı olabilir.

Xposed çerçevesinin kaynak kodunun mevcut olmasıyla (en azından kararlı, yayınlanmış sürümler için), geliştiriciAbforce ellerini kirletmeye ve rovo89'un bazı modifikasyonlarını Nougat'a taşıyıp taşıyamayacağını görmeye karar verdi. Farklı ve daha basit bir yaklaşımı tercih eden Abforce, esas olarak Xposed'un aslında yüklendikten sonra sihri yaptı ve kendi ROM'unuzu derlerken onu dahil etmeyi mümkün kıldı (bundan sonra, diğer geçici çözümler ortaya çıktı). Bu yaklaşım tartışmasız çok farklı çünkü Xposed'un herkesin kolaylıkla kullanabileceği temel avantajlarından birini göz ardı ediyor. Ancak her türlü ilerleme memnuniyetle karşılanır ve bir görevi üstlenen birden fazla yönetici avantajlı olabilir ve yeni bilgiler sunabilir. Gördüğümüz kadarıyla asıl sorun, bu gelişmeyi çevreleyen yanlış bilgiler (diğer bazı "geliştiriciler" ve bazı bloglar tarafından yayılan) ve topluluğun bazı tepkileridir. Umarım bu makale tüm resmi daha net hale getirecektir.


Her şeyden önce, resmi Xposed çerçevesine ve abforce sürümüne giden ve hala da gitmekte olan çalışmaları anlamak için çerçevenin nasıl çalıştığına bakmamız gerekiyor. Çerçevenin kendisi ise projenin sadece bir kısmı, genellikle hem çerçeveyi hem de yükleyiciyi kastediyoruz çünkü çerçeve, çok fazla çalışmanın da yapıldığı evrensel yükleyici olmadan avantajlarının çoğunu kaybediyor.

Xposed'ın gücü basit bir kavramdan gelir: herhangi bir yöntem "bağlanabilir" (yöntemler küçük boyutludur). Xposed modülünün kodunun önce, sonra veya bunun yerine çalıştırılmasını sağlamak için herhangi bir programı oluşturan parçalar) BT. Basit bir örnek verelim: Instagram'ın, menü düğmesine tıkladığınızda "showMenuOptions" adlı bir yöntem kullandığını ve bu yöntemin size "Rapor Et" ve "Paylaş" düğmelerini gösterdiğini varsayalım. Bir Xposed modülü oluşturarak, örneğin görüntüyü paylaşmak yerine indirmek için ek bir düğme eklemek üzere bu yöntemi değiştirebilirsiniz. Değişiklikler basit ayarlamalardan (örn. Play Store Değişiklik Günlüğü) büyük revizyonlara (örneğin Yerçekimi Kutusu, özel bir ROM'un sahip olabileceği tüm özellikleri sağlamayı amaçlamaktadır)!

Bu Xposed'ı güçlü kılıyor, ancak bu sadece denklemin bir parçası. Diğer kısımlar çok yönlülük veya aslında Xposed'ı hemen hemen her cihazda kullanabilmek (desteklenen bir Android sürümüyle) ve kullanım kolaylığıdır. Kullanıcıların tek yapması gereken, Xposed'ı entegre etmek için sihrini gerçekleştiren ve sistemlerini dinamik olarak yamalayan yükleyiciyi kapmaktır. Bir modülü uygulamak için onu kurmanız, etkinleştirmeniz ve yeniden başlatmanız yeterlidir. Karışıklığa gerek yok, özel bir ROM'u flaş etmenize gerek yok (özellikle özel ROM'lar her zaman uygun bir seçim olmadığında), farklı bir imzayla imzalanmış başka bir APK yüklemek için bir APK'yı kaldırmanıza gerek yok. İhtiyacınız olan tek şey root'tur (kesinlikle özel bir ROM'a sahip olabilirsiniz ve bu çoğu zaman mantıklıdır; ancak Xposed, özel bir ROM'un sağlayabileceği işlevlerin çoğunu sağlasa da, bunun da ötesine geçer).

Ancak bu basitliğin arkasında çok fazla çalışma yatıyor:

  1. Modül geliştiricileri için sağlanan API'nin kararlı olması ve çalışması garanti edilmelidir. Xposed çerçevesi belirli ROM ve/veya kanca kombinasyonlarında (istisnai durumlar dışında) rastgele başarısız olamaz. Başka bir deyişle, eğer bir kullanıcı bir sorun yaşıyorsa, bu sorun ya kullanıcının hatası olmalıdır (çünkü değil). bir şeyin doğru şekilde kurulması/etkinleştirilmesi) veya modül geliştiricisinin hatası (modülde hatalar olması nedeniyle) modülü). Ancak çerçevenin kendisinin amaçlandığı gibi çalıştığından ve kullanıcıları hayal kırıklığına uğratacak ve geliştiricilerin kafasını karıştıracak hataların kaynağı olmadığından neredeyse emin olunmalıdır.
  2. Kullanıcılar için çerçevenin cihazlarına ve ROM'a kurulumu kolay olmalıdırTouchWiz'in en son sürümünü çalıştıran bir Samsung'a veya LineageOS yüklü bir Nexus'a sahip olmaları fark etmez. Xposed yükleyicisi tüm bunları perde arkasında halleder. Yükleyiciyi ve çerçeveyi çeşitli cihazlar ve ROM kombinasyonları üzerinde test etmek için bu konuda çok fazla çalışma yapılması gerekir. Çoğunlukla OEM'lerin farklı uygulamaları nedeniyle hatalar bulunur ve tüm kullanıcılar için güvenilirliğin sağlanması amacıyla bunların düzeltilmesi gerekir.
  3. Büyük Android revizyonları bazen büyük değişiklikler getirebilir ve bu da çerçeve mimarisinin bazı bölümlerinin bu değişikliklere uyum sağlaması için yeniden düşünülmesini gerektirir. Bazen daha yeni sürümlerle birlikte ek fırsatlar da ortaya çıkar ve daha iyi bir ürüne sahip olmak için biraz daha zaman gerekir. Örneğin, ART ilk tanıtıldığında, Xposed'ın kullanılması, kancalamanın doğru şekilde çalışabilmesi için belirli optimizasyonları devre dışı bırakmıştı. Nougat'ın durumunda,tam zamanında (JIT) derleyici için bir fırsat getiriyorbu optimizasyonları koru.

Yukarıdaki çalışmaların çoğu, çerçevenin çoğunun amaçlandığı gibi çalıştığı ancak tutarsızlıklar ve küçük sorunlar, kullanıcılar için kullanmayı bir kumar haline getirirken, modül için de destek ve geliştirme kabusu haline gelir geliştiriciler. Ancak piyasaya sürülen ürünün herkes tarafından ve sürprizlerle karşılaşılmadan kullanılabilir olması amaçlanıyor. Bazı OEM'lerin değişikliklerine uyum sağlamak için daha fazla çaba gerektirdiğinden elbette bazı istisnalar da vardır, ancak bunlar küçüktür ve kullanıcıların (ve geliştiricilerin) büyük çoğunluğu istikrarlı ve güvenilir bir Xposed'ın keyfini çıkarır deneyim. Karşılaşılan tüm istisnalar belgelenirnet sorumluluk reddi beyanları kimse şaşırmasın diye.

Yukarıdakileri göz önünde bulundurarak rovo89'un Xposed'a yönelik vizyonu, kullanıcılar ve geliştiriciler için güvenilir ve kullanımı kolay bir sözleşme sağlayan istikrarlı bir çözüm olmaktır. Her ne kadar katılmasanız da felsefesi basit ve anlaşılır: Bir ürün amaçlandığı gibi kullanılmaya hazır olduğunda serbest bırakılır, çünkü daha önce serbest bırakılması, daha fazla soruna yol açar. faydalar.


Abforce'un Nougat için Xposed ART alt modülü

Abforce'un çalışmalarını "liman" veya "gayri resmi Xposed" olarak adlandırmakta isteksiziz çünkü bu yanlış ve yanıltıcıdır. Gördüğümüz gibi Xposed'ın iki ana bileşeni var:

  1. Kancalama yöntemlerinin büyüsünü ele alan Xposed çerçevesinin özü.
  2. Çerçevenin tüm cihazlara doğru şekilde kurulmasının kolay olmasını sağlayan Xposed yükleyicisi.

Abforce'un yaptığı, rovo89'un Marshmallow kodunu ilk bölümde (yalnızca Xposed çerçevesi) özel ROM derlenirken değişikliklerin yapılmasını gerektirecek şekilde Nougat'a taşımaktı. Buna ek olarak, çerçevenin birçok küçük (ama önemli) kısmı Nougat'a tam olarak uyarlanmamıştır. Bu nedenle davranışlar tutarsız olabilir ve çoğunlukla işe yarasa da (gerçi Olumsuziçinherkes), güvenilir değil. Modül geliştiricileri ve kullanıcıları için eksik ve tutarsız bir uygulamaya güvenmek sadece ilgili tüm taraflar için kötü bir deneyim sağlamak, ile bazı modüller hiç çalışmıyor veya cihazın önyükleme yapmamasına neden oluyor. Birçok kullanıcı sahip olmaktan memnun olsa da hiçbir şey yerine bir şeygeliştiricilerin bakış açısı hala tamamen anlaşılabilir (özellikle sorumluluk reddi beyanlarının sahte destek sorularını ve sızlanmayı durdurmadığını aklınızda tutarsanız).

(Yukarıdaki iki ana noktaya ek olarak, Nougat'ta getirilen değişikliklerden yararlanmak için nihai, resmi Xposed çerçevesinde daha fazla değişiklik yapılmasını da bekliyoruz.)

Abforce'un çoğu kişi sadece konuşmakla yetinirken mükemmel bir iş çıkardığını belirtmek gerekir.ancak çalışmaları tam Xposed deneyiminden uzak ve hiçbir geliştirici veya blog aksini iddia etmiyor (ve kesinlikle absforce değil; Tekrar ediyorum, bu işe gerçek anlamda emek ve çaba harcayan tüm gerçek geliştiricilere saygıdan başka bir şey duymuyoruz). Aslında, biraz sonra değineceğimiz gibi, topluluğun bazı tepkileri (kullanıcılar ya da "geliştiriciler") bu gelişmeler zincirindeki tek olumsuz kısımdır.


Hadi bu kovalamayı kesip doğrudan asıl konuya geçelim: Her topluluğun kötü unsurları ve yönleri vardır. Android meraklıları kadar büyük bir toplulukta, kötü unsurlar küçük bir kısım olmasına rağmen çok büyük bir kısım gibi görünebilir (oldukça büyük, ancak göreceli olarak yine de küçük). Yine de, konuyu şekerle kaplamadan, Xposed for Nougat'ın geliştirilmesine yönelik topluluğun büyük bir kısmının tepkisi son derece çocukça, düşüncesiz veya sorumsuz oldu.

İlk büyük sorun, birçok kişi tarafından "Xposed'un ölümü" konusunda gösterilen küçümseyici tutum oldu çünkü Nougat için yayınlanması çok uzun sürüyor. Bu rovo89'a rağmen güncellemelerVegüvencelerve ART'ın ilk sürümü piyasaya sürüldüğünde Lollipop'ta gerçekleşen senaryonun neredeyse aynısına rağmen. Xposed'ı kullanmayı bırakmak iyidir, ancak bu, kimsenin yeteneğine hakaret etmek veya başkalarına farklı bir felsefeye sahip oldukları veya acil ihtiyaçlarınızın hemen karşılanmasını sağlamadıkları için saldırmak değildir. Bu, geliştiricinin geliştirme metodolojisini ve bunun arkasındaki nedenleri ifade ettiği tamamen ücretsiz bir proje için daha da doğrudur.

Topluluğun tepkisiyle ilgili bir başka sorun da, abforce'un çalışmalarının doğasının yanlış anlaşılmasıydı; birçok kişi onu yeni Xposed olarak selamlıyor veya Nougat için bir liman olarak tanıtıyor. Bununla ilgili en büyük sorun, "geliştiricilerin", dezavantajları anlamadan (veya umursamadan) flashlanabilir sürümler sunmak için acele etmeleridir, çünkü hiçbir sorumluluk reddi beyanı verilmemiştir. bazı başlıklarda hiç teklif edilmedi, hatta bazıları rovo89'a (Xposed üzerindeki çalışmaların büyük çoğunluğunun arkasında olan) değil, abforce'a kredi verecek kadar ileri gitti ve diğerleri katkıda bulunanlar.

Son olarak rovo89'un gelişim felsefesini tekrar gündeme getirmemiz gerektiğini düşünüyoruz. Pek çok sesli kullanıcı, en son değişikliklerin açık kaynaklı olmasının faydalı olacağını iddia ediyor. Bu teoride kulağa hoş gelse de,pratikte o kadar kolay değil özellikle rovo89'un açıklamasını dikkate alırsak:

[...] Sadece mevcut durumu zorlamanın projeye faydası olmayacağına inanıyorum. Belki "bazılarının" kodu derleyen kişiler tarafından gerçekten hızlı bir şekilde yayınlandığını görebiliriz, öyle görünüyor ki farkında olmayacakları sorunlara ve yapılması gerekenlere rağmen iyi çalışıyorlar ve bunu "kendi limanları" olarak yayınlıyorlar ile ilgili. O yüzden bana bencil diyebilirsiniz ama bu kadar yarım kalmış bir yayın görmek istemezdim.[Kaynak]

Birkaç "geliştiricinin" başvurmasıyla bunun aslında mevcut duruma ilişkin oldukça iyi bir tahmin olduğu kanıtlandı. Abforce'un değişiklikleri ve çok az uyarı veya hiç uyarı olmadan, eksik kredilerle flashlanabilir bir ZIP sunması ve tüm bunları yaparken bağışlar.


Bu açıklamaların bazı şüphelerinizi giderdiğini ve olası yanlış anlamaları giderdiğini umuyoruz. Xposed, meraklılarımız ve flaşkolik topluluğumuzun büyük bir kısmına ulaşan harika bir proje oldu ve Xposed for Nougat, fırsatlarla dolu bir başka devasa dönüm noktası olmalı. GravityBox gibi modüllerle Halihazırda Nougat desteği sunan rovo89'un tamamlanan projesi bir dizi seçeneğe geri dönecek.


Nougat ROM'unuzda Xposed için heyecanlı mısınız? Yorumlarda bize bildirin!