6 votes

Effacer le cache de Dalvik sans racine ?

J'ai récemment essayé de mettre à jour mon Motorola Atrix 4g. Elle s'est téléchargée, puis a démarré pour essayer de la mettre à jour. Cependant, au lieu de mettre à jour, il finit par démarrer sur un écran qui dit simplement

Failed to boot 2
Starting RSD mode

Si j'enlève la batterie, le téléphone démarre pendant environ 60 secondes avant de recommencer à s'éteindre.

Le téléphone est rooté, et il semble qu'il commence à s'éteindre dès qu'Android commence à donner des privilèges Root.

En consultant différents forums en ligne, il semble que la meilleure solution pour empêcher le téléphone d'essayer de se mettre à jour (sans effacer toutes mes données en réinitialisant le téléphone aux paramètres d'usine) consiste à vider le cache Dalvik.

Le problème que j'ai est que jusqu'à présent, il semble que pour effacer le cache, j'ai besoin de Root, mais dès que mon téléphone a été allumé assez longtemps pour donner Root, il redémarre, et je ne peux rien faire avec lui. Pour aggraver le problème, il semble que je ne puisse pas démarrer en mode de récupération...

Existe-t-il un moyen d'effacer le cache Dalvik (vraiment, vraiment rapide, et) sans Root (ou recovery) ?

7voto

Jay O'Conor Points 1911

J'ai enfin trouvé la solution, voici comment j'ai fait :

Même si adb ne peut pas obtenir Root, et le téléphone lui-même ne peut pas obtenir Root, il s'avère qu'il y a en fait un autre moyen de vider le cache sans démarrer complètement le téléphone.

  • Éteindre le téléphone
  • Assurez-vous que Fastboot fonctionne sur votre ordinateur.
  • Appuyez sur le bouton d'alimentation du téléphone, puis maintenez le bouton de réduction du volume enfoncé jusqu'à ce que vous voyez fastboot puis appuyez sur le bouton d'augmentation du volume.
  • Ouvrez une fenêtre de terminal, et tapez ce qui suit

    sudo su
    fastboot erase cache

Et (apparemment) voilà ! Le cache est vidé !

4voto

Milner Points 533

Il est peu probable que cela soit possible. Le cache Dalvik est stocké dans /data/dalvik-cache et de faire un ls -l /data (comme Root) montre :

drwxrwx--x system   system            2013-03-29 14:54 dalvik-cache

Comme vous pouvez le voir, il appartient à l'utilisateur system du groupe system et tous les autres utilisateurs n'ont que la permission d'"exécuter" (c'est-à-dire qu'ils ne sont autorisés qu'à accéder à ce répertoire). En creusant un peu plus avec ls -l /data/dalvik-cache montre par exemple :

-rw-r--r-- system   app_17    6416640 2013-03-02 00:28 data@app@com.google.android.apps.maps-1.apk@classes.dex

Tous les fichiers ici sont à nouveau la propriété de system qui est à nouveau le seul utilisateur ayant le droit d'écriture (c'est-à-dire également le seul à pouvoir supprimer des fichiers). L'application correspondant à chaque .dex est représenté comme un groupe ; mais comme tous les "autres" utilisateurs, il n'a que des droits de lecture.

Conclusion : sólo root peut supprimer des choses ici - que ce soit à partir d'un shell normal ou via une récupération personnalisée comme par exemple ClockworkMod. Ou via un Réinitialisation en usine bien sûr...


Une chose que vous pouvez essayer, cependant, c'est de démarrer en mode sécurisé . Si une application utilisateur est à l'origine du problème, l'appareil devrait démarrer correctement (car toutes les applications utilisateur sont ignorées en mode sécurisé). Une deuxième suggestion est de connecter votre appareil via USB et d'essayer de capturer un logcat (via adb logcat ) pour obtenir des indices supplémentaires sur ce qui pourrait causer le problème. Cela nécessiterait bien sûr Débogage USB pour être activé. Si ce n'est pas encore le cas, vous pouvez peut-être le faire en mode sans échec (je n'en suis pas sûr, car je n'ai jamais essayé).

1voto

Phonedroid Points 11

Faites-le :

sdk/platform-tools/adb shell

 shell@android:/ $ su system                  # switch from user "root" to "system"
 system@android:/ $ cd data/dalvik-cache/
 system@android:/data/dalvik-cache $ rm *
 system@android:/data/dalvik-cache $ exit
 shell@android:/data $ exit

et redémarrez votre téléphone.

0voto

user134589 Points 11

Faites des sauvegardes.

Si vous avez du carburant qui fonctionne maintenant, installez-le :

  1. Flashy maintenant

  2. Installez une restauration avancée comme TWRP (Fuel spécifique ). Ensuite, vous ne pouvez lancer la restauration qu'à partir d'un système qui fonctionne (aucune combinaison de touches ne fonctionne encore, vous y arrivez à partir des boîtes de dialogue Flashy pour lancer la restauration TWRP).

  3. Une fois qu'on a récupéré, alors enfin votre ordinateur peut faire ADB (enfin obtenir le shell, j'ai testé sur un autre Fuel) et avec un peu de chance à partir de là vous ne serez pas bloqué (comme moi) et pourrez déverrouiller le boot-loader.

    Parce que, si vous ne le faites pas, vous devrez remplacer votre téléphone, s'il tombe en panne. LG a dit que le mien l'a fait (arrêts répétés des processus, aucune utilisation du téléphone) juste par des mises à jour automatiques régulières ! C'est a progressé à aucun accès aux paramètres.

0voto

jastako Points 111

Vous n'avez même pas besoin de Root pour vider le cache de dalvik. Vous pouvez le faire avec la récupération de stock. Eteignez le téléphone et démarrez dans la récupération (je ne sais pas quelle est la combinaison de touches pour l'Atrix, donc vous devrez la chercher car la combinaison de touches est différente d'un téléphone à l'autre) et cherchez une option qui dit quelque chose comme "clear dalvik cache" appuyez sur le volume vers le bas pour la mettre en évidence et sur la puissance pour la sélectionner et attendez jusqu'à ce qu'il démarre, ce qui prendra probablement beaucoup plus de temps que d'habitude, ce qui est normal. Laissez-le reposer un moment pendant qu'il reconstruit votre liste d'applications. Je ne sais pas si cela peut être différent puisqu'il est enraciné. J'ai entendu dire que le dossier dalvik pouvait atteindre 3+Go.

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