Eu tenho um tablet Nexus 7 Jelly Bean com raiz e sempre que tento executar um aplicativo a partir de um aplicativo emulador de terminal após o chmod 777ing e usando a sintaxe ("./applicationName"), ele insiste que não tenho permissão para executar, mesmo que eu concedeu meus privs de superusuário usando ("su"). Depois disso, fiz uma pequena pesquisa e aprendi que, se você copiar o arquivo para o diretório (/ data / local / temp /), poderá executar o aplicativo. Então, quando tentei, ele disse que o arquivo não existe, apesar de aparecer ao listar o conteúdo do diretório usando ("ls")
Não tenho idéia de quais etapas executar, se ajudar, tentei executar (scp) como teste, mas desejo poder executar uma versão compilada personalizada do dns2tcp. Eu sei que eu poderia ter usado aplicativos melhores, como um olá mundo compilado nativamente no dispositivo, mas não consegui colocar um compilador C para Android como o gcc.
Obrigado por qualquer conselho
/data/local/tmp/scp
? E garantiu que seuscp
arquivo não tem extensão de arquivo quando chamado sem nenhum?Respostas:
tente colocar
sh
na frente do seu comando, por exemplo:ou
fonte
O aplicativo emulador deve poder executar outro aplicativo a partir de seu próprio diretório. Esse diretório é chamado algo como
/data/data/com.super.emulator
. Tente dar o caminho completo para o aplicativo que você deseja no emulador.Se você deseja obter um compilador para Android, pode usar o NDK . Fácil de obter, livre de usar.
Você também não pode enviar seu arquivo
/system/bin
via adb ? Não sei se você recebe essa permissão ao fazer root no seu dispositivo. Mas se for esse o caso, deve tornar sua vida muito mais fácil.fonte
Provavelmente, você não pode executar o programa por causa das bibliotecas no dispositivo em que você o rasgou por estar ausente do dispositivo para o qual o copiou.
Como seu objetivo final é compilar um programa e executá-lo nativamente no telefone, posso sugerir que você use o NDK do Android ? A documentação do NDK inclui o
STANDALONE-TOOLCHAIN.HTML
que explica como compilar um programa nativo para ser executado no seu dispositivo Android.fonte
Se você está enraizado (eu vejo que você está), use o
su
comando e execute o script original. Se o problema for de permissões, isso deve corrigi-lo. E se você estiver usando um script de shell, você pode simplesmente adicionar esta linha na parte superior. pode ser necessário verificar as configurações do superSu (ou qualquer outro aplicativo de superusuário que você tenha com root) e garantir que o emulador de terminal tenha permissões de root.Se você não está enraizado (ou não pode ser executado como root por algum motivo), sugiro examinar como o XBMC faz isso, pois acredito que ele pode executar aplicativos no modo de usuário.
Boa sorte.
fonte