Java Android-cat$fullPathToFile | pm安装——用户0-S$apkSize->;Sript
因为在新的Android版本中通过终端安装Java Android-cat$fullPathToFile | pm安装——用户0-S$apkSize->;Sript,java,android,bash,sh,Java,Android,Bash,Sh,因为在新的Android版本中通过终端安装 pm install --user 0 org.apkfile.apk 如果失败,我将使用解决方法 cat $fullPathToFile | pm install --user 0 -S $apkSize (表演) 它可以工作,但我想要一个脚本从一个目录安装所有APK。 它看起来不错,测试输出echo“$file$apksize”和echo$fullpath/$file是正确的,wihle循环也可以工作 但我遇到以下故障,并且没有安装任何设备:
pm install --user 0 org.apkfile.apk
如果失败,我将使用解决方法
cat $fullPathToFile | pm install --user 0 -S $apkSize
(表演)
它可以工作,但我想要一个脚本从一个目录安装所有APK。
它看起来不错,测试输出echo“$file$apksize”和echo$fullpath/$file是正确的,wihle循环也可以工作
但我遇到以下故障,并且没有安装任何设备:
"exception occurred while excecuting java.lang.NumberFormatException: null"
......................
...
....
...............
echo $testoutput1 # echo "$file $apksize"
echo $testoutput2 # echo $fullpath/$file
剧本:
#!/bin/sh
# check path
fullpath="$PWD"
# check how many apk files are there
files=$(ls -1 *apk | wc -l)
echo $fullpath
i=1;
while [ $i -le $files ]
do
i=$(expr $i + 1)
file=$(ls -1 *.apk | tail -n $i | head -n 1)
# yes on debian you can use "du -b", but option b is not supported on android terminal - $(du -b $file | cut -f 1)
apksize=$(wc -c $file | awk '{print $1}')
cat "$fullpath/$file" | pm install --user 0 -S $apkSize
echo "$file $apksize"
echo $fullpath/$file
done
只是一些旁注/bin/sh不存在,应该是#/system/bin/sh您标记了这个bash和sh,但是android使用toybox运行mksh,这意味着awk不存在(除非您安装了busybox),但是stat-c%s“$file”
可以工作(注意文件名可以有空格)只是一些旁注!/bin/sh不存在,应该是#/system/bin/sh您标记了这个bash和sh,但是android运行带有toybox的mksh,这意味着awk不存在(除非您安装了busybox),但是stat-c%s“$file”
可以工作(注意文件名可以有空格)