0

我尝试了我编写的以下脚本。

#!/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

有效。

这段脚本有问题吗?

4

2 回答 2

1

这是一个已知问题adb- 即使在 linux 中它也使用 MSDOS 样式的换行符- CR+LF( '\r\n') 而不仅仅是LF( '\n')。

减轻这种情况的最简单方法是'\r'adb输出中删除

adb -s 015d2578a7280412 shell ls /data/app | tr -d '\r'> apps.txt
于 2013-05-29T20:02:43.767 回答
0

Just do:

$ adb  -s 015d2578a7280412 pull /data/app/

pull: building file list...
pull: /data/app/some.apk -> ./some.apk
...
于 2013-05-29T04:47:06.720 回答