Running Shell-Skript in Android-AdB-Shell
Ich versuche ein Skript zu erstellen, um meine App über die AdB-Shell zu finden und aus dem Android-Emulator zu entfernen.
Das ist was ich habe:
adb shell "
cd data/app
for app in com.mycompany.*.apk;
do
echo $app
bundle=$(echo $app | sed 's/-[0-9]//g')
echo 'bundle name is $bundle'
if [ '$bundle' != '' ];then
adb uninstall $bundle
else
echo 'No apps found'
fi
done
exit
"
Aber es scheint nicht wie erwartet zu funktionieren.
myfor
loop durchläuft nichts. Wenn ich die Befehle genau wie oben in der Shell manuell ausführe, funktioniert das. Wenn ich sie jedoch über ein Shellscript ausführe, wird dasfor
loop sieht die Dateien oder nichts. Wenn ich ein "ls" hinzufüge, wird der Inhalt des Ordners zwar korrekt gedruckt ... Also;echo $app
gibt nichts aus (eine leere Zeichenkette) und;echo 'bundle name is $bundle'
printsbundle name is
.Deswegen geht es offensichtlich nie in meinen if-Block, fällt unter meine else-Klausel und das war's.
Was mache ich falsch? Ich bin nicht sehr erfahren in Shell-Skripten, ich würde mich über jede Idee freuen.
Mein Ziel dabei ist es, eine Shell-Funktion zu haben, die ich aufrufen kann, um den Prozess des Entfernens meiner App aus dem Emulator zu automatisieren, ohne sie ziehen und manuell deinstallieren zu müssen. Andere Ideen sind ebenfalls sehr willkommen.
Vielen Dank