我尝试了我写的以下脚本。
#!/bin/bash
adb -s 015d2578a7280412 shell ls /data/app > apps.txt
while read line
do
apk=/data/app/$line
adb -s 015d2578a7280412 pull $apk apk-nexus7-default
done < apps.txt
我收到的错误如下:
' does not existdata/app/com.StudioOnMars.CSPortable-1.apk
' does not existdata/app/com.adobe.reader-1.apk
...
当我尝试
时 adb -s 015d2578a7280412 pull /data/app/com.adobe.reader-1.apk apk-nexus7-default
有效。
这段脚本有问题吗?
答案 0 :(得分:1)
这是adb
的一个已知问题 - 即使在linux中它也使用MSDOS样式newline个字符 - CR+LF
('\r\n'
)而不仅仅是LF
('\n'
)。
减轻这种情况的最简单方法是从'\r'
输出中删除adb
adb -s 015d2578a7280412 shell ls /data/app | tr -d '\r'> apps.txt
答案 1 :(得分:0)
只是做:
$ adb -s 015d2578a7280412 pull /data/app/
pull: building file list...
pull: /data/app/some.apk -> ./some.apk
...