V tem članku raziskujemo razlike med prihajajočo izdajo rovo89 Xposed za Nougat in trenutno izvedbo, ki je na voljo za Nougat.
Ogrodje Xposed je bilo – in je še vedno – pomemben način za prilagoditev vaše naprave Android, združljiv s skoraj vsemi napravami, kar vam omogoča enostavno namestitev modulov za prilagajanje skoraj vseh podrobnosti.
Ali želite pridobiti vse funkcije, ki jih ponuja ROM po meri, ne da bi ga morali bliskati?GravityBox ozXTouchwiz bo to naredil. Ali želite prilagoditi določene nastavitve za posamezno aplikacijo, na primer spremeniti DPI določene aplikacije?Nastavitve aplikacije ste pokrili. Želimo si, da bi razvijalci aplikacije pomislili na dodajanje določene funkcije, kot vam to dovoli Googleprilagodite pogovore Hangouts ali Facebook, ki vam to omogočaprenesite objave na Instagramu, ki so vam všeč? No, ni vam treba, ker Xposed daje razvijalcem moč, da spremenijo skoraj vse, kar želijo želite, naj gre za sistemsko funkcijo, ki bi zahtevala ROM po meri, ali prilagoditev za določeno aplikacija.
Ogrodje Xposed ima veliko prednost za razvijalce, to je enostavnost razvoja (v primerjavi s prevajanjem AOSP za prilagoditve ROM-a ali urejanjem kode Smali). Prinaša tudi veliko prednost za uporabnike: udobje, saj jih ne sili več v iskanje in flash ROM-a, ki ponuja vsako posamezno funkcijo, ki jo iščejo (namesto tega lahko mešajo in ujemajo neodvisne module) poleg ciljnega ravnovesja stabilnosti in izvedba. Prav tako naredi prilagajanje aplikacij veliko lažje, saj se ni treba ukvarjati z različnimi podpisi, zaradi česar bi morali uporabniki odstraniti original različico ali skakanje skozi določene obroče, ko aplikacija preverja svoj podpis (nekaj, s čimer se ukvarjajo spremenjeni odjemalci YouTuba, npr. primer).
Edini problem? Zaradi svoje narave in količine prostega časa razvijalec Xposed (naš lastni Senior Recognised Developer,rovo89) pogosto zaostaja za izdajami Androida.Trajalo je približno štiri mesece, da je bila posodobljena za podporo Lollipop, in traja približno eno leto, da pridejo v Nougat. To ni tako slabo, kot se morda zdi, če pomislite koliko uporabnikov Androida dejansko uporablja Nougat (okoli 13,5 %, čeprav ne pozabite, da bodo navdušenci nad Androidom, ciljno občinstvo Xposed, prav tako bolj verjetno uporabljali Nougat). Kljub temu je lahko še vedno precej moteče, če ne morete uporabljati svojih najljubših modulov Xposed in hkrati imeti najnovejšo in najboljšo različico Androida.
Ker je izvorna koda ogrodja Xposed na voljo (vsaj za stabilne, izdane različice), razvijalecabforce se je odločil, da si bo umazal roke in videl, ali bi lahko prenesel nekaj modifikacij rovo89 v Nougat. Z odločitvijo za drugačen in enostavnejši pristop je abforce v bistvu prilagodil del Xposed, ki je dejansko naredi čarobnost, ko je enkrat nameščena, in jo je omogočila vključitev pri prevajanju lastnega ROM-a (po tem, pojavile so se druge rešitve). Ta pristop je verjetno zelo drugačen saj zanemarja eno od temeljnih prednosti Xposed, ki je z lahkoto na voljo vsem. Vendar pa je vsak napredek dobrodošel in več glav, ki se lotevajo naloge, je lahko koristno in ponudi nov vpogled. Glavna težava, kot jo vidimo, so napačne informacije o tem razvoju (ki jih širijo nekateri drugi "razvijalci" in nekateri blogi), pa tudi nekateri odzivi skupnosti. Upajmo, da bo ta članek naredil celotno sliko jasnejšo.
Najprej, da bi razumeli delo, ki je potekalo -- in še vedno poteka -- v uradnem ogrodju Xposed in različici abforce, moramo pogledati, kako ogrodje deluje. Medtem ko sam okvir je le del projekta, ponavadi mislimo na ogrodje in namestitveni program saj ogrodje izgubi veliko svojih prednosti brez univerzalnega namestitvenega programa, s katerim je tudi veliko dela.
Moč Xposed izhaja iz preprostega koncepta: katero koli metodo je mogoče "zaskočiti" (metode so majhne deli, ki sestavljajo kateri koli program), da se koda modula Xposed izvede pred, za ali namesto to. Vzemimo preprost primer: predpostavimo, da Instagram uporablja metodo, imenovano "showMenuOptions", ko kliknete menijski gumb, in ta metoda obravnava prikazovanje gumbov "Prijavi" in "Deli". Če ustvarite modul Xposed, lahko to metodo spremenite tako, da dodate dodaten gumb za prenos slike, namesto da bi jo dali v skupno rabo, na primer. Spremembe lahko segajo od preprostih popravkov (npr. Dnevnik sprememb Trgovine Play) do večjih remontov (npr GravityBox, katerega namen je zagotoviti vse funkcije, ki bi jih imel ROM po meri)!
Zaradi tega je Xposed močan, vendar je to le del enačbe. Drugi deli so vsestranskost - ali dejansko možnost uporabe Xposed na skoraj vseh napravah (s podprto različico Android) in enostavnost uporabe. Vse, kar morajo uporabniki storiti, je, da zgrabijo namestitveni program, ki naredi svoje in dinamično popravi njihov sistem za integracijo Xposed. Če želite uporabiti modul, ga morate samo namestiti, omogočiti in znova zagnati. Brez napora, ni potrebe po bliskavici ROM-a po meri (še posebej, če ROM-i po meri niso vedno izvedljiva izbira), ni potrebe po odstranitvi APK-ja za namestitev drugega, podpisanega z drugačnim podpisom. Vse, kar potrebujete, je root (popolnoma lahko imate ROM po meri in to je velikokrat smiselno; čeprav lahko Xposed zagotovi večino funkcionalnosti, ki jih lahko zagotovi ROM po meri, to tudi presega).
Za to preprostostjo pa je veliko dela:
- Za razvijalce modulov mora biti ponujeni API stabilen in zagotovljeno delovanje. Ogrodje Xposed ne more naključno odpovedati z določenimi kombinacijami ROM in/ali kljukic (razen v izjemnih primerih). Z drugimi besedami, če ima uporabnik težavo, bi morala biti zanjo kriv sam uporabnik (ne namestitev/omogočanje nečesa pravilno) ali napaka razvijalca modula (ker ima hrošče v modul). Vendar bi moralo biti skoraj gotovo, da samo ogrodje deluje, kot je predvideno, in ni vir napak, zaradi katerih bi bili uporabniki razočarani in razvijalci zmedeni.
- Za uporabnike mora biti ogrodje enostavno nameščeno v njihovo napravo in ROM, ne glede na to, ali imajo Samsung z najnovejšo različico TouchWiz ali Nexus z nameščenim LineageOS. Namestitveni program Xposed obravnava vse to v zakulisju. Za preizkušanje namestitvenega programa in ogrodja na različnih napravah in kombinacijah ROM-a je treba vložiti veliko dela. Najdene so napake, pogosto zaradi različnih izvedb proizvajalcev originalne opreme, in jih je treba odpraviti, da se zagotovi zanesljivost za vse uporabnike.
- Večje revizije Androida lahko včasih prinesejo velike spremembe, kar zahteva ponoven razmislek o delih arhitekture ogrodja, da se prilagodijo tem spremembam. Včasih se pri novejših različicah pojavijo tudi dodatne priložnosti, ki zahtevajo nekaj dodatnega časa za boljši izdelek. Ko je bil ART prvič uveden, je na primer Xposed onemogočil določene optimizacije, tako da lahko povezovanje deluje pravilno. V Nougatovem primeru jepravočasni (JIT) prevajalnik prinaša priložnost zaobdržati te optimizacije.
Veliko zgornjega dela sega v manjše podrobnosti, kjer večina ogrodja deluje, kot je predvideno, vendar zaradi nedoslednosti in manjših težav bi bila uporaba za uporabnike nevarna, za modul pa nočna mora za podporo in razvoj razvijalci. Izdan izdelek pa je namenjen vsem in brez presenečenj. Seveda obstajajo nekatere izjeme, saj nekatere spremembe proizvajalcev originalne opreme zahtevajo več truda, da se jim prilagodijo, vendar te so manjše in velika večina uporabnikov (in razvijalcev) lahko uživa v stabilnem in zanesljivem Xposed izkušnje. Vse odkrite izjeme se dokumentirajo zjasne omejitve odgovornosti da se ne bo kdo čudil.
Glede na zgoraj navedeno je vizija rovo89 za Xposed stabilna rešitev, ki uporabnikom in razvijalcem zagotavlja zanesljivo in preprosto pogodbo za uporabo. Njegova filozofija, čeprav se z njo morda ne strinjate, je preprosta in razumljiva: izdelek mora biti sprosti, ko je pripravljen za uporabo, kot je bilo predvideno, saj sprostitev prej povzroči več težav kot ugodnosti.
podmodul Xposed ART abforce za Nougat
Neradi imenujemo delo abforce "port" ali "neuradni Xposed", saj je to netočno in zavajajoče. Kot smo videli, ima Xposed dve glavni komponenti:
- Jedro samega ogrodja Xposed, ki obravnava čarovnijo metod povezovanja.
- Namestitveni program Xposed, ki zagotavlja, da je ogrodje preprosto pravilno namestiti na vse naprave.
Abforce je prenesel kodo Marshmallow rovo89 v prvem delu (samo ogrodje Xposed) v Nougat na način, ki bi zahteval, da se spremembe zapečejo med prevajanjem ROM-a po meri. Poleg tega številni manjši (vendar pomembni) deli ogrodja niso popolnoma prilagojeni Nougatu. Kot tako je lahko vedenje nedosledno in čeprav večinoma deluje (čeprav nezavsi), ni zanesljivo. Za razvijalce in uporabnike modulov bi bilo zanašanje na nepopolno in nedosledno implementacijo prav zagotoviti slabo izkušnjo za vse vpletene strani, z nekateri moduli sploh ne delujejo ali povzročajo, da se naprava ne zažene. Medtem ko je veliko uporabnikov morda v redu, če imajo raje nekaj kot nič, je stališče razvijalcev še vedno popolnoma razumljivo (še posebej, če imate v mislih, da zavrnitve odgovornosti ne ustavijo lažnih vprašanj podpore in jamranja).
(Poleg zgornjih dveh glavnih točk bomo pričakovali tudi nadaljnje spremembe končnega, uradnega ogrodja Xposed, da bi izkoristili spremembe, uvedene v Nougatu.)
Opozoriti je treba, da je abforce opravil odlično delo, ko se je večina zadovoljila s preprostim govorjenjem, vendar je njegovo delo daleč od popolne izkušnje Xposed in noben razvijalec ali blog ne trdi drugače (in vsekakor ne abforce; spet, nimamo nič drugega kot spoštovanje do vseh dejanskih razvijalcev, ki v to vlagajo resnično delo in trud). Pravzaprav, kot se bomo dotaknili čez nekaj časa, so nekateri odzivi skupnosti (bodisi uporabniki ali "razvijalci") edini slab del v tej verigi razvoja.
Prekinimo preganjanje in pojdimo naravnost k bistvu: vsaka skupnost ima slabe elemente in vidike. S tako veliko skupnostjo, kot so navdušenci nad Androidom, se slabi elementi morda zdijo ogromen delež, čeprav so le majhen del (precejšen, a relativno majhen). Ne da bi ga pocukrali, je bil velik del odziva skupnosti na razvoj Xposed za Nougat izjemno otročjega, nepremišljenega ali neodgovornega.
Prva večja težava je bil prizanesljiv odnos mnogih do "smrti Xposed", ker traja predolgo, da se izda za Nougat. To je kljub rovo89 posodobitveinzagotovila, in kljub skoraj enakemu scenariju, ki se je zgodil z Lollipopom, ko je bila predstavljena začetna različica ART. V redu je, če prenehate uporabljati Xposed, vendar ne želite žaliti nikogaršnje sposobnosti ali napadati drugih, ker imajo drugačno filozofijo ali ne zagotavljajo, da so vaše potrebe po utripanju takoj izpolnjene. To še toliko bolj velja za popolnoma brezplačen projekt, kjer je razvijalec izrazil svojo razvojno metodologijo in razloge zanjo.
Druga težava pri odzivu skupnosti je bilo napačno razumevanje narave dela abforce, pri čemer so ga mnogi hvalili kot novi Xposed ali ga oglaševali kot pristanišče za Nougat. Velika težava pri tem je bila, da so "razvijalci" hiteli ponuditi različice, ki jih je mogoče bliskati, ne da bi razumeli (ali jim bilo mar za) pomanjkljivosti, saj ni bilo nobenih izjav o omejitvi odgovornosti. v nekaterih temah sploh ponujajo, pri čemer gredo nekateri celo tako daleč, da pripisujejo priznanje abforce in ne rovo89 (ki stoji za veliko večino dela na Xposed) in drugim sodelavci.
Kot zadnjo točko menimo, da bi morali ponovno opozoriti na razvojno filozofijo rovo89. Mnogi glasni uporabniki trdijo, da bi bilo koristno, če bi bile najnovejše spremembe odprtokodne. Čeprav se to v teoriji sliši dobro, jev praksi ni tako enostavno še posebej, če upoštevamo razlago rovo89:
[...] Menim, da samo izrivanje trenutnega stanja ne bi pomagalo projektu. Morda bi ljudje, ki prevajajo kodo, res hitro videli izdajo "nekaterega", kar se zdi dobro delujejo in ga objavijo kot "njihovo pristanišče", kljub težavam in stvarem, ki jih ne bi vedeli od. Recite mi torej, da sem sebičen, vendar ne bi želel videti tako napol dokončane izdaje.[Vir]
Kar se je dejansko izkazalo za dokaj dobro napoved trenutne situacije, pri čemer se je prijavilo več "razvijalcev". spremembe abforce in ponuja bliskovit ZIP z minimalnimi opozorili ali brez njih, nepopolnimi krediti, medtem ko zahteva donacije.
Upamo, da so te razlage razjasnile nekaj vaših dvomov in odpravile morebitne napačne predstave, ki ste jih morda imeli. Xposed je bil neverjeten projekt, ki je dosegel ogromen del naše skupnosti navdušencev in flashaholikov, Xposed za Nougat pa bi moral biti še en velikanski mejnik, poln priložnosti. Z moduli, kot je GravityBox že ponuja podporo za Nougat, bo končani projekt rovo89 vrnil k množici možnosti.
Ali ste navdušeni nad Xposed na vašem Nougat ROM-u? Sporočite nam v komentarjih!