Testeri Android N: iată de ce aplicațiile dvs. rădăcină continuă să eșueze

Îți place să trăiești la vârf, așa că ai urcat la bord și ai instalat noile versiuni de previzualizare Android N de la Google. Dacă rulați software-ul ca driver zilnic (poate că vă plac lucrurile care se prăbușesc și se ard, cine știe?), atunci probabil că ați observat că multe dintre aplicațiile dvs. preferate pur și simplu nu funcționează deloc. Ați afișat versiunea beta SuperSU a lui Chainfire pentru Android N pentru a atenua o parte din mizeria cu un control mai bun al sistemului, dar multe aplicații root se defectează. De ce? Și cum pot fi remediate? Potrivit Chainfire, motivul este că Google se îndepărtează de trusa de scule către cutie de jucării (și a fost încă de la Android Marshmallow) și are acum îndepărtat suport pentru cutia de scule a sustine. Dacă ați avut probleme cu aplicațiile root în trecut, probabil că ați mai văzut cuvântul „cutie de instrumente”. Dacă nu ați făcut-o, îl voi lăsa pe Chainfire să explice despre ce este vorba:

Cele trei casete de pe Android sunt cutia de instrumente, cutia ocupată și cutia de jucării. Aceste casete oferă implementări pentru diverse comenzi de bază Unix - similare cu cele oferite de GNU Core Utils pe diferite distribuții Linux.

trusa de scule a fost până de curând implementarea standard pentru Android. busybox este aproape cutia standard din afara Android, cu licență GPL și a fost portată pe Android de mulți. cutie de jucării este o alternativă licențiată BSD la busybox creat de un fost busybox întreţinător. cutie de jucării a apărut pentru prima dată pe Android în M și înlocuiește încet trusa de scule implementare pentru diverse comenzi.

Aceste comenzi sunt utilizate în principal de aplicațiile root, scripturile de dispozitiv și utilizatorii de emulator adb shell / terminal.

În ceea ce privește motivul pentru care probabil ați întâmpinat probleme care decurg din cutia de instrumente sau cutia ocupată înainte, pe Chainfire:

Multe aplicații root trebuie să execute comenzi furnizate de aceste casete. În timp ce comanda de bază este în general aceeași, parametrii acceptați, funcționarea exactă și rezultatul, vor diferi între implementări și diferite versiuni ale acelor implementări.

Practic, deoarece unele dintre aplicațiile dvs. rădăcină necesită o comandă specifică care poate fi găsită într-o cutie, dar o altă aplicație poate necesita o altă comandă specifică găsită într-o altă casetă, mulți utilizatori au avut probleme în a obține anumite aplicații root să funcționeze corect, deoarece implementarea casetei lor nu are toate drepturile comenzi. Acest lucru provoacă o bătaie de cap pentru dezvoltatorii precum Chainfire, care trebuie să se ocupe de utilizatorii care se întreabă de ce aplicația lor nu funcționează. Majoritatea utilizatorilor au probabil o implementare a busybox instalat, dar dezvoltatorii pot apela trusa de scule direct, în loc să sperați că instalarea dvs. are comenzile adecvate cu parametrii corespunzători necesari pentru ca aplicația lor rădăcină să funcționeze. Cu toate acestea, această soluție este întreruptă în Android N. Pe Chainfire:

Din păcate, pe N Preview, suport pentru cutia de jucării a înlocuit suport pentru cutia de scule ca implementare implicită și chiar mai rău, suport pentru cutia de scule a fost eliminat, așa că nu puteți reveni la el. In timp ce suport pentru cutia de jucării Se pare că a scăpat de saga sa de segfaults, încă nu funcționează chiar atât de bine. Nu la fel de bine ca trusa de scule implementarea pe care a înlocuit-o, cel puțin.

Acesta este motivul pentru care aplicațiile dvs. rădăcină de pe Android N nu reușesc. Chainfire a încercat să repare parțial unele dintre aplicațiile stricate care folosesc forme populare ale comenzii mount prin aplicarea unei remedieri în SuperSU 2.70, cu toate acestea, nu toate aplicațiile vor fi remediate. Dacă sunteți un utilizator final, nu puteți face nimic în această privință până când dezvoltatorul aplicației dvs. preferate va împinge o actualizare. Dacă sunteți un dezvoltator și vă întrebați de ce utilizatorii de pe Android N au probleme, dvs ar trebui să citească postul complet al lui Chainfire pentru a înțelege cum să vă remediați aplicația.


Ați avut vreo aplicație root eșuată în timp ce aveți Android N? Spuneți tuturor în comentariile de mai jos (și mai ales încercați să contactați dezvoltatorul)!