Na tentativa de transferir um arquivo de um servidor remoto para um dispositivo Android, tive problemas de permissão.
Acontece que eu não tenho permissão de gravação no local do cartão SD (/ mnt / extSdCard).
Estou usando o SSHDroid como um servidor ssh no dispositivo Android e o vSSH como um cliente ssh para participar do ssh no dispositivo Android.
Como sudo e su parecem ausentes no aplicativo do servidor ssh (SSHDroid), estou pensando em como posso alterar / obter permissão para gravar no local do cartão SD. Ou o privilégio root não é suficiente para alterar as permissões de gravação e, portanto, isso é governado exclusivamente pelo sistema operacional Android, portanto, uma limitação do sistema operacional?
O que posso fazer é gravar no caminho inicial do servidor ssh (SSHDroid). Esse caminho, no entanto, é muito complicado e não pode ser acessado a partir da API comum do Android Filebrowser. Esta é a razão pela qual eu queria transferir o arquivo para um caminho acessível , como o cartão SD.
Suplemento. A versão do Android é 4.4.2. A versão do kernel é 3.4.0-1539356 # 1.
fonte
Respostas:
Uma das restrições introduzidas no 4.4-kitkat foi mover a
WRITE_EXTERNAL_STORAGE
permissão para o "SignatureOrSystem" no nível de proteção, o que significa que, mesmo se solicitado, um "aplicativo normal" (por exemplo, um que você instala como "usuário normal" sem nenhuma especialidade raiz) mais concedê-lo. Portanto, há muito poucas coisas que você pode fazer para "contornar" isso:<sdcard>/Android/data/<package_name>/
, este é o único local em que um aplicativo pode gravar no SD com Kitkat)fonte
Você sempre pode retirar o sdcard externo do dispositivo e conectá-lo ao seu PC. A maioria dos computadores não suporta micro-cartões SD, mas você pode usar um adaptador. Mais informações aqui: https://en.wikipedia.org/wiki/Secure_Digital#Micro
Se o cartão SD externo estiver montado no seu PC, você poderá ler e gravar todos os arquivos nele :-)
fonte