Izskaidrots Xposed Framework for Nougat & abforce apakšmodulis

click fraud protection

Šajā rakstā mēs izpētām atšķirības starp rovo89 gaidāmo Xposed for Nougat laidienu un pašreizējo versiju, kas ir pieejama Nougat.

Xposed sistēma bija un joprojām ir galvenais veids, kā pielāgot savu Android ierīci, kas ir saderīga ar gandrīz visām ierīcēm, ļaujot jums viegli instalēt moduļus, lai pielāgotu praktiski jebkuru detaļu.

Vai vēlaties iegūt visas funkcijas, ko piedāvā pielāgots ROM, bez nepieciešamības to aktivizēt?GravityBox vaiXTouchwiz to darīs. Vai vēlaties pielāgot noteiktus iestatījumus katrai lietotnei, piemēram, mainīt konkrētas lietotnes DPI?Lietotņu iestatījumi vai esat aptvēris. Vēlaties, lai lietojumprogrammas izstrādātāji padomā pievienotu īpašu funkciju, piemēram, Google atļauj jumspersonalizēt Hangouts vai Facebook, kas ļauj jums to darītlejupielādējiet Instagram ziņas, kas jums patīk? Nu, jums tas nav nepieciešams, jo Xposed sniedz izstrādātājiem tiesības mainīt gandrīz visu, ko viņi vēlas vēlaties, vai tā būtu visas sistēmas funkcija, kurai būtu nepieciešama pielāgota ROM, vai kāda konkrēta pielāgošana pieteikumu.

Xposed sistēmai ir liela priekšrocība izstrādātājiem, proti, izstrādes vienkāršība (salīdzinājumā ar nepieciešamību kompilēt AOSP ROM uzlabojumiem vai rediģēt Smali kodu). Tas lietotājiem sniedz arī milzīgas priekšrocības: ērtības, jo tas vairs neliek viņiem atrast un izlaist ROM, kas nodrošina katru viņu meklēto funkciju (tā vietā tie var sajaukt un saskaņot neatkarīgus moduļus) papildus mērķa stabilitātes un sniegumu. Tas arī padara lietojumprogrammu pielāgošana daudz vienkāršāk, jo nav jārisina dažādi paraksti, kā rezultātā lietotājiem būtu jāatinstalē oriģināls versiju vai pāriet cauri noteiktiem stīpiem, kad lietojumprogramma pārbauda savu parakstu (kaut kas mainīts YouTube klienti, piemēram, piemērs).

Vienīgā problēma? Tā rakstura un brīvā laika daudzuma dēļ Xposed izstrādātājs (mūsu vecākais atzītais izstrādātājs,rovo89), tas bieži atpaliek no Android izlaidumiem.Pagāja aptuveni četri mēneši, līdz tika saņemta atjaunināšana, lai atbalstītu Lollipop, un tas aizņem apmēram gadu, lai nokļūtu Nugā. Tas nav tik slikti, kā varētu šķist, ja padomā cik Android lietotāju patiesībā izmanto Nougat (aptuveni 13,5%, lai gan paturiet prātā, ka Android entuziasti, Xposed mērķauditorija, arī visticamāk izmantos Nougat). Tomēr joprojām var būt diezgan kaitinoši, ja nevarat izmantot savus iecienītākos Xposed moduļus un tajā pašā laikā jums ir jaunākā un labākā Android versija.

Ja Xposed ietvara pirmkods ir pieejams (vismaz stabilām, izlaistajām versijām), izstrādātājsabforce nolēma nosmērēt rokas un noskaidrot, vai viņš varētu pārnest dažas rovo89 modifikācijas uz Nougat. Izvēloties atšķirīgu un vienkāršāku pieeju, abforce būtībā pielāgoja to Xposed daļu, kas patiesībā ir veic burvju darbību, kad tā bija instalēta, un ļāva to iekļaut, kompilējot savu ROM (pēc tam, parādījās citi risinājumi). Šī pieeja, iespējams, ir ļoti atšķirīga jo tā ignorē vienu no Xposed galvenajām priekšrocībām, kas ir viegli pieejama ikvienam. Tomēr viss progress ir apsveicams, un vairāki vadītāji, kas risina uzdevumu, var būt izdevīgi un sniegt jaunu ieskatu. Galvenā problēma, kā mēs to redzam, ir dezinformācija par šo attīstību (ko izplata daži citi "izstrādātāji" un daži emuāri), kā arī dažas sabiedrības reakcijas. Cerams, ka šis raksts padarīs visu attēlu skaidrāku.


