Android N-Tester: Hier ist der Grund, warum Ihre Root-Apps weiterhin fehlschlagen

Sie lieben es, am Puls der Zeit zu leben, also sind Sie an Bord und haben Googles neue Android N-Vorschau-Builds installiert. Wenn Sie die Software als Ihren täglichen Treiber ausführen (vielleicht mögen Sie es, wenn Dinge abstürzen und brennen, wer weiß?), Dann haben Sie wahrscheinlich bemerkt, dass viele Ihrer Lieblings-Apps einfach überhaupt nicht funktionieren. Sie haben die SuperSU-Betaversion von Chainfire für Android N geflasht, um einige Probleme mit einer besseren Systemsteuerung zu lindern. Viele Root-Apps brechen jedoch ebenfalls. Warum? Und wie können sie behoben werden? Laut Chainfire liegt der Grund darin, dass Google von der Toolbox zur Toybox übergeht (und dies seit Android Marshmallow) und nun die Unterstützung für die Toolbox-Montage entfernt hat. Wenn Sie in der Vergangenheit Probleme mit Root-Apps hatten, haben Sie das Wort "Toolbox" wahrscheinlich schon einmal gesehen. Wenn nicht, lasse ich Chainfire erklären, was es ist:

Die drei Boxen auf Android sind Toolbox, Busybox und Toybox. Diese Felder bieten Implementierungen für verschiedene grundlegende Unix-Befehle - ähnlich denjenigen, die GNU Core Utils für verschiedene Linux-Distributionen bereitstellt.

Toolbox war bis vor kurzem die Standard-Android-Implementierung. busybox ist so ziemlich die Standard-Box außerhalb von Android, GPL-lizenziert und wurde von vielen auf Android portiert. toybox ist eine BSD-lizenzierte Alternative zu busybox, die von einem früheren Betreuer von busybox erstellt wurde. toybox erschien zuerst auf Android in M ​​und ersetzt langsam die Toolbox- Implementierung für verschiedene Befehle.

Diese Befehle werden hauptsächlich von Root-Apps, Geräteskripten und Benutzern der ADB-Shell / Terminal-Emulation verwendet.

Was den Grund angeht, warum Sie wahrscheinlich schon einmal auf Probleme gestoßen sind, die sich aus der Toolbox oder der Busybox ergeben:

Viele Root-Apps müssen Befehle ausführen, die von diesen Boxen bereitgestellt werden. Während der Basisbefehl im Allgemeinen derselbe ist, unterscheiden sich die akzeptierten Parameter, die genaue Funktionsweise und die Ausgabe zwischen den Implementierungen und den verschiedenen Versionen dieser Implementierungen.

Da für einige Ihrer Root-Apps ein bestimmter Befehl erforderlich ist, der sich in einer Box befindet, für andere Apps jedoch ein anderer bestimmter Befehl in einer anderen Box erforderlich ist, hatten viele Benutzer Probleme, bestimmte Root-Apps zum ordnungsgemäßen Funktionieren zu bringen, da ihre Box-Implementierung nicht funktioniert. Ich habe nicht die richtigen Befehle. Dies bereitet Entwicklern wie Chainfire Kopfzerbrechen, die sich mit Benutzern befassen müssen, die sich fragen, warum ihre App nicht funktioniert. Die meisten Benutzer haben wahrscheinlich eine Implementierung von b usybox installiert, aber Entwickler können die Toolbox direkt aufrufen, anstatt zu hoffen, dass Ihre Installation die richtigen Befehle mit den richtigen Parametern enthält, die für das Funktionieren ihrer Stammanwendung erforderlich sind. Diese Problemumgehung ist jedoch in Android N fehlerhaft. Per Chainfire:

Leider wurde in N Preview die Toolbox- Bereitstellung durch die Toybox-Bereitstellung als Standardimplementierung ersetzt, und noch schlimmer, die Toolbox-Bereitstellung wurde entfernt, sodass Sie nicht darauf zurückgreifen können. Zwar scheint die Toybox-Halterung ihre Segfaults-Saga hinter sich gelassen zu haben, sie funktioniert aber immer noch nicht so gut. Zumindest nicht annähernd so gut wie die Toolbox- Implementierung, die es ersetzt hat.

Aus diesem Grund schlagen Ihre Root-Apps auf Android N fehl. Chainfire hat versucht, einige der defekten Apps, die gängige Formen des Befehls mount verwenden, teilweise zu reparieren, indem ein Fix in SuperSU 2.70 angewendet wurde. Es werden jedoch nicht alle Apps repariert. Wenn Sie ein Endbenutzer sind, können Sie nichts dagegen tun, bis der Entwickler Ihrer Lieblings-App ein Update veröffentlicht. Wenn Sie sich als Entwickler fragen, warum Benutzer auf Android N Probleme haben, sollten Sie den vollständigen Beitrag von Chainfire lesen, um zu erfahren, wie Sie Ihre App reparieren können.


Wurden Root-Apps unter Android N nicht ausgeführt? Lass es alle in den Kommentaren unten wissen (und versuche besonders, den Entwickler zu erreichen)!