J'ai récemment rooté mon Droid X et tout semble fonctionner parfaitement. J'ai fait quelques changements build.prop
et quand je fais , adb push build.prop /system/
je reçois l'erreur suivante: failed to copy 'c:\build.prop' to '/system//build.prop': Read-only file system
.
Comment puis-je réparer cela?
adb remount
, qu'obtenez-vous?Réponses:
Tous les téléphones et versions d'Android n'ont pas les mêmes choses.
Il serait préférable de limiter les options lors du remontage.
Remontez simplement en rw (lecture / écriture):
Une fois que vous avez terminé vos modifications, remontez sur ro (lecture seule):
la source
adb root
ou vous obtiendrez une autorisation refusée lors de la transmission du fichier.Balazss-MBP:tools varh1i$ adb shell
generic_x86_64:/ # mount -o rw,remount /system
'/dev/block/vda' is read-only
mv hosts /system/etc/hosts
fonctionne pour moi et semble être la solution la plus simple.
la source
Not running as root. Try "adb root" first.
. Et puisadbd cannot run as root in production builds
.$ adb disable-verity
redémarrer l'appareil avant de pouvoir l'exécuter$ adb remount
Not running as root. Try "adb root" first.
. Je suis entréadb root
puis à nouveauadb remount
mais toujours la même erreur:Not running as root. Try "adb root" first.
Je l'ai retiré d'un forum Android où j'ai posé la même question. J'espère que cela aide quelqu'un d'autre.
Sur un émulateur de terminal sur le téléphone:
Ensuite, à l'invite cmd, effectuez la
adb push
la source
adb shell <command>
peut être utilisé depuis l'ordinateur (si vous n'avez pas de terminal sur votre téléphone)Bien que je sache que la question concerne le véritable appareil, au cas où quelqu'un arriverait avec un problème similaire dans l'émulateur, avec les outils les plus récents en février 2017, l'émulateur doit être lancé à partir de la ligne de commande avec:
Pour que tout soit accessible en écriture au
/system
. Sans ce drapeau, aucune combinaison deremount
oumount
ne permettra d'écrire/system
.Une fois l'émulateur lancé avec cet indicateur, un seul
adb remount
aprèsadb root
suffit pour obtenir les autorisations pour pousser/system
.Voici un exemple de la ligne de commande que j'utilise pour exécuter mon émulateur:
La valeur des
-avd
drapeaux provient de:la source
Je pense que le moyen le plus sûr est de remonter le système / en lecture-écriture, en utilisant:
et une fois terminé, remontez-le en lecture seule:
la source
Sur mon Samsung Galaxy mini S5570 (après avoir rooté sur le téléphone portable):
Poing, en tant que root, j'ai couru:
en tant qu'utilisateur normal:
Accorder des autorisations root sur l'écran tactile
listez tous les points de montage que nous avons et nous pouvons voir, dans mon cas, que / dev / stl12 a été monté sur / system comme ro (prêt uniquement), nous avons donc juste besoin de faire:
la source
Essayez ce qui suit sur l'invite de commande:
la source
adb root remount
Cela fonctionne pour moi et c'est la solution la plus simple.
la source
Voici ce qui a fonctionné pour moi. J'utilisais un appareil émulé Android 7.1.1 (Nougat).
Sur un terminal, j'ai frappé la commande suivante. Une chose à noter est l'indicateur -writable-system
Sur un autre onglet
Toutes les modifications que vous apportez au contenu / system survivront à un redémarrage.
la source
J'ai vérifié avec l'émulateur et j'ai travaillé.
Comme mentionné ci-dessus également, exécutez la deuxième étape en une seule fois.
la source
Ouvrez l'émulateur de terminal sur le téléphone: puis
après le démarrage de ce démon
alors la lecture seule est convertie en lecture-écriture.
la source
travaille pour moi
la source
la source
J'ai trouvé cet article de Google et j'ai pensé ajouter les étapes nécessaires sur un Sony Xperia Z (4.2.2).
Le Sony a un processus de surveillance qui détecte lorsque vous avez changé ro en rw sur / et / système (ce sont les seuls que j'essayais de modifier) et éventuellement d'autres.
Voici ce que j'ai exécuté pour effectuer les changements que j'essayais de réaliser. Je les ai collées dans une fenêtre, car la suppression du bit d'exécution de / sbin / ric doit être effectuée rapidement afin de l'empêcher de redémarrer. (J'ai essayé
stop ric
; cela ne fonctionne pas - même si cela fonctionnait sur une version précédente d'Android sur le téléphone).J'ai modifié le fichier hosts ici, c'est donc l'endroit où vous apportez les modifications dont vous avez besoin au système de fichiers. Pour laisser les choses telles que nous les avons trouvées, procédez comme suit:
À quel point ric devrait redémarrer automatiquement. (Il a redémarré automatiquement pour moi.)
la source
Ajoutant un peu plus à la réponse de Jan Bergström: Parce qu'Android est un système basé sur Linux et que le chemin dans Linux contient des barres obliques (../), lors de l'utilisation de la commande push, utilisez "/" pour définir le chemin de destination dans l'appareil Android.
Par exemple, la commande va: adb push C: \ Users \ admin \ Desktop \ 1.JPG sdcard / pictures /
Notez qu'ici, les barres obliques inversées sont utilisées pour définir le chemin source du fichier à pousser depuis le PC Windows et les barres obliques sont utilisées pour définir le chemin de destination car Android est un système basé sur Linux. Vous n'avez pas besoin d'agir en tant que root pour utiliser cette commande et aussi, cela fonctionne parfaitement sur les appareils de production.
la source
Parfois, vous obtenez l'erreur car l'emplacement de destination dans le téléphone n'existe pas. Par exemple, un emplacement de stockage externe de téléphone Android est à la
/storage/emulated/legacy
place de/storage/emulated/0
.la source
Merci, Sérgio , pour la commande "mount" sans idée de paramètres. Je dois fait
adb push
dans/data/data/com.my.app/lib
un certain problème de test, et obtenir un message « lecture seule du système de fichiers ».La commande ls me montre:
root@android:/ # ls -l /data/data/com.my.app/
drwxrwx--x u0_a98 u0_a98 2016-05-06 09:16 cache drwxrwx--x u0_a98 u0_a98 2016-05-06 09:04 files lrwxrwxrwx system system 2016-05-06 11:43 lib -> /mnt/asec/com.my.app-1/lib
Il est donc entendu que le répertoire "lib" est séparé des autres répertoires d'application.
La commande
mount -o rw,remount /mnt/asec
n'a pas résolu le problème "r / o fs", elle veut un paramètre de périphérique avant le paramètre de répertoire.La commande "df" n'a pas aidé non plus, mais montre que mon
/mnt/asec/com.my.app-1
répertoire est au point de montage séparé.Alors je regarde
mount
et voila!root@android:/ # mount ......... /dev/block/dm-4 /mnt/asec/com.my.app-1 ext4 ro,dirsync,relatime 0 0
Les étapes suivantes sont déjà décrites vers le haut: remonter sur RW, repousser et remonter sur RO.
la source
il same qui doit extraire et reconditionner initrc.img et éditer le
init
fichier avec le code de montage / systèmela source
Copier des fichiers sur la carte SD?
Eh bien, je suppose que vous aimez copier des données sur la carte Sd à partir de l'ordinateur du développeur? Vous avez peut-être enraciné le plan et rendu disponible la zone que vous traitez?) J'ai eu à peu près le même problème pour télécharger des fichiers de données pour mon application (Android Studio 1.3.2 dans Win7), mais.
Ainsi, par exemple, la commande adb peut ressembler à ceci:
adb push C: \ testdata \ t.txt /sdcard/download/t.txt
la source
En cas d'échec de copie du fichier en lecture seule, vous pouvez essayer de localiser le fichier d'origine dans le répertoire racine et le modifier avec un éditeur de texte racine (de préférence) un éditeur de texte RB, il est fourni avec l'application ROM Toolbox.
la source
Essayez ceci dans un émulateur de terminal en tant que root:
la source
Dans mon cas, j'utilisais la commande adb push
~/Desktop/file.txt ~/sdcard/
Je l'ai changé
~/Desktop/file.txt /sdcard/
et puis ça a marché.Assurez-vous de déconnecter et reconnecter le téléphone.
la source
Comme chen-xing l'a mentionné, le moyen le plus simple est:
Mais pour moi, je devais d'abord modifier mes paramètres:
Paramètres → Options développeur → Accès root
Assurez-vous qu'ADB dispose d'un accès root:
la source