Pirmkārt, lai izprastu darbu, kas tika un joprojām tiek veikts oficiālajā Xposed ietvarā, kā arī abforce versijā, mums ir jāaplūko, kā darbojas sistēma. Kamēr pats ietvars ir tikai daļa no projekta, mēs parasti domājam gan sistēmu, gan instalētāju jo ietvars zaudē daudzas savas priekšrocības bez universālā uzstādītāja, kurā arī tiek ieguldīts daudz darba.

Xposed jauda izriet no vienkāršas koncepcijas: jebkuru metodi var "pieķert" (metodes ir mazas daļas, kas veido jebkuru programmu), lai Xposed moduļa kods tiktu izpildīts pirms, pēc vai tā vietā to. Ņemsim vienkāršu piemēru: pieņemsim, ka Instagram izmanto metodi, ko sauc par "showMenuOptions", kad noklikšķināt uz izvēlnes pogas, un šī metode apstrādā pogas "Ziņot" un "Kopīgot". Izveidojot Xposed moduli, varat modificēt šo metodi, lai pievienotu papildu pogu attēla lejupielādei, nevis, piemēram, tā kopīgošanai. Modifikācijas var būt dažādas, sākot ar vienkāršiem pielāgojumiem (piem. Play veikala izmaiņu žurnāls) uz kapitālo remontu (piemēram, GravityBox, kuras mērķis ir nodrošināt visas funkcijas, kas būtu pielāgotas ROM)!

Tas padara Xposed jaudīgu, taču tā ir tikai daļa no vienādojuma. Pārējās daļas ir daudzpusība — vai faktiski iespēja izmantot Xposed gandrīz jebkurā ierīcē (ar atbalstītu Android versiju) un lietošanas vienkāršība. Lietotājiem atliek tikai paķert instalētāju, kas veic savu burvību un dinamiski izlabo viņu sistēmu, lai integrētu Xposed. Lai lietotu moduli, jums tas vienkārši jāinstalē, jāiespējo un jārestartē. Nav nepieciešams uztraukties, nav nepieciešams mirgot pielāgotu ROM (jo īpaši, ja pielāgotie ROM ne vienmēr ir piemērota izvēle), nav nepieciešams atinstalēt APK, lai instalētu citu, kas parakstīts ar citu parakstu. Viss, kas jums nepieciešams, ir root (jums noteikti var būt pielāgots ROM, un tas ir loģiski daudz laika; bet, lai gan Xposed var nodrošināt lielāko daļu funkcionalitātes, ko var nodrošināt pielāgots ROM, tas arī pārsniedz to).

Tomēr aiz šīs vienkāršības slēpjas daudz darba:

  1. Moduļu izstrādātājiem nodrošinātajai API ir jābūt stabilai un garantētai darbībai. Xposed sistēma nevar nejauši izgāzties ar noteiktām ROM un/vai āķa kombinācijām (izņemot izņēmuma gadījumus). Citiem vārdiem sakot, ja lietotājam ir problēma, šai problēmai ir jābūt lietotāja vainas dēļ (nevis kaut ko pareizi instalējot/iespējojot) vai moduļa izstrādātāja vaina (par kļūdām modulis). Taču ir jābūt gandrīz drošam, ka pati sistēma darbojas, kā paredzēts, un tā nav kļūdu avots, kas liktu lietotājiem neapmierinātību un izstrādātājus neizpratnē.
  2. Lietotājiem ietvaram jābūt viegli instalējamam savā ierīcē un ROM, neatkarīgi no tā, vai viņiem ir Samsung, kurā darbojas jaunākā TouchWiz versija, vai Nexus ar instalētu LineageOS. Xposed instalētājs apstrādā visu aizkulisēs. Ir jāiegulda daudz darba, lai pārbaudītu instalētāju un sistēmu dažādās ierīcēs un ROM kombinācijās. Tiek atrastas kļūdas, kas bieži ir saistītas ar atšķirīgu OEM ieviešanu, un tās ir jānovērš, lai nodrošinātu uzticamību visiem lietotājiem.
  3. Lielas Android versijas dažkārt var radīt lielas izmaiņas, tādēļ ir jāpārdomā ietvara arhitektūras daļas, lai pielāgotos šīm izmaiņām. Dažreiz papildu iespējas parādās arī ar jaunākām versijām, kas prasa papildu laiku, lai iegūtu labāku produktu. Kad ART pirmo reizi tika ieviests, piemēram, Xposed atspējoja noteiktas optimizācijas, lai hooking varētu darboties pareizi. Nugas gadījumātieši laikā (JIT) kompilators sniedz iespējusaglabāt šīs optimizācijas.

