Android N -testaajat: Tästä syystä juurisovelluksesi epäonnistuvat

Rakastat asumista syrjäisellä alueella, joten hyppäsit kyytiin ja asensit Googlen uudet Android N -esikatseluversiot. Jos käytät ohjelmistoa päivittäisenä ajurina (ehkä pidät asioiden kaatumisesta ja palamisesta, kuka tietää?), olet todennäköisesti huomannut, että monet suosikkisovelluksesi eivät yksinkertaisesti toimi ollenkaan. Olet päivittänyt Chainfiren SuperSU-betaversion Android N: lle lievittääksesi kurjuutta paremmalla järjestelmän ohjauksella, mutta myös monet pääsovellukset hajoavat. Miksi? Ja miten ne voidaan korjata? Chainfiren mukaan, syynä on se, että Google on siirtymässä pois työkalupakki kohti lelulaatikko (ja on ollut Android Marshmallow'sta lähtien) ja on nyt poistettu työkalulaatikon kiinnitys tuki. Jos sinulla on aiemmin ollut ongelmia juurisovellusten kanssa, olet luultavasti nähnyt sanan "työkalupakki" aiemmin. Jos et ole, annan Chainfiren selittää, mikä se on:

Androidin kolme laatikkoa ovat työkalulaatikko, busybox ja toybox. Nämä laatikot tarjoavat toteutuksia erilaisille unix-peruskomennoille - samankaltaisia ​​kuin GNU Core Utils tarjoaa erilaisille Linux-jakeluille.

työkalupakki oli viime aikoihin asti tavallinen Android-toteutus. varattu laatikko on melko lailla tavallinen laatikko Androidin ulkopuolella, GPL-lisensoitu, ja monet ovat siirtäneet sen Androidille. lelulaatikko on BSD-lisensoitu vaihtoehto varattu laatikko entisen luoma varattu laatikko ylläpitäjä. lelulaatikko ilmestyi ensimmäisen kerran Androidille M-versiossa, ja se korvaa hitaasti työkalupakki eri komentojen toteutus.

Näitä komentoja käyttävät enimmäkseen juurisovellukset, laiteskriptit ja adb-kuori/pääte-emulaattorin käyttäjät.

Mitä tulee siihen, miksi olet todennäköisesti törmännyt työkalulaatikosta tai busyboxista johtuviin ongelmiin aiemmin, Chainfire-kohtaisesti:

Monien juurisovellusten on suoritettava näiden laatikoiden antamat komennot. Vaikka peruskomento on yleensä sama, hyväksytyt parametrit, tarkka toiminta ja tulos vaihtelevat toteutuksissa ja näiden toteutusten eri versioissa.

Periaatteessa, koska jotkin juurisovelluksesi vaativat yhden tietyn komennon, joka saattaa löytyä yhdestä laatikosta, mutta toinen sovellus saattaa vaatia toisen erityisen komennon löytymisen. toisessa laatikossa monilla käyttäjillä on ollut ongelmia saada tiettyjä juurisovelluksia toimimaan kunnolla, koska heidän laatikkototeutuksellaan ei ole kaikkia oikeita komentoja. Tämä aiheuttaa päänsärkyä Chainfiren kaltaisille kehittäjille, jotka joutuvat tekemisiin käyttäjien kanssa, jotka ihmettelevät, miksi heidän sovelluksensa ei toimi. Useimmilla käyttäjillä on luultavasti yksi toteutus bkäyttölaatikko asennettu, mutta kehittäjät voivat soittaa työkalupakki suoraan sen sijaan, että toivoisit asennuksessasi oikeat komennot ja oikeat parametrit, jotka ovat välttämättömiä juurisovelluksen toimimiseksi. Tämä kiertotapa on kuitenkin rikki Android N: ssä. Per Chainfire:

Valitettavasti N-esikatselussa lelulaatikon teline on korvannut työkalulaatikon kiinnitys oletustoteutus, ja mikä vielä pahempaa, työkalulaatikon kiinnitys on poistettu, joten et voi palata siihen. Sillä aikaa lelulaatikon teline Näyttää siltä, ​​että se on päässyt eroon segfault-saagastaan, mutta se ei vieläkään toimi kovin hyvin. Ei läheskään yhtä hyvin kuin työkalupakki täytäntöönpano se on ainakin korvannut.

Tästä syystä Android N: n juurisovelluksesi epäonnistuvat. Chainfire on yrittänyt korjata osittain joitakin rikkinäisiä sovelluksia, jotka käyttävät suosittuja mount-komennon muotoja, käyttämällä korjausta SuperSU 2.70:ssä, mutta kaikkia sovelluksia ei korjata. Jos olet loppukäyttäjä, et voi tehdä asialle mitään, ennen kuin suosikkisovelluksesi kehittäjä julkaisee päivityksen. Jos olet kehittäjä ja ihmettelet, miksi Android N: n käyttäjillä on ongelmia, sinä kannattaa lukea Chainfiren koko viesti saadaksesi käsityksen sovelluksesi korjaamisesta.


Onko jokin juurisovellus epäonnistunut Android N: ssä? Kerro kaikille alla olevissa kommenteissa (ja erityisesti yritä ottaa yhteyttä kehittäjään)!