adbコマンドを使用してSDカードなしでデバイスにファイルをプッシュする方法


104

SDカードが入っていないAndroidデバイスにコンピューターからファイルをプッシュする方法。私は試した:

C:\anand>adb push anand.jpg /data/local
3399 KB/s (111387 bytes in 0.032s)

C:\anand>adb push anand.jpg /data/opt
3199 KB/s (111387 bytes in 0.034s)

C:\anand>adb push anand.jpg /data/tmp
3884 KB/s (111387 bytes in 0.028s)

上記のコマンドは、ファイルanand.jpgをデバイスに移動しますが、デバイスでこのjpgファイルを取得できませんでした。コマンドプロンプトで成功結果が得られなかった、私だけを得た:

3399 KB/s (111387 bytes in 0.032s).

3
adb shell "cd /data/local && mkdir tmp"その後、お試しくださいadb push anand.jpg /data/local/tmp。デバイス上のファイルをどのように確認しますadb shellか?

@RCファイルをチェックするためにlsコマンドを使用しています。エミュレータのDDMSビューで少なくともそれを取得しましたが、それでもデバイスで取得しませんでした。「adb push」コマンドを実行しようとすると、実際のデバイスで見つからないデバイスが表示されます。しかし、adbデバイスはデバイスを表示しています。
Nikhil Kumar

エミュレータを停止し、デバイスを取り外し、デバイスがデバッグモードであることを確認した後、デバイスを接続して再試行します

1
この質問はプログラミングに関するものではないため、トピックから外れているようです。ヘルプセンターで、どのようなトピックについて質問できますかをご覧ください。おそらくAndroid Enthusiasts Stack Exchangeは、尋ねるのにより良い場所でしょう。
jww

RCの提案は、このバリエーションで私にとってうまくいきました。adb shell "cd /sdcard && mkdir temp"それabd push x.apk /sdcard/temp"から、SDカードの一時フォルダーにファイルができ、そこからフラッシュすることができました。
Kajetan Abt 2015

回答:


130

Ubuntuターミナルから、以下が動作します。

./adb push '/home/hardik.trivedi/Downloads/one.jpg' '/data/local/'

私はWindowsのcmdプロンプトで作業していますが、Windowsでその方法を教えてください。
Nikhil Kumar

「./」を削除して、単純なadbまたはadb.exeを使用します。Androidのパスを設定していない場合は、platform-toolsフォルダーにいることを確認してください。
Hardik Trivedi

2
電話を応援することなくこれを行うことはできますか?
ジェイコブ

2
@HardikTrivedi:adb pushを一般的に使用するために、またはこの特定のファイル宛先にルート化が必要であると言っていますか?ルート権限を取得していないデバイスのAndroidデバイスのSDカードにファイルを書き込むためにadb pushを使用しています。
RenniePet 2015

2
root化されていない電話でもコマンドをプッシュするには、/ dataフォルダーのみがroot化されたユーザーを必要とします。
Hardik Trivedi、2015

33

私は次のコマンドを使用してそれを行いました:

構文: adb push filename.extension /sdcard/0/

例: adb push UPDATE-SuperSU-v2.01.zip /sdcard/0/


1
ただアンドロイド5.0デバイスにMAC OSXからmp3ファイルを移動し、私は、デバイス、すなわち「ADBのプッシュ/file.mp3の/sdcard/fileOrOtherFileName.mp3」上にあるファイルの名前を書かなければならなかった
DoruChidean

28

次の手順を実行します :

Android Sdkに移動し、ターミナルまたはコンソールの「platform-tools」パスに移動します

(Macでは、デフォルトのパスは/ Users / USERNAME / Library / Android / sdk / platform-tools)

デバイスにインストールされているSDカード(外部および内部)を確認するには、次のコマンドを実行します。

  • 1)./adbシェル(return / enterを押す
  • 2)cd-(ヒットリターン/エンター)

これで、Androidデバイスのディレクトリとファイルのリストが表示され、/ sdcardと/ storageが見つかります。

  • 3)cd / storage(ヒット・リターン/エンター)
  • 4)ls(ヒットリターン/エンター)