Liela daļa no iepriekšminētā darba attiecas uz nelielām detaļām, kur lielākā daļa sistēmas darbojas, kā paredzēts, bet nekonsekvences un nelielas problēmas padarītu to par azartisku izmantošanu lietotājiem un moduļa atbalsta un attīstības murgu. izstrādātājiem. Izlaistais produkts tomēr ir paredzēts, lai tas būtu lietojams visiem un bez pārsteigumiem. Protams, ir daži izņēmumi, jo dažām oriģinālo iekārtu ražotāju izmaiņām ir jāpieliek lielākas pūles, lai tām pielāgotos, taču tie ir nelielas, un lielākajai daļai lietotāju (un izstrādātāju) ir iespēja izbaudīt stabilu un uzticamu Xposed pieredze. Visi konstatētie izņēmumi tiek dokumentētiskaidras atrunas lai neviens nebūtu pārsteigts.

Ņemot vērā iepriekš minēto, rovo89 vīzija par Xposed ir būt stabilam risinājumam, kas nodrošina uzticamu un viegli lietojamu līgumu lietotājiem un izstrādātājiem. Viņa filozofija, lai arī jūs tai nepiekrītat, ir vienkārša un saprotama: produktam ir jābūt izlaiž, kad tas ir gatavs lietošanai, kā paredzēts, jo pirms izlaišanas rada vairāk problēmu nekā ieguvumi.


abforce Xposed ART apakšmodulis priekš Nougat

Mēs nevēlamies saukt abforce darbu par "portu" vai "neoficiālu Xposed", jo tas ir neprecīzi un maldinoši. Kā mēs redzējām, Xposed ir divas galvenās sastāvdaļas:

  1. Pati Xposed ietvara kodols, kas apstrādā piesaistes metožu burvību.
  2. Xposed instalēšanas programma, kas nodrošina, ka ietvaru ir viegli pareizi instalēt visās ierīcēs.

Tas, ko abforce izdarīja, portēja rovo89 Marshmallow kodu pirmajā daļā (tikai Xposed ietvarā) uz Nougat tādā veidā, ka pielāgotās ROM kompilēšanas laikā būtu jāveic izmaiņas. Turklāt daudzas nelielas (bet svarīgas) sistēmas daļas nav pilnībā pielāgotas Nugai. Kā tāda uzvedība var būt nekonsekventa un, lai gan tā lielākoties darbojas (tomēr priekšvisi), tas nav uzticams. Moduļu izstrādātājiem un lietotājiem paļaušanās uz nepilnīgu un nekonsekventu ieviešanu būtu vienkārši nodrošināt sliktu pieredzi visām iesaistītajām pusēm, ar daži moduļi nedarbojas vispār vai neizraisa ierīces sāknēšanu. Lai gan daudziem lietotājiem var būt labi kaut ko, nevis neko, izstrādātāju viedoklis joprojām ir pilnīgi saprotams (it īpaši, ja paturat prātā, ka atrunas neaptur viltus atbalsta jautājumus un vaimanāšanu).

(Papildus iepriekšminētajiem diviem galvenajiem punktiem mēs arī sagaidīsim turpmākas izmaiņas galīgajā, oficiālajā Xposed sistēmā, lai izmantotu Nougat ieviestās izmaiņas.)

