Dans une tentative de transfert d'un fichier d'un serveur distant vers un appareil Android, j'ai rencontré des problèmes d'autorisation.
Il s'avère que je n'ai pas de permission d'écriture à l'emplacement de la carte SD (/ mnt / extSdCard).
J'utilise SSHDroid en tant que serveur ssh sur l'appareil Android et vSSH en tant que client ssh pour engager ssh sur l'appareil Android.
Étant donné que sudo et su semblent absents sur l'application serveur ssh (SSHDroid), je me demande comment je peux changer / obtenir la permission d'écrire sur l'emplacement de la carte SD. Ou le privilège root ne suffit-il pas pour modifier les autorisations d'écriture, et est-ce donc régi uniquement par le système d'exploitation Android, donc une limitation du système d'exploitation?
Ce que je peux faire, c'est écrire sur le chemin du serveur SSH (SSHDroid). Ce chemin, cependant, est très lourd et ne peut pas être atteint à partir de l'API de navigation de fichiers Android standard. C'est la raison pour laquelle j'ai voulu transférer le fichier vers un chemin accessible , comme la carte SD.
Supplément. La version Android est 4.4.2. La version du noyau est 3.4.0-1539356 # 1.
la source
Réponses:
L'une des restrictions introduites avec 4.4-kitkat était de déplacer l'
WRITE_EXTERNAL_STORAGE
autorisation au niveau de protection "SignatureOrSystem", ce qui signifie que même si demandé, une "application normale" (c'est-à-dire que vous installez en tant qu '"utilisateur normal" sans aucune spécialité racine) ne obtenir plus accordé. Il y a donc très peu de choses que vous pouvez faire pour "contourner" ceci:<sdcard>/Android/data/<package_name>/
-à- dire , car c'est le seul endroit où une application peut écrire sur SD avec Kitkat)la source
Vous pouvez toujours retirer la carte SD externe de l'appareil et la brancher sur votre PC. La plupart des PC ne prennent pas en charge les micro-cartes SD, mais vous pouvez utiliser un adaptateur. Plus d'infos ici: https://en.wikipedia.org/wiki/Secure_Digital#Micro
Si la carte SD externe est montée sur votre PC, vous pouvez alors lire et écrire tous les fichiers dessus :-)
la source