Android N Testers: Να γιατί οι εφαρμογές ρίζας σας συνεχίζουν να αποτυγχάνουν

Λατρεύετε να ζείτε στην αιμορραγία, γι' αυτό επιβιβαστείτε και εγκαταστήσατε τις νέες εκδόσεις προεπισκόπησης Android N της Google. Εάν χρησιμοποιείτε το λογισμικό ως καθημερινό πρόγραμμα οδήγησης (ίσως σας αρέσει να κολλάνε και να καίγονται, ποιος ξέρει;), τότε πιθανότατα έχετε παρατηρήσει ότι πολλές από τις αγαπημένες σας εφαρμογές απλά δεν λειτουργούν καθόλου. Πραγματοποιήσατε flash το SuperSU beta του Chainfire για το Android N για να ανακουφίσετε λίγη από τη δυστυχία με καλύτερο έλεγχο του συστήματος, αλλά πολλές εφαρμογές root έχουν επίσης χαλάσει. Γιατί; Και πώς μπορούν να διορθωθούν; Σύμφωνα με το Chainfire, ο λόγος είναι επειδή η Google απομακρύνεται από εργαλειοθήκη προς κουτί παιχνιδιών (και είναι από το Android Marshmallow), και έχει τώρα αφαιρέθηκε βάση εργαλειοθήκης υποστήριξη. Εάν είχατε προβλήματα με τις εφαρμογές root στο παρελθόν, πιθανότατα θα έχετε ξαναδεί τη λέξη «εργαλειοθήκη». Εάν δεν το έχετε, θα αφήσω το Chainfire να εξηγήσει τι είναι:

Τα τρία κουτιά στο Android είναι εργαλειοθήκη, busybox και toybox. Αυτά τα πλαίσια παρέχουν υλοποιήσεις για διάφορες βασικές εντολές unix - παρόμοιες με αυτές που παρέχει το GNU Core Utils σε διάφορες διανομές Linux.

εργαλειοθήκη ήταν μέχρι πρόσφατα η τυπική εφαρμογή Android. busybox είναι σχεδόν το τυπικό πλαίσιο εκτός Android, με άδεια GPL και έχει μεταφερθεί στο Android από πολλούς. κουτί παιχνιδιών είναι μια εναλλακτική λύση με άδεια BSD busybox που δημιουργήθηκε από έναν πρώην busybox συντηρητής. κουτί παιχνιδιών εμφανίστηκε για πρώτη φορά στο Android στο M, και σιγά σιγά αντικαθιστά το εργαλειοθήκη υλοποίηση για διάφορες εντολές.

Αυτές οι εντολές χρησιμοποιούνται ως επί το πλείστον από εφαρμογές root, σενάρια συσκευών και χρήστες του κελύφους / τερματικού adb.

Όσο για το γιατί πιθανότατα έχετε αντιμετωπίσει προβλήματα που προέρχονται από την εργαλειοθήκη ή το busybox στο παρελθόν, ανά Chainfire:

Πολλές εφαρμογές root πρέπει να εκτελούν εντολές που παρέχονται από αυτά τα πλαίσια. Ενώ η βασική εντολή είναι γενικά η ίδια, οι αποδεκτές παράμετροι, η ακριβής εργασία και η έξοδος, θα διαφέρουν μεταξύ των υλοποιήσεων και των διαφορετικών εκδόσεων αυτών των υλοποιήσεων.

Βασικά, δεδομένου ότι ορισμένες από τις εφαρμογές root απαιτούν μια συγκεκριμένη εντολή που μπορεί να βρεθεί σε ένα πλαίσιο, αλλά μια άλλη εφαρμογή μπορεί να απαιτεί να βρεθεί μια άλλη συγκεκριμένη εντολή σε ένα άλλο πλαίσιο, πολλοί χρήστες αντιμετώπισαν προβλήματα με τη σωστή λειτουργία ορισμένων εφαρμογών root επειδή η εφαρμογή του πλαισίου τους δεν έχει όλα τα σωστά εντολές. Αυτό προκαλεί πονοκέφαλο σε προγραμματιστές όπως το Chainfire που πρέπει να αντιμετωπίσουν τους χρήστες που αναρωτιούνται γιατί η εφαρμογή τους δεν λειτουργεί. Οι περισσότεροι χρήστες έχουν πιθανώς μία υλοποίηση του busybox εγκατεστημένο, αλλά οι προγραμματιστές μπορούν να καλέσουν εργαλειοθήκη απευθείας αντί να ελπίζετε ότι η εγκατάσταση σας έχει τις κατάλληλες εντολές με τις κατάλληλες παραμέτρους που είναι απαραίτητες για τη λειτουργία της ριζικής εφαρμογής τους. Ωστόσο, αυτή η λύση είναι σπασμένη στο Android N. Ανά Chainfire:

Δυστυχώς, στο N Preview, βάση παιχνιδιών έχει αντικαταστήσει βάση εργαλειοθήκης ως προεπιλεγμένη υλοποίηση, και ακόμη χειρότερα, βάση εργαλειοθήκης έχει αφαιρεθεί, επομένως δεν μπορείτε να επιστρέψετε σε αυτό. Ενώ βάση παιχνιδιών φαίνεται να έχει ξεφορτωθεί το έπος των segfaults, εξακολουθεί να μην λειτουργεί τόσο καλά. Όχι σχεδόν τόσο καλά όσο το εργαλειοθήκη έχει αντικαταστήσει, τουλάχιστον.

Αυτός είναι ο λόγος για τον οποίο οι εφαρμογές root στο Android N αποτυγχάνουν. Το Chainfire προσπάθησε να διορθώσει εν μέρει ορισμένες από τις κατεστραμμένες εφαρμογές που χρησιμοποιούν δημοφιλείς μορφές της εντολής προσάρτησης εφαρμόζοντας μια επιδιόρθωση στο SuperSU 2.70, ωστόσο, δεν θα διορθωθούν όλες οι εφαρμογές. Εάν είστε τελικός χρήστης, δεν μπορείτε να κάνετε τίποτα για αυτό έως ότου ο προγραμματιστής της αγαπημένης σας εφαρμογής προωθήσει μια ενημέρωση. Εάν είστε προγραμματιστής και αναρωτιέστε γιατί οι χρήστες στο Android N αντιμετωπίζουν προβλήματα, εσείς θα πρέπει να διαβάσετε την πλήρη ανάρτηση του Chainfire για να κατανοήσετε πώς να διορθώσετε την εφαρμογή σας.


Είχατε αποτυχία κάποιας εφαρμογής root ενώ βρίσκεστε στο Android N; Ενημερώστε όλους στα σχόλια παρακάτω (και κυρίως προσπαθήστε να επικοινωνήσετε με τον προγραμματιστή)!