0 votes

le dossier data/app présente des noms de dossiers erronés

Après avoir manipulé le framework xposed et installé de nombreux modules, je me suis retrouvé dans une boucle de démarrage (classique !), mais je savais que la solution était d'ajouter un module disabled dans data/app/de.rovb.android.xposed.installer/conf/ pour désactiver xposed et désinstaller les modules défectueux.

Le problème est que, la plupart du temps, lorsque j'accède à ce dossier, je ne vois pas les noms de dossiers corrects, qui sont censés ressembler à ceci : com.xyz.app.* . Au lieu de cela, je vois com.xyz.app.*-1 dossiers, contenant un lib et le dossier de l'application .apk fichier. Je dois redémarrer en mode récupération une douzaine de fois avant de pouvoir accéder aux dossiers.

J'exécute CyanogenMod 12S (5.0.2) sur un OnePlus One (enraciné).

Je n'ai aucune idée de ce qui se passe, et je n'ai trouvé aucune information à ce sujet. Quelqu'un sait-il pourquoi cela se produit ?

Merci d'avance !

4voto

Firelord Points 23064

Tirons au clair certaines confusions. Des choses à ne jamais oublier :

  • /data/app contient l'APK d'une application.

    (PACKAGE → <a href="https://android.stackexchange.com/questions/28767/view-apps-full-package-name">nom du paquet d'une application </a>)

    • Android 4.x : si l'application est installée à l'aide du programme d'installation d'Android, le nom du fichier sera le suivant PACKAGE-*.apk où * est souvent un nombre entier positif.

      /data/app n'est pas censé contenir de répertoire.

    • Android 5.x : si l'application est installée à l'aide du programme d'installation de paquets, un répertoire sera créé pour l'application sous le nom de PACKAGE-* où * est souvent un nombre entier positif. Ce répertoire contient l'APK de l'application avec le nom base.apk .

  • Pour Android 4.x et 5.x, /data/data contient uniquement les données des applications. Toutes les applications se voient attribuer un répertoire dont le nom est strictement le nom du paquet de l'application.

  • Pour Android 4.x et 5.x, /data/lib contient uniquement la bibliothèque (facultative) des applications. Toutes les applications se voient attribuer un répertoire dont le nom est PACKAGE-* où * est souvent un nombre entier positif.

Passons maintenant à la vraie question.


Lorsque vous traitez des problèmes de démarrage causés par un module Xposed, ne vous égarez pas ici et là.

Note :

  • L'appareil doit être démarré dans un programme de récupération personnalisé, la partition de données doit être montée à cet endroit. adb dans le PC.
  • PACKAGE → nom du paquet du module Xposed ici
  • Sauf mention contraire explicite, la solution fonctionnerait sur les versions Android 4.2.1 - 5.1.1.

Quand vous saurez quel module est à l'origine du problème de démarrage.

Aller à /data/app et supprimer l'APK du module en question. Cela peut être fait à partir de l'interface graphique de TWRP.

Vous pouvez utiliser la ligne de commande comme alternative

adb shell rm /data/app/PACKAGE\*.apk

Une approche moins extrême consiste à désactiver le module Xposed mais pas à le supprimer. Allez dans le répertoire de données de l'installateur Xposed. /data/data/de.robv.android.xposed.installer Allez à l'intérieur. conf et supprimez l'entrée pour votre module dans modules.list . C'est vous qui décidez de la manière dont vous retirez la ligne.

  • Vous pouvez transférer le fichier dans le PC, y apporter des modifications et le renvoyer.
  • Je choisirais plutôt la ligne de commande

    adb shell sed -i '/.\*PACKAGE.\*/d' /data/data/de.robv.android.xposed.installer/conf/modules.list

    sed est un éditeur de flux et il supprime toute ligne qui contient le nom du paquetage du module à partir de modules.list .

En cas de doute sur le module exact qui cause le problème de démarrage.

  • Allez dans le répertoire de données de l'installateur Xposed. /data/data/de.robv.android.xposed.installer Allez à l'intérieur. conf et supprimer, renommer ou révoquer la permission de lecture de modules.list .

  • Alternativement, créez un fichier vierge nommé disabled (pas disable ) à l'intérieur conf répertoire. Ainsi, Xposed Framework n'activerait aucun module lors du démarrage. Vous pouvez créer le fichier en utilisant la ligne de commande

    adb shell touch /data/data/de.robv.android.xposed.installer/conf/disabled
  • Une autre alternative Selon le développeur du cadre de travail, rovo89, la situation est la suivante

    [Il est] possible de désactiver Xposed en appui répété sur l'un des boutons du matériel pendant le début du démarrage . Le téléphone vibre deux fois lorsque la première pression sur une touche a été détectée. Vous avez ensuite cinq secondes pour appuyer quatre fois de plus sur la même touche. Chaque pression sur une touche sera confirmée par une courte vibration, la dernière par une longue vibration. Il crée /data/data/de.robv.android.xposed.installer/conf/disabled qui empêche la plupart des actions d'Xposed (par exemple ... aucun module n'est chargé). Il n'y a pas de garantie à 100% que cela vous sortira d'une boucle de démarrage, mais dans la plupart des cas, cela devrait.

    (C'est moi qui souligne)

Supprimer Xposed Framework en dernier recours

Android 4.2.x - 4.4.x

Utilisez le fichier Xposed-Disabler-Recovery.zip situé à /sdcard/Android/data/de.robv.android.xposed.installer/files . Flashez ce fichier à partir du mode de récupération pour désactiver Xposed Framework. Cela ne supprime pas l'application Installer.

Téléchargez le fichier à partir de sujet officiel si vous n'en avez pas.

Cette archive, en substance, change /system/bin/app_process.orig à /system/bin/app_process . Vous pouvez effectuer ces modifications par vous-même en utilisant adb en mode récupération.

Android 5.x

En sujet officiel héberge un fichier de désinstallation. Téléchargez le fichier correspondant à l'architecture de votre processeur et lancez-le en mode récupération.

Si vous n'utilisez pas le cadre officiel Xposed, le désinstalleur peut ne pas fonctionner pour vous. Il peut même causer des problèmes imprévus. Le mieux est de chercher le désinstalleur sur le web.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X