adbコマンドを使いローカルからデバイスへファイルをコピー

広告

adbコマンドを利用し、ローカルで作成されたファイルをコピーしてデバイスへアップロードしたり、逆にデバイスのファイルをコピーしてローカルへダウンロードする方法について解説します。(なおデバイスのファイル管理はDDMSを使用しても可能です。詳しくは「デバイスのファイル管理」を参照して下さい)。

前のページと同様、まずは対象となるデバイスを使ってエミュレータを起動しておいて下さい。その後で、コマンドラインからadbコマンドを使ってファイルのアップロードを行うには次のように実行します。

adb [-s シリアルナンバー] push ローカルパス リモートパス

例えばローカルのカレントディレクトリにある「sample.txt」を、デバイス側の「/data/data/」ディレクトリにアップロードするには次のように実行します。(デバイスのシリアルナンバーを確認する方法は「adbシェルの起動」をご参照下さい)。

adb -s emulator-5554 push ./sample.txt /data/data/sample.txt

p6-1

これでローカルのカレントディレクトリにあったファイルを、デバイスの指定したディレクトリにアップロードできました。ではデバイスのシェルを起動して確認してみます。

D:\code\android>adb -s emulator-5554 shell
# cd /data/data
cd /data/data
# ls -la *.txt
ls -la *.txt
-rw-rw-rw- root     root         3031 2012-06-06 04:36 sample.txt
#

p6-2

デバイスの「/data/data」ディレクトリにファイルをアップロードされていることが確認できました。(いったんexitコマンドを使ってシェルを終了させて下さい)。

今度は逆にデバイスにあるファイルをadbコマンドを使ってローカルにダウンロードしてみます。次のように実行して下さい。

adb [-s シリアルナンバー] pull リモートパス ローカルパス

例えばデバイス側の「/data/data/sample.txt」ファイルをローカルのカレントディレクトリに「sample2.txt」ファイルとしてダウンロードするには次のように実行します。

adb -s emulator-5554 pull /data/data/sample.txt ./sample2.txt

p6-3

これでデバイスにある指定のファイルを、ローカルのカレントディレクトリに指定した名前でダウンロードできました。では確認してみます。

p6-4

ファイルがダウンロードされていることが確認できました。

このようにadbコマンドを使うことでローカルからデバイスへファイルをコピーしたり、逆にデバイスからローカルへファイルをコピーすることができます。

( Written by Tatsuo Ikura )