Обичате да живеете на ръба на кървящия ръб, така че се качихте на борда и инсталирахте новите версии на Google за предварителен преглед на Android N. Ако използвате софтуера като ежедневен драйвер (може би харесвате нещата да се сриват и записват, кой знае?), тогава вероятно сте забелязали, че много от любимите ви приложения просто не работят изобщо. Вие пуснахте SuperSU бета версията на Chainfire за Android N, за да облекчите част от мизерията с по-добър системен контрол, но много root приложения също се повреждат. Защо? И как могат да бъдат поправени? Според Chainfire, причината е, че Google се отдалечава от кутия за инструменти към кутия за играчки (и е от времето на Android Marshmallow) и има сега отстранени монтаж на кутия за инструменти поддържа. Ако сте имали проблеми с root приложения в миналото, вероятно сте виждали думата „кутия с инструменти“ преди. Ако не сте, ще оставя Chainfire да обясни какво е това:
Трите кутии на Android са toolbox, busybox и toybox. Тези кутии предоставят реализации за различни основни Unix команди - подобни на тези, които GNU Core Utils предоставя на различни Linux дистрибуции.
кутия за инструменти доскоро беше стандартната реализация на Android. busybox е до голяма степен стандартната кутия извън Android, GPL лицензирана и е пренесена към Android от много хора. кутия за играчки е лицензирана от BSD алтернатива на busybox създаден от бивш busybox поддържащ. кутия за играчки се появи за първи път на Android в M и бавно заменя кутия за инструменти изпълнение за различни команди.
Тези команди се използват най-вече от root приложения, скриптове на устройства и потребители на adb shell/терминален емулатор.
Що се отнася до това защо вероятно сте се сблъсквали с проблеми, произтичащи от toolbox или busybox преди, за Chainfire:
Много root приложения трябва да изпълняват команди, предоставени от тези полета. Докато основната команда като цяло е една и съща, приетите параметри, точната работа и изходът ще се различават между реализациите и различните версии на тези реализации.
По принцип, тъй като някои от вашите основни приложения изискват една конкретна команда, която може да бъде намерена в едно поле, но друго приложение може да изисква друга намерена конкретна команда в друга кутия много потребители са имали проблеми с правилното функциониране на някои root приложения, тъй като внедряването на кутията им не е правилно команди. Това причинява главоболие на разработчици като Chainfire, които трябва да се справят с потребителите, които се чудят защо приложението им не работи. Повечето потребители вероятно имат една реализация на busybox инсталиран, но разработчиците могат да се обадят кутия за инструменти директно, вместо да се надявате вашата инсталация да има правилните команди с правилните параметри, необходими за функционирането на тяхното основно приложение. Това решение обаче е повредено в Android N. За Chainfire:
За съжаление, в N Preview, стойка за кутия за играчки е заменил монтаж на кутия за инструменти като изпълнение по подразбиране и дори по-лошо, монтаж на кутия за инструменти е премахнат, така че не можете да се върнете към него. Докато стойка за кутия за играчки изглежда, че се е отървал от сагата си със сегментни грешки, но всъщност все още не работи толкова добре. Не толкова добре, колкото кутия за инструменти изпълнението, което е заменил поне.
Ето защо вашите root приложения на Android N се провалят. Chainfire се опита частично да коригира някои от повредените приложения, които използват популярни форми на командата mount, като приложи корекция в SuperSU 2.70, но не всички приложения ще бъдат коригирани. Ако сте краен потребител, няма какво да направите по въпроса, докато разработчикът на любимото ви приложение не пусне актуализация. Ако сте разработчик и се чудите защо потребителите на Android N имат проблеми, вие трябва да прочетете цялата публикация на Chainfire за да разберете как да коригирате приложението си.
Имали ли сте руут приложения да се провалят, докато сте на Android N? Уведомете всички в коментарите по-долу (и особено се опитайте да се свържете с разработчика)!