Gostaria de fazer o SSH no meu telefone, baixar um APK e instalá-lo remotamente. Existe um comando disponível no telefone que me permita fazer isso?
POR EXEMPLO:
wget localhost/file.apk
android_install file.apk
Preciso automatizar uma instalação, pois limpei acidentalmente meu cartão SD e tudo mais. :(
cyanogenmod
adb
ssh
bash
Naftuli Kay
fonte
fonte
Respostas:
No shell adb ou emulador de terminal (e provavelmente através do SSH), você pode usar o
pm
utilitário para instalar aplicativos. O comando é:A seguir estão as opções de
pm
:Por exemplo, você pode forçar o aplicativo a instalar diretamente no armazenamento externo (estilo Froyo / Gingerbread).
PS O
wget
utilitário deve estar disponível via BusyBox no CM7. Caso contrário, você sempre pode instalá-lo via Android Market .fonte
pm
existe em/system/bin/pm
, mas infelizmente por SSH (mesmo como root) ele não faz nada. A execução de qualquerpm
comando não produz saída. Existe algo que estou fazendo errado? Ele funciona no emulador de terminal, mas não sobre o SSH, por algum motivo :(adb
só funciona através do cabo USB, não é? E o SSH pode estar em uma rede sem fio. Além disso,ssh
existe em todo lugar, masadb
precisa ser instalado.Eu sugiro que você conecte seu telefone a um PC com o sdk (ou pelo menos adb) instalado e no modo de depuração. Depois disso, escreva um script que analise seus aplicativos e os instale via adb, por exemplo
adb install x:\path\to\app1.apk
.fonte
cp * /data/app && reboot
cat
comandopm install /sdcard/app1.apk
fará o mesmoadb install
e poderá ser executado no shell adb, emulador de terminal e, provavelmente, no SSH. Dê uma olhada na saída depm
para mais opções. Existe até uma opção para forçar o aplicativo a instalar diretamente no armazenamento externo (estilo Gingerbread).Estou usando o mesmo método e sim SSH é ótimo! Mas parece que quando você SSH para Android obtém um shell diferente do sh, portanto, se você colocar o sh na frente do comando, ele deverá funcionar.
Aqui está um exemplo:
sh /system/bin/pm install app1.apk
fonte