Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
10
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

adbコマンドを使ってファイルを端末に転送する

やりたい事

  • Androidアプリのファイルアップロードの検証をする際に、アップロード用のダミーデータを端末に送る
  • 別途、ファイラなどのアプリをダウンロードはできればしたくない

環境

  • Mac : MacBook Pro (Retina, 15-inch, Mid 2015)
  • adb : 1.0.39

adbとは

Android Debug Bridge(adb)は、

エミュレータ、インスタンスや接続されたAndroid端末と通信できる用途の広いコマンドラインツールです。

参考: https://developer.android.com/studio/command-line/adb.html?hl=ja

adbのインストール

Android StudoをインストールするとGUI(SDK Manager)からAndroid SDKをインストールする事ができます。

スクリーンショット 2017-11-16 14.35.21.png

SDKがどこにインストールされたかは、設定の「Appearance & Behaivior」->「System Settings」->「Android SDK」で確認する事ができます。

Untitled11.png

今回使用するadbは、android_sdk/platform-tools/ にあります。

次に上記のpathを通します。ご自分のシェルの環境にあった方法でPathを通してください。こんな感じですかね。

export PATH=$PATH:/Users/<user name>/Library/Android/sdk/platform-tools

は適宜置き換えてください。

完了したら adb とターミナルに入力して、

$ adb
Android Debug Bridge version 1.0.39
...

みたいに応答があればOKです。
「command not found」が表示されてします時は、ターミナルの再起動または、リソースファイル .bashrc などの再読み込みをお試しください。

adbコマンドを使う

このようにadbには沢山の機能があります。また、端末でのデバッグはUSB経由とWifi経由とありますが、今回はUSB経由で行います。

・端末の照会

端末を確認するには、adb devices コマンドを使用します。

$ adb devices
List of devices attached
* daemon not running. starting it now at tcp:5037 *
* daemon started successfully *
<serial_number> device

・端末のディレクトリ構成を確認する

adb shell コマンドを実行すると(USBで繋いでいる端末が1つでemulatorが立ち上がっていない)端末にアタッチする事ができます。なので、そこで ls -la などを実行する事で構成を確認する事ができます。
今回は /sdcard/Download/ にファイルを転送したいと思います。

・端末にファイルを転送する

開発PCから端末へファイルを転送する場合は adb Push コマンドを使用します。

$ adb push /path/to/local_file /path/to/device 

例えば

$ adb push ~/temp.png /sdcard/Download/

こんな感じです。

:end: 終わりに

いかがだったでしょうか。まだまだ使いこなせているというレベルにはほど遠いですが、少しずつ試していきたいと思います。他に何ができるか知りたい方はドキュメントに記載されていますので、確認してみてください。
最後までお読みいただきありがとうございました。

:paperclip: 参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
10
Help us understand the problem. What are the problem?