sdcard0(通常はsdcard0は内部ストレージ)とsdcard1(外部SDCardが存在する場合)が表示される場合があります

  • 5)終了(ヒット/リターン)

adbシェルから出てきます

  • 6)./adb push '/Users/SML/Documents/filename.zip' / storage / sdcard0 / path_to_store /(return / enter)

ファイルをコピーする


11

時々あなたは拡張が必要です、

adb push file.zip /sdcard/file.zip


1
LG Nexus 5を使用していて、外部sdカードを挿入できないが、内部メモリの一部がsdカードのように動作するシェルにいるときは、ディレクトリの一覧表示のために「ls」を呼び出します
cstuncsik

8

最初に以下のコマンドを実行します

adb root
adb remount

次に、以前に入力したものを実行します

C:\anand>adb push anand.jpg /data/local
C:\anand>adb push anand.jpg /data/opt
C:\anand>adb push anand.jpg /data/tmp

4

外付けストレージなしのNexus 4を購入しました。ただし、Androidは「/ storage / emulated / legacy」にマウントされた「ストレージ」と呼ばれる別のパーティションをマウントするため、1つあると考えているため、そこにプッシュしてみます。adb push anand.jpg /storage/emulated/legacy


私のネクサス4の/sdcard.file.zipは魅力のように機能しました。
sud007

4

私の解決策(ランダムなmp4ビデオファイルの例):

  1. ファイルをデバイスに設定します。

    adb push /home/myuser/myVideoFile.mp4 /storage/emulated/legacy/
  2. デバイスからファイルを取得します。

    adb pull /storage/emulated/legacy/myVideoFile.mp4 

コードでパスを取得するには:

String myFilePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/myVideoFile.mp4";

これで全部です。このソリューションは許可の問題を与えず、正常に機能します。

最後のポイント:ビデオのメタデータ情報を変更したいと思いました。デバイスに書き込みたい場合は、で権限を変更する必要がありAndroidManifest.xmlます。この行を追加します。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

3

バージョンごとに異なるパスがあるためです。これが一般的な解決策です:

パスを見つける...

  1. adb shellコマンドラインに入力します。
  2. 次にls、Enterキーを押します。

これで、Androidデバイスのファイルとディレクトリが表示されます。これで、内部または外部ストレージへのパスを組み合わせlscd dirName検索します。

ルートディレクトリでは、ディレクトリ名は次のようになりますmnt, sdcard, emulator0,など

例: adb push file.txt mnt/sdcard/myDir/Projects/


3

これを試して内部ストレージをプッシュしてください。

adb push my-file.apk ./storage/emulated/0/

SDカードなしでOne Plusデバイスで動作します。


0

システムフォルダに書き込もうとしています。ADBを使用すると、root(管理者)アクセス権があるため、SDカードがその1つであるシステムフォルダが表示され、使用できる画像を送信できます。

D:\ Program Files \ Android \ sdk \ platform-tools \ adb push am files \ android sdk \ adb.exe push C:\ Downloads \ anand.jpg / sdcard / pictures /

注:C:\ Downloads \ anand.jpgを画像のパスと名前に置き換えます。


0

Androidの特定のバージョンは、ファイルシステムの状態を更新するための適切なタスクを起動しません。ファイルシステムのステータスを更新する明示的なインテントをトリガーできます。(私は同じOPの状況になった直後にテストしました)

adb shell am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///

(のfile:///ようにではなく、特定のファイルパスを渡すことができます file:///sdcard


0

私の場合、Androidにまだ登録されている削除済みのSDカードがありました。だから私は下の私の古いSDカードのエントリーを長押ししました:

Settings | Storage & USB

「忘れる」を選択しました。

その後、正常

adb push myfile.zip /sdcard/

うまくいきました。


0

これがあなたが読むかもしれない最良の答えかもしれません。Android Studioのセットアップ次に、デバイスエクスプローラーを表示して開くだけです。フォルダを右クリックして、ファイルをアップロードします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.