Jāatzīmē, ka abfors paveica izcilu darbu, kad lielākā daļa bija apmierināti ar vienkāršu runāšanu, taču viņa darbs ir tālu no pilnīgas Xposed pieredzes, un neviens izstrādātājs vai emuārs neapgalvo pretējo (un noteikti ne abforce; atkal mums ir tikai cieņa pret visiem faktiskajiem izstrādātājiem, kuri iegulda reālu darbu un pūles. Faktiski, kā mēs nedaudz pieskarsimies, daļa no kopienas atbildes (vai tie būtu lietotāji vai "izstrādātāji") ir vienīgā vājā daļa šajā attīstības ķēdē.


Pārtrauksim vajāšanu un ķersimies pie lietas: jebkurai kopienai ir slikti elementi un aspekti. Tā kā ir tik liela kopiena kā Android entuziastiem, sliktie elementi var šķist milzīga daļa, ja tie ir tikai neliela daļa (liela, bet relatīvā izteiksmē tomēr neliela). Tomēr bez cukura pārklājuma liela daļa sabiedrības reakciju uz Xposed for Nougat izstrādi ir bijusi ārkārtīgi bērnišķīga, neapdomīga vai bezatbildīga.

Pirmā lielākā problēma ir bijusi daudzu piekāpīgā attieksme pret “Xposed nāvi”, jo tas aizņem pārāk ilgu laiku, lai to atbrīvotu Nougat. Tas ir neskatoties uz rovo89 atjauninājumusungarantijas, un, neskatoties uz gandrīz precīzu scenāriju, kas notika ar Lollipop, kad tika ieviesta sākotnējā ART versija. Ir pareizi pārtraukt lietot Xposed, taču tas nav paredzēts, lai aizskartu neviena spējas vai uzbruktu citiem, jo ​​viņiem ir atšķirīga filozofija vai netiek nodrošināts, ka jūsu vajadzības tiek nekavējoties apmierinātas. Tas vēl jo vairāk attiecas uz pilnīgi bezmaksas projektu, kur izstrādātājs ir izteicis savu izstrādes metodiku un iemeslus.

Vēl viena problēma, kas saistīta ar sabiedrības reakciju, ir pārpratums par abforce darba būtību, daudzi to sauc par jauno Xposed vai reklamē to kā Nougat ostu. Galvenā problēma saistībā ar to ir saistīta ar to, ka "izstrādātāji" steidzas piedāvāt flashable versijas, neizprotot (vai nerūpējoties) par trūkumiem, jo ​​nebija nekādu atrunu. dažos pavedienos vispār tiek piedāvāts, daži pat iet tik tālu, ka kredīts abforce, nevis rovo89 (kurš ir aiz lielākās daļas Xposed darbu) un citi līdzstrādnieki.

Visbeidzot, mēs uzskatām, ka mums vajadzētu vēlreiz izcelt rovo89 attīstības filozofiju. Daudzi vokāli lietotāji apgalvo, ka būtu izdevīgi, ja jaunākās izmaiņas būtu atvērtā pirmkoda veidā. Lai gan teorētiski tas izklausās labi, tā tas irpraksē nav tik vienkārši it īpaši, ja ņemam vērā rovo89 skaidrojumu:

[...] Es uzskatu, ka tikai pašreizējā stāvokļa izstumšana projektam nepalīdzētu. Mēs, iespējams, redzēsim, ka cilvēki, kas apkopo kodu, patiešām ātri izlaiž "dažus" un redz, ka tas tā ir darbojas labi un publicē to kā "savu ostu", neskatoties uz problēmām un darāmajām lietām, par kurām viņi nezinātu no. Tāpēc sauciet mani par egoistu, bet es negribētu redzēt tādu pusgatavu izlaidumu.[Avots]

Kas patiesībā ir izrādījies diezgan labs pašreizējās situācijas prognoze, piesakoties vairākiem "izstrādātājiem". abforce izmaiņas un piedāvājot flashable ZIP ar minimāliem brīdinājumiem vai bez tiem, nepilnīgi kredīti, vienlaikus lūdzot ziedojumi.


Mēs ceram, ka šie skaidrojumi noskaidroja dažas jūsu šaubas un novērš iespējamos nepareizos priekšstatus, kas jums varētu būt bijuši. Xposed ir bijis pārsteidzošs projekts, kas ir sasniedzis milzīgu mūsu entuziastu un flashaholic kopienas daļu, un Xposed for Nougat ir vēl viens milzīgs pavērsiens, kas pilns ar iespējām. Ar tādiem moduļiem kā GravityBox jau piedāvājot Nougat atbalstu, rovo89 pabeigtais projekts atgriezīsies pie daudzām iespējām.


Vai esat sajūsmā par Xposed savā Nougat ROM? Paziņojiet mums komentāros!