Xposed Framework nav jāievada XDA lasītājiem. Kad jautāja par lietām, ko mūsu kopiena visvairāk ienīst Lollipop, vienīgais visvairāk balsotais komentārs diskusijā bija tāds, ka tas pārtrauca atbalstu Xposed. Faktiski daudzi foruma dalībnieki pat ir atteikušies atjaunināt uz Lollipop tieši šī iemesla dēļ. Bet tas viss mainās tagad, jo ļoti gaidītais Xposed Framework beidzot ir pieejams Android Lollipop.
Ja jūs vēl neesat pazīstams ar Xposed, vienkārši sakot, tā ir dāvana modificēšanas kopienai. Xposed neprasa mirgot ROM, taču nodrošina daudz pielāgošanas un pielāgojumu, ko lietotāji var instalēt tāpat kā lietotnes ierīcēs, kurām ir sakne. Tas ir neticami vienkārši lietojams un ar ierobežotu risku. Un tagad visi Android entuziasti Lollipop var baudīt šī fantastiskā projekta priekšrocības savās ierīcēs. Lejupielādējiet savu lejupielādi un sāciet modificēt!
rovo89 bija arī laipns, lai sniegtu mums jautājumu un atbilžu par jaunāko projektu. Tālāk varat atrast atbildes uz visiem saviem jautājumiem par projektu.
Kāpēc tas prasīja tik ilgu laiku? ART ir izdots vairāk nekā pirms gada!
Pirmkārt - daudzi cilvēki turpina lūgt ART atbalstu. Lollipop ir daudz vairāk izmaiņu, piemēram, vēl stingrākas SELinux politikas, 64 bitu ROM un arhitektūras izmaiņas, ko jūs varētu sagaidīt no liela laidiena. Un, protams, pati ART tiek nepārtraukti pilnveidota; pastāv lielas atšķirības starp ART for KitKat un ART for Lollipop.
Tāpēc viens no iemesliem ir lielā sarežģītība, kas prasīja daudzas, daudzas stundas darba izpētei, izstrādei un testēšanai.
Vēl viens iemesls ir tas, ka manā dzīvē ir arī citas lietas, nevis Xposed, tāpēc ir bijušas nedēļas vai pat mēneši, kad es gandrīz nemaz neesmu skatījies uz kodu.
Vai mums ir jāpārraksta visi moduļi?
Nē, Xposed API ir gandrīz nemainīga. Xposed abstrahē visas detaļas, tāpēc moduļiem nav jārūpējas par to, vai tie darbojas Dalvik vai ART. Daudzi moduļi faktiski darbosies bez izmaiņām, jo īpaši tie, kas maina lietotāju lietotņu uzvedību. Moduļi, kuru mērķis ir sistēmas darbība, iespējams, būs jāpielāgo jaunajam Android ietvara kodam, kas to neizraisa ART, bet gan vienkārši arhitektūra un koda izmaiņas, kas notiek starp jebkuriem diviem Android izlaidumi. Nozīmīgākais ir tas, ka sistēmas pakalpojumu kods ir pārvietots uz atsevišķu failu. Lielākajai daļai ietekmēto moduļu to var atrisināt, veicot nelielu pārstrukturēšanu (pārvietojot kodu uz citu vietu).
Vai tas tiešām darbojas?
Jā! Vismaz man tas darbojas labi manā ikdienas ierīcē (Nexus 5 ar CM12) un arī Nexus 9 (apmaksā XDA — paldies!). Tālrunis kā parasti ir stabils, un lietotnes darbojas labi. Un acīmredzot arī moduļi un to āķi/resursu nomaiņas darbojas labi, citādi nebūtu jēgas kaut ko izlaist.
Bet kāpēc tad tā ir alfa versija?
Tā kā kopš pēdējā stabilā laidiena ir notikušas milzīgas izmaiņas, kuras ir jāpārbauda cilvēkiem, kuri zina, kā izmantot atkopšanu, izvairīties no sāknēšanas cilpām un pareizi ziņot par kļūdām. Iesācējiem ļoti iesaku pagaidīt, kamēr Xposed būs pārbaudījuši pietiekami pieredzējuši cilvēki.
Ir arī daži malu gadījumi, kas vēl nav pārbaudīti, piemēram, piesaistes JNI (native) metodes un metodes, kas tiek izpildītas to piesaistes laikā.
Es gribu to instalēt. Tagad! Kas man jādara?
Pārliecinieties, ka esat izlasījis manus vārdus un esat iepazinies ar sava tālruņa iekšējām funkcijām. Acīmredzot, jums ir jābūt Lollipop ROM un jābūt labam datu dublējumam. Pagaidām publicēšu tikai ARMv7 versiju. 64 bitu versija ir sarežģītāka, tāpēc vispirms izmēģināsim “vieglu” variantu.
Pagaidām instalēšana ir jāveic manuāli pielāgotajā atkopšanā. Zip faila mirgošana tiks instalēta:
- app_process32_xposed un dažas simboliskās saites
- libexposed_art.so
- libart.so un daži saistītie binārie faili + bibliotēkas (pamatojoties uz 5.0.2, uzlabotas ar atbalstu piesaistei utt.)
- XposedBridge.jar (tagad glabājas mapē /system/framework)
Esošo failu dublējumkopijas tiks izveidotas automātiski, un tās varēs atjaunot vēlāk.
Tas nedarbojas/man nepatīk! Kā es varu to atinstalēt?
Vienkāršākais veids ir atjaunot dublējumu vai mirgot sistēmas nodalījumu. Vēl ir jāizveido zip fails atinstalēšanai.
Kāpēc jūs nomaināt ART failus manā ierīcē? Tas ir invazīvāks nekā Dalvik, radīs ievērojamas veiktspējas problēmas un būs nestabils!
Esmu pierakstījis dažus iemeslus GitHub. Jā, tas ir invazīvāks, tāpēc es ilgu laiku esmu mēģinājis no tā izvairīties, taču no tehniskā un uz atbalstu orientētā viedokļa es domāju, ka tas ir labāks risinājums.
Mazāka veiktspēja nekā oriģinālajam ART? Iespējams, jo man bija jāatspējo dažas optimizācijas, lai padarītu iespējamus noteikta veida āķus. Tomēr tas ietekmē tikai daļu no visām metodēm, un pat tām veiktspējas zudums noteikti nav būtisks vai pamanāms, ja pat izmērāms. Joprojām ir tūkstošiem citu optimizāciju, ko veic ART, un es mēģināju atspējot pēc iespējas mazāk, vienlaikus nodrošinot pēc iespējas lielāku elastību.
Stabilitāte ir laba, kā minēts iepriekš. Salīdzinājumā ar pieeju, ko izmantoju Dalvik (pārveidojot izpildlaika iekšējās datu struktūras no app_process), esmu pat diezgan pārliecināts, ka pilnīga bibliotēku aizstāšana ir daudz uzticamāka veidā. Es varētu tīri integrēt savas izmaiņas esošajā kodā un atkārtoti izmantot saistītās funkcijas, savukārt citos veidos būtu nepieciešami daudzi uzlauzumi un pieņēmumi.
Vai beidzot publiskosit pirmkodu?
Protams, jūs to atradīsit GitHub ļoti drīz pēc alfa versijas izlaišanas, pagaidām atsevišķā filiālē.
Vai tas nozīmē, ka vecāka Android versija tagad vairs netiek atbalstīta?
Nē! Jaunais kods tiek kompilēts visās Android 4.x versijās, un tas ir tikai jāpārbauda pirms vienota izlaišanas. Bet vispirms man ir jāpārliecinās, ka tas darbojas labi Lollipop. Iespējams, ART atbalstu varētu pārsūtīt uz KitKat, taču tam ir mazāka prioritāte.
Kā es varu pateikties jums par jūsu darbu?
Daudzi cilvēki ir lūguši veidus, kā ziedot dažus dolārus, tāpēc esmu izveidojis a ziedojums lapa tagad.
Cik daudz man ir jāziedo, lai jūs pievienotu funkciju X vai moduli, kas nodrošina Y?
Tā nav ziedošana, tā ir samaksa kādam, gaidot turpmāko darbu. Mani neinteresē ārštata darbi.