Вече е наличен flashable zip, който пренася Xposed Framework в Android 7.1 Nougat ROM. Ципът работи на OnePlus 3T, както и на много други телефони!
След месеци след месеци чакане най-накрая получихме поддръжка на Xposed Framework за Nougat ROM (макар и неофициално). Благодарение на някои талантливи разработчици в нашите собствени XDA форуми, вече можете да инсталирате Xposed Framework на Android Nougat ROM чрез флаш-комплект.
Досега бъдещето на Xposed на Nougat изглеждаше малко нестабилно. Rovo89 - разработчикът зад Xposed Framework - предостави актуализация относно поддръжката за Android Nougat преди малко повече от седмица. Rovo89 по същество заяви, че има още много работа за вършене, за да може Xposed да работи правилно на Nougat и че просто ще трябва да бъдем търпеливи.
За щастие, изглежда, че сме получили временно решение за онези от нас, които нетърпеливо чакаха временна мярка. Екипът на PurifyOS грабна ART модула на този разработчик abforce е работил върху (и за което беше публикувано по-рано днес
) и го адаптира, за да може да се инсталира на други потребителски ROM чрез flashable zip (вместо да се налага да се внедрява при компилирането на ROM).В момента има три налични версии за различни платформи, включително Xposed SDK25 ARM64, Xposed SDK25 ARMи Xposed SDK25 х86. Екипът на PurifyOS тества тази нова версия на Xposed с OnePlus 3T, работещ с OxygenOS, базиран на Android 7.1, но трябва да работи на други телефони с Android Nougat и потребителите вече съобщават, че са успели успешно да го инсталират на различни ROM и устройства. Например, няколко потребители на OnePlus 5 съобщиха, че работи (не е изненада, като се има предвид, че работи на OnePlus 3T съвсем добре), но потребител, използващ базиран на AOSP ROM за Samsung Galaxy S6, също съобщи, че работи за него.
Ще има странности за разбиране и не всеки е успял да го накара да работи досега, като някои потребители изпитват принудително затваряне и други странности. Въпреки това, дори когато случаят е такъв, все още можете да опитате, ако сте чакали пристигането на Xposed на Nougat още от пускането на предишната версия на Android OS. Не всички съществуващи модули на Xposed Framework ще работят веднага, но се съобщава, че някои наистина популярни като Amplify работят.
Не забравяйте да правите редовни резервни копия и да прочетете внимателно нишката, преди да се впуснете, ако не сте сигурни дали вашето устройство или ROM се поддържат. И накрая, не забравяйте да използвате функцията "търсене", преди да оставите дублиран въпрос. Android O може да е точно зад ъгъла, но както се казва, "по-добре късно от колкото никога." Плюс това, много потребители няма да виждат Android O на своите устройства от доста време, така че Xposed трябва да бъде приятно удоволствие, за да не се чувствате изоставени.
Актуализация: Отговорът на Rovo89
Оригиналът, разработен зад Xposed Framework, XDA Senior Recognized Developer rovo89, отговаря в Github с мислите си относно тези скорошни развития.
От моя опит мога да ви кажа, че наистина не е толкова трудно да свършите основите, но отнема адски много време за детайлите. Това е като правилото 80-20, с изключение на това, че е по-скоро 95-5 или нещо такова.
Подходът за закачане, който съм проектирал за предишните издания, е доста стабилен и може да се приложи и за по-нови издания. Предполагам, че сте имали нужда от повечето време, за да проверите всички места, където
IsProxyMethod()
иIsDirect()
се извиква и решават дали трябва да обмислят новия модификатор на метода или не (т.е. да използват параметърtrue
или не). Ако не сте го направили, може да сте пропуснали някои места, където те наскоро са въвели такива обаждания. Същото за методи катоInstallStubsForMethod()
, който трябва да работи с оригиналния оригинален метод, дори когато е извикан за закачен метод. Ще трябва да проверите за повече места, където това може да е подходящо. Това все още е в диапазона от дни, но ако пропуснете да го направите, може да видите неясни сривове или лошо поведение, които са много трудни за отстраняване на грешки.Освен това, вие сте възприели подход, при който куките ще работят правилно само за ROM, които са изцяло компилирани от нулата. На складови ROM и дори на повечето персонализирани ROM (които не включват порта ви по време на изграждане), както и за всички приложения, които устройството може да е компилирало преди. Така че ще трябва да започнете всичко отначало с изтрито устройство, работещо със специален ROM. Ако не, тогава оптимизациите (напр. вграждане) може да попречат на даден метод изобщо да бъде извикан и следователно кукичките няма да работят. Най-лошото в това е, че точното поведение ще зависи от ROM или дори как потребителят използва устройството (сега, когато приложенията се компилират въз основа на профили). Модулите ще се провалят на случаен принцип и разработчиците на модули ще се чудят какво са направили грешно (отговор: нищо). Ако не са изпълнени всички предпоставки, това е доста ненадежден API. Представете си, че Google публикува актуализация, където
OnClickListener
на бутон не се извиква понякога, освен ако не сте компилирали своя ROM от нулата... Лично за мен това е голямо ограничение.
Той продължава:
Изобщо няма смисъл да публикувате flashable ZIP файлове с това, тъй като портът е предназначен само за прекомпилиране на ROM от нулата.
И както се страхувах, няма нито едно предупреждение, че това е непълен порт, който често не успява да изпълни договора за API. 😠 Това е лошо за разработчиците и потребителите, те трябва поне да знаят, че е непълно, за да могат да решат дали искат да го поддържат/използват. Никога не бих се осмелил да направя нещо подобно без голямо дебело предупреждение. Всъщност, тъй като съм доста перфекционист, изобщо не бих публикувал непълна версия, надеждността е много важна за мен.
Току-що проверих своя Git log и бях готов за основното закачане (както в този порт) през октомври. Оттогава работих върху премахването на ограниченията. За да го направя по-надежден на предварително компилирани ROM, можех да пренеса и прекомпилиращата част, но това все още не е идеално. Както беше обяснено някъде по-горе, сега имаме JIT, което ни позволява да запазим всички оптимизации, като само обезсилваме (и евентуално прекомпилираме) методите, които са пряко засегнати от закачане. Това е доста предизвикателство, тъй като е повече от просто копиране и поставяне. И докато това не стане, няма да публикувам нищо. 9 месеца за това (до сега) е наистина много време, знам, но хей, това е моето свободно време и напр. поради преместване в нов апартамент, изобщо не можех да работя по Xposed няколко месеца (!) и иначе разполагах с много ограничено време.
Трябва да изясним, че тези скорошни разработки не са истинският „Xposed“, който всички познавате и обичам, но функционално те ви позволяват да използвате някои Xposed Framework модули точно сега на Android нуга. Няма да ви обвиняваме, че не изчакахте официалната, по-стабилна и по-съвместима версия на Xposed Framework за Android Nougat, но искаме да изясним, че тази итерация е просто временна мярка, предназначена да задоволи нуждите на някои потребители сега. Вероятно не е начинът, по който Xposed ще се работи в бъдеще.
Изтеглете неофициалната Xposed Framework за Nougat от форумите на XDA