Testeurs Android N: voici pourquoi vos applications racine continuent d'échouer

Vous aimez vivre à la pointe de la technologie, alors vous avez embarqué et installé les nouvelles versions préliminaires d'Android N de Google. Si vous utilisez le logiciel comme pilote quotidien (peut-être que vous aimez les choses qui plantent et brûlent, qui sait ?), vous avez probablement remarqué que bon nombre de vos applications préférées ne fonctionnent tout simplement pas du tout. Vous avez flashé la version bêta SuperSU de Chainfire pour Android N pour atténuer une partie de la misère avec un meilleur contrôle du système, mais de nombreuses applications racine tombent également en panne. Pourquoi? Et comment les réparer? Selon Chainfire, la raison est que Google s'éloigne de boîte à outils vers coffre à jouets (et ce depuis Android Marshmallow), et a maintenant supprimé support de boîte à outils soutien. Si vous avez déjà rencontré des problèmes avec les applications root, vous avez probablement déjà vu le mot « boîte à outils ». Si ce n’est pas le cas, je laisse Chainfire vous expliquer de quoi il s’agit :

Les trois boîtes sur Android sont la boîte à outils, la boîte occupée et la boîte à jouets. Ces boîtes fournissent des implémentations pour diverses commandes Unix de base - similaires à celles fournies par GNU Core Utils sur diverses distributions Linux.

boîte à outils était jusqu'à récemment l'implémentation standard d'Android. boîte occupée est à peu près le boîtier standard en dehors d'Android, sous licence GPL et a été porté sur Android par beaucoup. coffre à jouets est une alternative sous licence BSD à boîte occupée créé par un ancien boîte occupée mainteneur. coffre à jouets est apparu pour la première fois sur Android dans M, et remplace lentement le boîte à outils implémentation de diverses commandes.

Ces commandes sont principalement utilisées par les applications racine, les scripts de périphérique et les utilisateurs d'émulateur de shell/terminal adb.

Quant à savoir pourquoi vous avez probablement déjà rencontré des problèmes liés à la boîte à outils ou à la boîte à occupé, selon Chainfire :

De nombreuses applications racine doivent exécuter les commandes fournies par ces boîtes. Bien que la commande de base soit généralement la même, les paramètres acceptés, le fonctionnement exact et le résultat diffèrent selon les implémentations et les différentes versions de ces implémentations.

Fondamentalement, puisque certaines de vos applications racine nécessitent une commande spécifique qui peut être trouvée dans une boîte, mais une autre application peut nécessiter une autre commande spécifique trouvée. dans une autre boîte, de nombreux utilisateurs ont eu des problèmes pour faire fonctionner correctement certaines applications racine car l'implémentation de leur boîte n'a pas tous les droits commandes. Cela provoque des maux de tête pour les développeurs tels que Chainfire qui doivent faire face à des utilisateurs qui se demandent pourquoi leur application ne fonctionne pas. La plupart des utilisateurs ont probablement une implémentation de busybox installé, mais les développeurs peuvent appeler boîte à outils directement plutôt que d'espérer que votre installation dispose des commandes appropriées avec les paramètres appropriés nécessaires au fonctionnement de leur application racine. Cependant, cette solution de contournement est interrompue dans Android N. Par Chainfire :

Malheureusement, sur N Preview, support de coffre à jouets a été remplacé support de boîte à outils comme implémentation par défaut, et pire encore, support de boîte à outils a été supprimé, vous ne pouvez donc pas y revenir. Alors que support de coffre à jouets semble s'être débarrassé de sa saga de défauts de segmentation, cela ne fonctionne toujours pas très bien. Pas aussi bien que le boîte à outils mise en œuvre qu’il a remplacée, au moins.

C'est pourquoi vos applications racine sur Android N échouent. Chainfire a essayé de réparer partiellement certaines des applications défectueuses qui utilisent des formes populaires de la commande mount en appliquant un correctif dans SuperSU 2.70. Cependant, toutes les applications ne seront pas corrigées. Si vous êtes un utilisateur final, vous ne pouvez rien y faire jusqu'à ce que le développeur de votre application préférée publie une mise à jour. Si vous êtes un développeur et que vous vous demandez pourquoi les utilisateurs d'Android N rencontrent des problèmes, vous je devrais lire le message complet de Chainfire pour avoir une idée de la façon de réparer votre application.


Avez-vous eu des applications racine qui ont échoué sous Android N? Faites-le savoir à tout le monde dans les commentaires ci-dessous (et surtout essayez de contacter le développeur) !