Android 7.1 Nougat için resmi olmayan Xposed Çerçevesi

click fraud protection

Xposed Çerçevesini Android 7.1 Nougat ROM'lara getiren flaşlanabilir bir zip artık mevcut. Zip, OnePlus 3T'nin yanı sıra diğer birçok telefonda da çalışır!

Aylarca süren bekleyişin ardından nihayet Nougat ROM'lar için (gayri resmi olarak da olsa) Xposed Framework desteğini aldık. Kendi XDA Forumlarımızdaki bazı yetenekli geliştiriciler sayesinde, artık Xposed Çerçevesini flashlanabilir bir zip aracılığıyla bir Android Nougat ROM'a yükleyebilirsiniz.

Şu ana kadar Xposed'un Nougat'taki geleceği biraz sallantılı görünüyordu. Rovo89 - Xposed Framework'ün arkasındaki geliştirici - bir haftadan biraz daha uzun bir süre önce Android Nougat desteğine ilişkin bir güncelleme sunmuştu. Rovo89, Xposed'ın Nougat'ta düzgün çalışmasını sağlamak için hala yapılması gereken çok iş olduğunu ve sabırlı olmamız gerektiğini belirtti.

Neyse ki, endişeyle geçici bir tedbir bekleyen bizler için geçici bir çözüm bulmuş gibiyiz. PurifyOS Ekibi, geliştiricinin sunduğu ART modülünü aldı Abforce üzerinde çalışıyordum (ve

bugün erken saatlerde yayınlanan bir şey) ve flaşlanabilir bir zip aracılığıyla diğer özel ROM'lara yüklenebilecek şekilde uyarladı (ROM'u derlerken uygulanması gerekmek yerine).

Xposed SDK25 de dahil olmak üzere farklı platformlar için şu anda üç sürüm mevcut ARM64, Xposed SDK25 KOLve Xposed SDK25 X86. PurifyOS Ekibi, Xposed'ın bu yeni sürümünü Android 7.1 tabanlı OxygenOS çalıştıran OnePlus 3T ile test etti, ancak bunun üzerinde çalışması gerekiyor. Android Nougat çalıştıran diğer telefonlar ve kullanıcılar zaten bunu farklı ROM'lara başarıyla yükleyebildiklerini bildiriyorlar ve cihazlar. Örneğin, OnePlus 5'teki birkaç kullanıcı bunun çalıştığını bildirdi (OnePlus'ta çalıştığı göz önüne alındığında sürpriz değil) 3T gayet iyi), ancak Samsung Galaxy S6 için AOSP tabanlı ROM çalıştıran bir kullanıcı da bunun kendileri için çalıştığını bildirdi.

Anlaşılması gereken tuhaflıklar olacak ve şu ana kadar herkes bunu çalıştırmayı başaramadı; bazı kullanıcılar zorla kapanma ve diğer tuhaflıklar yaşıyor. Ancak durum böyle olsa bile, Android işletim sisteminin önceki sürümünün piyasaya sürülmesinden bu yana Xposed'ın Nougat'a gelmesini bekliyorsanız yine de bir şans verebilirsiniz. Mevcut Xposed Framework modüllerinin tümü hemen çalışmayacaktır, ancak Amplify gibi bazı gerçekten popüler olanların çalıştığı bildirilmektedir.

Cihazınızın veya ROM'un desteklenip desteklenmediğinden emin değilseniz, düzenli yedeklemeler yaptığınızdan ve giriş yapmadan önce konuyu dikkatlice okuduğunuzdan emin olun. Son olarak, yinelenen bir soru bırakmadan önce "arama" işlevini kullandığınızdan emin olun. Android O çok yakında olabilir ama söylendiği gibi, "geç olsun güç olmasın." Ayrıca, pek çok kullanıcı cihazlarında uzun bir süre Android O'yu göremeyecek, bu nedenle Xposed, kendinizi geride kalmış hissetmemeniz için güzel bir fırsat olmalı.


Güncelleme: Rovo89'un Yanıtı

Orijinal, Xposed Framework'ün arkasında geliştirildi, XDA Kıdemli Tanınmış Geliştirici rovo89, bu son gelişmelerle ilgili düşünceleriyle Github'dan yanıt veriyor.

Deneyimlerime dayanarak, temelleri yapmanın aslında o kadar da zor olmadığını söyleyebilirim, ancak ayrıntılar için çok fazla zaman gerekiyor. Bu 80-20 kuralına benziyor ancak daha çok 95-5 ya da daha fazla olması dışında.

