Chciałbym włączyć SSH do mojego telefonu, pobrać pakiet APK i zainstalować go zdalnie. Czy w telefonie jest dostępne polecenie, które pozwala mi to zrobić?
NA PRZYKŁAD:
wget localhost/file.apk
android_install file.apk
Muszę zautomatyzować instalację, ponieważ przypadkowo wyczyściłem swoją kartę SD i wszystko na niej. :(
cyanogenmod
adb
ssh
bash
Naftuli Kay
źródło
źródło
Odpowiedzi:
W powłoce adb lub emulatorze terminala (i najprawdopodobniej przez SSH) możesz użyć
pm
narzędzia do zainstalowania aplikacji. Polecenie to:Oto przełączniki
pm
:Na przykład możesz zmusić aplikację do zainstalowania bezpośrednio w pamięci zewnętrznej (styl Froyo / Gingerbread).
PS
wget
Narzędzie powinno być dostępne przez BusyBox na CM7. Jeśli nie, zawsze możesz go zainstalować za pośrednictwem Android Market .źródło
pm
istnieje w/system/bin/pm
, ale niestety przez SSH (nawet jako root) nic nie robi. Uruchomienie dowolnegopm
polecenia nie generuje danych wyjściowych. Czy coś robię źle? Działa w emulatorze terminali, po prostu z jakiegoś powodu nie na SSH :(adb
działa tylko za pomocą kabla USB, prawda? A SSH może być w sieci bezprzewodowej. Ponadto,ssh
jest tam wszędzie, aleadb
musi być zainstalowany.Sugeruję podłączenie telefonu do komputera z zainstalowanym SDK (lub przynajmniej ADB) oraz w trybie debugowania. Następnie napisz skrypt, który przejdzie przez twoje aplikacje i zainstaluje je za pomocą adb, np
adb install x:\path\to\app1.apk
.źródło
cp * /data/app && reboot
cat
polecenia.pm install /sdcard/app1.apk
zrobi to samoadb install
i może być wykonane w powłoce adb, emulatorze terminali i najprawdopodobniej przez SSH. Spójrz na wynikpm
dla więcej opcji. Istnieje nawet przełącznik, aby zmusić aplikację do zainstalowania bezpośrednio w pamięci zewnętrznej (w stylu piernika).Używam tej samej metody i tak, SSH jest świetny! Ale wydaje się, że kiedy SSH na Androida ma inną powłokę niż sh, więc jeśli umieścisz sh przed poleceniem, powinno działać.
Oto przykład:
sh /system/bin/pm install app1.apk
źródło