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

ただ行う:

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

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