J'écris une Android qui doit copier un fichier sur la partition "/ système" au moment de l'exécution. J'ai les commandes permettant d'exécuter "su" et je peux demander avec succès les autorisations SuperUser et exécutez les commandes en tant que root, mais je ne sais pas comment rendre cette application universelle sur plusieurs périphériques, car la commande de montage peut différer en fonction du lieu où le système est réellement monté. Voici la commande la plus souvent utilisée:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
Mais je sais que mtdblock3 pourrait être différent sur certains appareils (et d'ailleurs, je suppose qu'il pourrait en être de même pour yaffs2). Ma question est donc la suivante: existe-t-il une commande universelle qui fonctionnera sur tous les téléphones? Ou existe-t-il un moyen de savoir au moment de l'exécution quels sont les paramètres corrects?
Vous pouvez exécuter la commande mount sans paramètre afin d'obtenir les informations sur la partition avant de construire votre commande mount. Voici un exemple de commande de montage sans paramètre émise par mon HTC Hero.
$ mount
mount
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock3 /system yaffs2 rw 0 0
/dev/block/mtdblock5 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock4 /cache yaffs2 rw,nosuid,nodev 0 0
/dev/block//vold/179:1 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=
1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,s
hortname=mixed,utf8,errors=remount-ro 0 0
J'utilise cette commande:
mount -o rw,remount /system
Essayer
mount -o remount, rw/system
Si aucun message d'erreur n'est imprimé, cela fonctionne.
Ou, vous devriez faire ce qui suit.
Tout d'abord, assurez-vous que le type de fs.
mount
Émettez cette commande pour le découvrir.
Ensuite
montez-le, remettez-le-yaffs2/dev/block/mtdblock3/system
Notez que le fs (yaffs2) et le périphérique (/ dev/block/mtdblock3) dépendent de votre système.
Au lieu de
mount -o rw, remount/system /
utilisation
montez-le, remontez/système
gardez à l'esprit le '/' à la fin de la commande. vous demandez pourquoi cela compte?/system/est le répertoire sous/system tandis que/system est le nom du volume.
Vous n'avez pas besoin de transmettre les deux arguments lors d'un remontage. Vous pouvez simplement passer le point de montage (ici/system). Et/system est universel parmi Android appareils.
Vous pouvez aussi essayer la commande adb remount pour remonter/system en lecture/écriture.
adb remount
J'ai eu le même problème. Voici donc la vraie réponse: Montez le système sous /proc
. Voici ma commande:
mount -o rw,remount /proc /system
Cela fonctionne et constitue en fait le seul moyen de résoudre le problème du système en lecture seule.
C’est ce qui fonctionne sur ma première génération de Droid X avec Android version 2.3.4. Je suppose que ce sera universel. Étapes:
système racine et installer su.
Installer busybox
Installez un programme de terminal.
monter le système r premier su puis
busybox mount -o rw,remount system
Remonter ro
busybox mount -o ro,remount system
Notez qu'il n'y a pas de barres obliques sur "système".
Si vous avez enraciné votre téléphone, mais que vous n'avez donc pas de busybox, mais uniquement une toybox en stock, voici un one-liner à exécuter en tant que root:
mount -o rw, remount $ (mount | sed '//système /! d' | cut -d "" -f 1)/système
toybox ne supporte pas l'option "-o remount, rw"
si vous avez busybox, vous pouvez l'utiliser:
busybox mount -o remount, rw/system