Android N testijad: siin on põhjus, miks teie juurrakendused ebaõnnestuvad

Sulle meeldib elada tõusuteel, nii et hüppasite pardale ja installisite Google'i uued Android N eelvaate järgud. Kui kasutate tarkvara igapäevase draiverina (võib-olla meeldib teile, et asjad jooksevad kokku ja põlevad, kes teab?), olete tõenäoliselt märganud, et paljud teie lemmikrakendused lihtsalt ei tööta. Olete käivitanud Chainfire'i SuperSU beetaversiooni Android N-ile, et leevendada mõningaid probleeme parema süsteemi juhtimisega, kuid ka paljud juurrakendused lähevad katki. Miks? Ja kuidas saab neid parandada? Chainfire'i sõnul, on põhjus selles, et Google nihkub eemale tööriistakast poole mänguasjade kast (ja on olnud alates Android Marshmallow'st) ja on nüüd eemaldatud tööriistakasti kinnitus toetus. Kui teil on varem juurrakendustega probleeme olnud, olete ilmselt varem näinud sõna "tööriistakast". Kui te seda pole, lasen Chainfire'il selgitada, mis see on:

Androidi kolm kasti on tööriistakast, hõivatud kast ja mängukast. Need kastid pakuvad rakendusi mitmesugustele põhiliste unixi käskudele – sarnaselt GNU Core Utilsi erinevatele Linuxi distributsioonidele pakutavatele.

tööriistakast oli kuni viimase ajani Androidi standardrakendus. kinnikast on peaaegu standardkast väljaspool Androidi, GPL-litsentsiga ja paljud on selle Androidi teisaldanud. mänguasjade kast on BSD-litsentsiga alternatiiv kinnikast endise loodud kinnikast hooldaja. mänguasjade kast ilmus esmakordselt Androidi versioonis M ja see asendab aeglaselt tööriistakast erinevate käskude rakendamine.

Neid käske kasutavad enamasti juurrakendused, seadme skriptid ja adb kesta / terminali emulaatori kasutajad.

Mis puutub sellesse, miks olete tõenäoliselt varem Chainfire'i kohta tööriistakastist või hõivatud probleemidest tulenevate probleemidega kokku puutunud:

Paljud juurrakendused peavad täitma nende kastide pakutavaid käske. Kuigi põhikäsk on üldiselt sama, erinevad aktsepteeritud parameetrid, täpne töö ja väljund rakenduste ja nende rakenduste erinevate versioonide vahel.

Põhimõtteliselt, kuna mõned teie juurrakendused nõuavad ühte kindlat käsku, mis võib olla ühes kastis, kuid mõni teine ​​rakendus võib vajada teist kindlat käsku mõnes teises kastis on paljudel kasutajatel olnud probleeme teatud juurrakenduste õigeks toimimiseks, kuna nende kasti rakendamisel ei ole kõiki õigeid käske. See põhjustab peavalu sellistele arendajatele nagu Chainfire, kes peavad tegelema kasutajatega, kes mõtlevad, miks nende rakendus ei tööta. Enamikul kasutajatel on tõenäoliselt üks b-rakendususybox installitud, kuid arendajad saavad helistada tööriistakast selle asemel, et loota, et teie installil on õiged käsud koos õigete parameetritega, mis on vajalikud nende juurrakenduse toimimiseks. Android N-s on see lahendus siiski katki. Ketitule kohta:

Kahjuks on N eelvaates mänguasjakasti kinnitus on välja vahetanud tööriistakasti kinnitus vaikerakendusena ja veelgi hullem, tööriistakasti kinnitus on eemaldatud, nii et te ei saa selle juurde tagasi pöörduda. Kuigi mänguasjakasti kinnitus tundub, et on oma segfaultide saagast lahti saanud, ei tööta see ikka veel nii hästi. Mitte peaaegu nii hästi kui tööriistakast selle on vähemalt asendanud.

See on põhjus, miks teie Android N juurrakendused ebaõnnestuvad. Chainfire on proovinud osaliselt parandada mõnda katkist rakendust, mis kasutavad mount-käsu populaarseid vorme, rakendades SuperSU 2.70-s paranduse, kuid kõiki rakendusi ei parandata. Kui olete lõppkasutaja, ei saa te sellega midagi ette võtta enne, kui teie lemmikrakenduse arendaja saadab värskenduse. Kui olete arendaja, kes mõtleb, miks Android N kasutajatel on probleeme, siis teie peaks lugema Chainfire'i täielikku postitust et saada aimu, kuidas oma rakendust parandada.


Kas teil on Android N-i kasutamisel mõni juurrakendus ebaõnnestunud? Andke kõigile allolevates kommentaarides teada (ja eriti püüdke arendaja poole pöörduda)!