Mostantól elérhető egy villogható zip, amely az Xposed Framework-et az Android 7.1 Nougat ROM-okhoz juttatja el. A zip a OnePlus 3T-n és sok más telefonon is működik!
Több hónapos várakozás után végre megkaptuk az Xposed Framework támogatást a Nougat ROM-okhoz (bár nem hivatalosan). Hála néhány tehetséges fejlesztőnek a saját XDA Fórumainkon, mostantól telepítheti az Xposed Framework-et Android Nougat ROM-ra egy flashable zip segítségével.
Eddig az Xposed on Nougat jövője kissé bizonytalannak tűnt. Rovo89 - az Xposed Framework fejlesztője - valamivel több mint egy héttel ezelőtt frissítést adott az Android Nougat támogatásáról. A Rovo89 lényegében kijelentette, hogy még nagyon sok munka vár annak érdekében, hogy az Xposed megfelelően működjön a Nougaton, és csak türelmesnek kell lennünk.
Szerencsére úgy tűnik, kaptunk egy ideiglenes megoldást azok számára, akik izgatottan várták a szüneteltetést. A PurifyOS csapata megragadta a fejlesztő ART modulját abforce dolgozott (és amiről korábban a mai napon került sor).
Jelenleg három verzió áll rendelkezésre különböző platformokhoz, köztük az Xposed SDK25 ARM64, Xposed SDK25 KARés Xposed SDK25 x86. A PurifyOS csapata tesztelte az Xposed új verzióját egy OnePlus 3T-vel, amely az Android 7.1-en alapuló OxygenOS rendszert futtatja, de működnie kell más Android Nougat-ot futtató telefonok és a felhasználók már arról számoltak be, hogy sikeresen tudták telepíteni különböző ROM-okra és eszközöket. Például a OnePlus 5 néhány felhasználója arról számolt be, hogy működik (nem meglepő, mivel a OnePlus-on fut 3T rendben van), de egy felhasználó, aki AOSP-alapú ROM-ot használ a Samsung Galaxy S6-hoz, szintén arról számolt be, hogy ez bevált nekik.
Lesznek furcsaságok, amelyeket ki kell deríteni, és ez idáig nem mindenkinek sikerült működésre bírnia, mivel egyes felhasználók erőszakos bezárásokat és egyéb furcsaságokat tapasztaltak. Ennek ellenére még mindig megteheti a próbát, ha az Android operációs rendszer előző verziójának megjelenése óta várta az Xposed megérkezését a Nougaton. Nem minden létező Xposed Framework modul működik azonnal, de néhány igazán népszerű modul, például az Amplify a jelentések szerint működik.
Rendszeresen készítsen biztonsági másolatot, és figyelmesen olvassa el a szálat, mielőtt belevágna, ha nem biztos abban, hogy eszköze vagy ROM-ja támogatott-e. Végül feltétlenül használja a "keresés" funkciót, mielőtt ismétlődő kérdést hagyna fel. Lehet, hogy az Android O a sarkon van, de ahogy a mondás tartja, "jobb később, mint soha." Ráadásul sok felhasználó jó ideig nem fogja látni az Android O-t az eszközein, így az Xposed jó csemege, hogy ne érezze magát lemaradva.
Frissítés: a Rovo89 válasza
Az eredetit az Xposed Framework mögött fejlesztették ki, az XDA Senior Recognized Developer rovo89, a Githubon válaszolt a legutóbbi fejleményekről szóló gondolataival.
Tapasztalataimból elmondhatom, hogy valóban nem olyan nehéz elvégezni az alapokat, de a részletekig pokolian sok idő kell. Ez olyan, mint a 80-20-as szabály, kivéve, hogy inkább 95-5-ös.
A korábbi kiadásokhoz kialakított hooking megközelítés meglehetősen stabil, és az újabb kiadásoknál is alkalmazható. Feltételezem, hogy az idő nagy részében át kellett néznie az összes helyet, ahol
IsProxyMethod()
ésIsDirect()
meghívja, és eldönti, hogy figyelembe kell-e venni az új metódusmódosítót vagy sem (azaz használja a paraméterttrue
vagy nem). Ha ezt nem tette meg, lehet, hogy kihagyott néhány helyet, ahol újonnan vezettek be ilyen hívásokat. Ugyanez az olyan módszerekre, mint plInstallStubsForMethod()
, amelynek az eredeti eredeti módszerrel kell működnie, még akkor is, ha akasztott metódusra hívják őket. Több olyan helyet kell keresnie, ahol ez releváns lehet. Ez még a napok tartományában van, de ha elmulasztja megtenni, homályos összeomlásokat vagy helytelen viselkedést tapasztalhat, amelyet nagyon nehéz hibakeresni.Emellett olyan megközelítést választottál, ahol a hookok csak olyan ROM-ok esetében működnének megfelelően, amelyeket teljesen a semmiből fordítanak. A raktáron lévő ROM-okon és még a legtöbb egyéni ROM-on (amelyek nem tartalmazták a portot az építés során), valamint minden olyan alkalmazáshoz, amelyet az eszköz korábban lefordított. Tehát mindent elölről kell kezdenie egy törölt eszközzel, amely egy speciális ROM-ot futtat. Ha nem, akkor az optimalizálás (például a beillesztés) megakadályozhatja, hogy egy metódust egyáltalán meghívjanak, és ezért a hookok nem működnének. A legrosszabb ebben az, hogy a pontos viselkedés a ROM-tól, vagy akár attól is függ, hogy a felhasználó hogyan használja az eszközt (most, hogy az alkalmazásokat profilok alapján fordítják). A modulok véletlenszerűen meghibásodnának, és a modulfejlesztők azon tűnődnének, hogy mit csináltak rosszul (válasz: semmi). Ha nem teljesül az összes előfeltétel, akkor ez egy meglehetősen megbízhatatlan API. Képzeld el, hogy a Google frissítést tett közzé, ahol a
OnClickListener
Néha nem hívták meg a gombot, hacsak nem a semmiből fordítottad le a ROM-ot... Nekem személy szerint ez egy nagy korlát.
Így folytatja:
Egyáltalán nincs értelme flashable ZIP-eket publikálni ezzel, mivel a port csak egy ROM újrafordítására szolgál..
És ahogy féltem, egyetlen figyelmeztetés sincs arra vonatkozóan, hogy ez egy hiányos port, amely gyakran nem teljesíti az API-szerződést. 😠 Ez rossz a fejlesztőknek és a felhasználóknak, legalább tudniuk kell, hogy hiányos, hogy eldönthessék, támogatják-e/használják-e. Soha nem mernék ilyesmit csinálni nagy kövér figyelmeztetés nélkül. Igazából, mivel én inkább perfekcionista vagyok, egyáltalán nem adnék ki egy hiányos verziót, számomra nagyon fontos a megbízhatóság.
Most néztem meg a Git naplómat, és októberben készen volt az alap beakasztás (mint ebben a portban). Azóta a korlátok megszüntetésén dolgozom. Hogy megbízhatóbbá tegyem az előre lefordított ROM-okon, az újrafordító részt is portolhattam volna, de ez még mindig nem ideális. Ahogy fentebb már elmagyaráztuk, most van JIT-ünk, amely lehetővé teszi, hogy megtartsuk az összes optimalizálást, csak érvénytelenítve (és esetleg újrafordítva) azokat a metódusokat, amelyeket közvetlenül érint a hooking. Ez elég nagy kihívást jelent, mivel több, mint másolás és beillesztés. És amíg ez nem történik meg, addig nem teszek közzé semmit. 9 hónap erre (eddig) tényleg hosszú idő, tudom, de hát ez a szabadidőm és pl. költözése miatt egy új lakás, több hónapig (!) egyáltalán nem dolgozhattam az Xposeden, és egyébként csak nagyon korlátozott időm volt.
Világossá kell tennünk, hogy ezek a közelmúltbeli fejlemények nem az igazi „Xposed”, amit mindannyian ismernek szeretik, de funkcionálisan lehetővé teszik néhány Xposed Framework modul használatát Androidon Nugát. Nem fogjuk hibáztatni, ha nem várta meg az Xposed Framework for Android hivatalos, stabilabb és kompatibilisebb verzióját Nugát, de szeretnénk egyértelművé tenni, hogy ez az iteráció csupán egy átmeneti intézkedés, amely bizonyos felhasználók igényeinek kielégítésére szolgál. Most. Valószínűleg nem úgy fogják kezelni az Xposed-et a jövőben.
Töltse le a Nougat nem hivatalos Xposed Framework-jét az XDA fórumain