Тестери Android N: ось чому ваші кореневі програми постійно виходять з ладу

click fraud protection

Ви любите жити на межі кровоточивості, тому ви стрибнули на борт і встановили нові попередні версії Android N від Google. Якщо ви використовуєте це програмне забезпечення як свій щоденний драйвер (можливо, вам подобається, що все аварійно завершується та горить, хто знає?), то ви, ймовірно, помітили, що багато ваших улюблених програм взагалі не працюють. Ви встановили бета-версію Chainfire SuperSU для Android N, щоб полегшити деякі страждання завдяки кращому контролю системи, але багато кореневих програм також ламаються. чому І як їх можна виправити? За матеріалами 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 і поступово замінює ящик для інструментів реалізація для різних команд.

Ці команди в основному використовуються кореневими програмами, сценаріями пристроїв і користувачами оболонки adb/емулятора терміналу.

Щодо того, чому раніше ви, швидше за все, стикалися з проблемами, пов’язаними з toolbox або busybox, за Chainfire:

Багатьом кореневим програмам потрібно виконувати команди, надані цими полями. Хоча базова команда загалом однакова, прийнятні параметри, точна робота та вихідні дані відрізнятимуться між реалізаціями та різними версіями цих реалізацій.

По суті, оскільки для деяких із ваших кореневих програм потрібна одна конкретна команда, яку можна знайти в одному вікні, а для іншої програми може знадобитися інша конкретна команда в іншій коробці багато користувачів мали проблеми з тим, щоб певні кореневі програми працювали належним чином, оскільки їх реалізація коробки не має належного команди. Це викликає головний біль у таких розробників, як Chainfire, яким доводиться мати справу з користувачами, які цікавляться, чому їхня програма не працює. Більшість користувачів, ймовірно, мають одну реалізацію busybox встановлено, але розробники можуть дзвонити ящик для інструментів безпосередньо, а не сподіватися, що ваша інсталяція має відповідні команди з належними параметрами, необхідними для роботи кореневої програми. Однак це обхідне рішення не працює в Android N. За Chainfire:

На жаль, у N Preview, кріплення для ящика для іграшок замінив кріплення ящика для інструментів як реалізацію за умовчанням, і навіть гірше, кріплення ящика для інструментів було видалено, тому ви не можете повернутися до нього. Поки кріплення для ящика для іграшок здається, позбувся своєї саги про помилки сегментів, але насправді він все ще не працює. Не так добре, як ящик для інструментів реалізацію, яку він замінив, принаймні.

Ось чому ваші кореневі програми на Android N не працюють. Chainfire спробував частково виправити деякі зі зламаних програм, які використовують популярні форми команди mount, застосувавши виправлення в SuperSU 2.70, однак не всі програми буде виправлено. Якщо ви кінцевий користувач, ви нічого не зможете з цим зробити, доки розробник вашої улюбленої програми не оновить її. Якщо ви розробник і цікавитесь, чому користувачі Android N мають проблеми, ви варто прочитати повний допис Chainfire щоб зрозуміти, як виправити програму.


Чи були у вас збої будь-яких кореневих програм під час використання Android N? Повідомте всіх у коментарях нижче (і особливо спробуйте зв’язатися з розробником)!