Android Bash ADB使用变量调用应用程序
我有一个应用程序,当被调用时,它会将调用时使用的字符串输出到toast通知中 像这样:Android Bash ADB使用变量调用应用程序,android,bash,adb,Android,Bash,Adb,我有一个应用程序,当被调用时,它会将调用时使用的字符串输出到toast通知中 像这样: am start -a android.intent.action.MAIN -e message "Example String" -n com.rja.utility/.ShowToast 我想创建一个for循环,它将循环.txt文件中的槽行,并使用上面的方法输出它们,如下所示: for i in `cat /somedirectory/ToastQueue.txt`; do am start
am start -a android.intent.action.MAIN -e message "Example String" -n com.rja.utility/.ShowToast
我想创建一个for循环,它将循环.txt文件中的槽行,并使用上面的方法输出它们,如下所示:
for i in `cat /somedirectory/ToastQueue.txt`; do
am start -a android.intent.action.MAIN -e message "$i" -n com.rja.utility/.ShowToast > dev/null
done
但显然,这不起作用,它抱怨我有额外的参数
所以我的问题是,我怎样才能做到这一点?我无法修改应用程序,因此这一切都应该通过shell或ADB来完成,因此我让它正常工作:
for i in `cat /somedirectory/ToastQueue.txt`; do
i="\"$i\""
eval "am start -a android.intent.action.MAIN -e message $i -n com.rja.utility/.ShowToast > dev/null"
done
如果消息中有空格,则必须引用它,但不能在EVE中引用它,否则它将退出它,然后在传递给应用程序之前引用它。
我会尝试在循环之前添加<代码> SET-X/CODE >,这样您就可以看到变量扩展后执行的是什么,如果您的答案解决了问题,请考虑接受它。当它让我;D