Önceki sürümler için tasarladığım kancalama yaklaşımı oldukça kararlı ve yeni sürümler için de uygulanabilir. Sanırım çoğu zaman tüm yerleri kontrol etmeye ihtiyacınız vardı. IsProxyMethod() Ve IsDirect() çağrılır ve yeni yöntem değiştiriciyi dikkate alıp almamaları gerektiğine karar verirler (yani parametreyi kullan true ya da değil). Eğer bunu yapmadıysanız, bu tür aramaları yeni başlattıkları bazı yerleri kaçırmış olabilirsiniz. Gibi yöntemler için aynı InstallStubsForMethod(), çengellenmiş bir yöntem için çağrıldıklarında bile orijinal orijinal yöntem üzerinde çalışması gerekir. Bunun alakalı olabileceği daha fazla yeri kontrol etmeniz gerekir. Bu hala birkaç gün içinde, ancak bunu yapmayı kaçırırsanız, hata ayıklamanın çok zor olduğu belirsiz çökmeler veya hatalı davranışlarla karşılaşabilirsiniz.

Bunun yanı sıra, kancaların yalnızca tamamen sıfırdan derlenen ROM'lar için düzgün çalışacağı bir yaklaşımı benimsediniz. Stok ROM'larda ve hatta çoğu özel ROM'da (oluşturma sırasında bağlantı noktanızı içermeyen) ve cihazın daha önce derlemiş olabileceği tüm uygulamalarda. Bu nedenle, özel bir ROM çalıştıran silinmiş bir cihazla her şeye yeniden başlamanız gerekir. Değilse, optimizasyonlar (örneğin satır içi) bir yöntemin çağrılmasını engelleyebilir ve dolayısıyla kancalar çalışmaz. Bu konuda en kötü şey, tam davranışın ROM'a veya hatta kullanıcının cihazı nasıl kullandığına bağlı olmasıdır (artık uygulamalar profillere göre derlenmektedir). Modüller rastgele arızalanır ve modül geliştiricileri neyi yanlış yaptıklarını merak ederler (cevap: hiçbir şey). Tüm önkoşullar yerine getirilmezse oldukça güvenilmez bir API'dir. Google'ın bir güncelleme yayınladığını düşünün. OnClickListener ROM'unuzu sıfırdan derlemediğiniz sürece bazen bir düğme çağrılmıyordu... Şahsen benim için bu büyük bir sınırlama.

Devam ediyor:

Bağlantı noktası yalnızca bir ROM'u sıfırdan yeniden derlemek için tasarlandığından, flashlanabilir ZIP'leri bununla yayınlamak hiç mantıklı değil.

Ve korktuğum gibi, Bunun çoğu zaman API sözleşmesini yerine getiremeyen eksik bir bağlantı noktası olduğuna dair tek bir uyarı yok. 😠 Bu geliştiriciler ve kullanıcılar için kötü, en azından eksik olduğunu bilmeliler ki desteklemek/kullanmak isteyip istemediklerine karar verebilsinler. Büyük bir uyarı olmadan asla böyle bir şey yapmaya cesaret edemem. Aslında mükemmeliyetçi olduğum için eksik versiyonunu yayınlamam, güvenilirlik benim için çok önemli.

Az önce Git günlüğümü kontrol ettim ve Ekim ayında temel bağlantımı (bu bağlantı noktasında olduğu gibi) hazırladım. O zamandan beri sınırlamaları kaldırmak için çalıştım. Önceden derlenmiş ROM'larda daha güvenilir hale getirmek için yeniden derleme kısmını da taşıyabilirdim, ancak bu yine de ideal değil. Yukarıda bir yerde açıklandığı gibi, artık JIT'e sahibiz; bu, tüm optimizasyonları korumamıza, yalnızca kancalamadan doğrudan etkilenen yöntemleri geçersiz kılmamıza (ve muhtemelen yeniden derlememize) olanak tanıyor. Kopyalayıp yapıştırmaktan daha fazlası olduğu için bu oldukça zordur. Ve bu bitene kadar hiçbir şey yayınlamayacağım. Bunun için 9 ay (şimdiye kadar) gerçekten uzun bir süre, biliyorum, ama hey, bu benim boş zamanım ve ör. taşınmak nedeniyle Yeni bir daireye taşındığım için birkaç ay (!) Xposed üzerinde çalışamadım ve bunun dışında çok sınırlı bir zamanım vardı.

Bu son gelişmelerin hepinizin bildiği gerçek "Xposed" olmadığını açıkça belirtmeliyiz. seviyorum, ancak işlevsel olarak bazı Xposed Çerçeve Modüllerini şu anda Android'de kullanmanıza izin veriyorlar Nuga. Android için Xposed Framework'ün resmi, daha kararlı ve daha uyumlu sürümünü beklemediğiniz için sizi suçlamayacağız Nougat, ancak bu yinelemenin yalnızca bazı kullanıcıların ihtiyaçlarını karşılamayı amaçlayan geçici bir önlem olduğunu açıkça belirtmek istiyoruz. Şimdi. Muhtemelen Xposed'ın gelecekte ele alınacağı yol bu değil.


XDA Forumlarında Nougat için Resmi Olmayan Xposed Çerçevesini İndirin