cara menggunakan perintah adb untuk mendorong file di perangkat tanpa kartu sd

104

Cara mendorong file dari komputer ke perangkat android yang tidak memiliki Kartu SD di dalamnya. Saya mencoba:

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)

perintah di atas untuk memindahkan file anand.jpgke perangkat tetapi saya tidak mendapatkan jpgfile ini di perangkat. Saya tidak mendapatkan hasil yang sukses pada prompt cmd, saya hanya mendapatkan:

3399 KB/s (111387 bytes in 0.032s).
Nikhil Kumar
sumber
3
Kalau adb shell "cd /data/local && mkdir tmp"begitu coba adb push anand.jpg /data/local/tmp. Bagaimana Anda memeriksa file di perangkat adb shell?
@ RC saya menggunakan perintah ls untuk memeriksa file. saya mendapatkannya setidaknya pada tampilan DDMS di emulator. tetapi tetap saja saya tidak mendapatkannya di perangkat. ketika saya mencoba "adb push" perintah itu menunjukkan perangkat tidak ditemukan untuk perangkat nyata. tetapi perangkat adb menampilkan perangkat tersebut.
Nikhil Kumar
Saya akan menghentikan emulator, mencabut perangkat, kemudian setelah memastikan perangkat dalam mode debug, pasang perangkat dan coba lagi
1
Pertanyaan ini tampaknya di luar topik karena ini bukan tentang pemrograman. Lihat Topik apa yang dapat saya tanyakan di sini di Pusat Bantuan. Mungkin Android Enthusiasts Stack Exchange bisa menjadi tempat yang lebih baik untuk bertanya.
jww
Saran RC bekerja dalam variasi ini untuk saya: adb shell "cd /sdcard && mkdir temp"kemudian abd push x.apk /sdcard/temp"saya berakhir dengan file saya di folder temp di sdcard saya, dan dapat mem-flash dari sana.
Kajetan Abt

Jawaban:

130

Dari Terminal Ubuntu, di bawah ini berfungsi untuk saya.

./adb push '/home/hardik.trivedi/Downloads/one.jpg' '/data/local/'
Hardik Trivedi
sumber
Saya bekerja pada windows cmd prompt bisakah Anda memberi tahu saya di windows bagaimana melakukannya.
Nikhil Kumar
hapus saja './' dan gunakan adb atau adb.exe sederhana. Pastikan Anda berada di folder platform-tools jika Anda belum menyetel jalur untuk android.
Hardik Trivedi
2
Bisakah kita melakukan ini tanpa me-rooting ponsel?
Jacob
2
@HardikTrivedi: Apakah Anda mengatakan bahwa rooting diperlukan untuk menggunakan adb push secara umum, atau untuk tujuan file khusus ini? Saya menggunakan adb push untuk menulis file di kartu SD perangkat Android pada perangkat yang tidak di-rooting.
RenniePet
2
Agar perintah push juga berfungsi untuk ponsel yang tidak di-rooting, hanya / folder data yang membutuhkan pengguna yang di-root.
Hardik Trivedi
33

Saya melakukannya dengan menggunakan perintah ini:

sintaksis: adb push filename.extension /sdcard/0/

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

vincsilver
sumber
1
baru saja memindahkan file mp3 dari mac osX ke perangkat android 5.0 dan saya harus menulis nama file yang akan ada di perangkat, yaitu "adb push /file.mp3 /sdcard/fileOrOtherFileName.mp3"
DoruChidean
28

Ikuti langkah ini :

buka Android Sdk lalu jalur 'platform-tools' di Terminal atau Konsol Anda

(di mac, jalur defaultnya adalah: / Users / USERNAME / Library / Android / sdk / platform-tools)

Untuk memeriksa Kartu SD (Eksternal dan Internal) yang diinstal pada perangkat Anda, jalankan perintah ini:

  • 1) ./adb shell (tekan kembali / enter)
  • 2) cd - (tekan kembali / enter)

sekarang Anda akan melihat daftar Direktori dan file dari perangkat android Anda di sana, Anda dapat menemukan / sdcard serta / storage

  • 3) cd / penyimpanan (tekan kembali / enter)
  • 4) ls (tekan kembali / enter)

Anda mungkin melihat sdcard0 (umumnya sdcard0 adalah penyimpanan internal) dan sdcard1 (jika SDCard Eksternal ada)

  • 5) keluar (tekan kembali / masuk)

untuk keluar dari shell adb

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

untuk menyalin file

SML
sumber
11

Terkadang Anda membutuhkan ekstensi,

adb push file.zip /sdcard/file.zip

Jonas Borggren
sumber
1
Saya memiliki LG Nexus 5 dan Anda tidak dapat meletakkan sdcard eksternal di dalamnya tetapi bagian dari memori internal berperilaku seperti itu adalah kartu sd. Dalam hal ini sdcard hanyalah sebuah direktori di tingkat root Anda dapat memeriksanya dengan memanggil 'adb shell' Ketika Anda berada di shell, panggil 'ls' untuk daftar direktori
cstuncsik
8

jalankan di bawah perintah terlebih dahulu

adb root
adb remount

Kemudian jalankan apa yang Anda masukan sebelumnya

C:\anand>adb push anand.jpg /data/local
C:\anand>adb push anand.jpg /data/opt
C:\anand>adb push anand.jpg /data/tmp
Rocky Chen
sumber
4

Saya punya Nexus 4, tanpa penyimpanan eksternal. Namun Android berpikir untuk memilikinya karena ia memasang partisi terpisah yang disebut "penyimpanan", dipasang di "/ storage / emulated / legacy", jadi coba dorong di sana:adb push anand.jpg /storage/emulated/legacy

Maik
sumber
Untuk nexus 4 /sdcard.file.zip saya bekerja seperti pesona.
sud007
4

Solusi saya (contoh dengan file video mp4 acak):

  1. Setel file ke perangkat:

    adb push /home/myuser/myVideoFile.mp4 /storage/emulated/legacy/
  2. Dapatkan file dari perangkat:

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

Untuk mengambil jalur dalam kode:

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

Ini semuanya. Solusi ini tidak memberikan masalah izin dan berfungsi dengan baik.

Poin terakhir: Saya ingin mengubah informasi metadata video. Jika Anda ingin menulis ke perangkat Anda, Anda harus mengubah izin di AndroidManifest.xml. Tambahkan baris ini:

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

Karena ada jalur yang berbeda untuk versi yang berbeda. Berikut ini solusi umum:

Temukan jalannya ...

  1. Masukkan adb shelldi baris perintah.
  2. Lalu lsdan Enter.

Sekarang Anda akan melihat file dan direktori perangkat Android. Sekarang dengan kombinasi lsdan cd dirNametemukan jalur ke penyimpanan Internal atau Eksternal.

Di direktori root, nama direktori akan menjadi seperti mnt, sdcard, emulator0,dll

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

M. Usman Khan
sumber
3

Coba ini untuk mendorong penyimpanan internal.

adb mendorong file-saya.apk ./storage/emulated/0/

Bekerja di perangkat One plus, tanpa kartu SD.

Naitik Soni
sumber
0

Anda mencoba untuk menulis ke folder sistem. Dengan ADB Anda memiliki akses root (admin) sehingga Anda melihat folder sistem di mana sdcard adalah salah satunya sehingga untuk mengirim gambar yang dapat Anda gunakan

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

NB: C: \ Downloads \ anand.jpg ganti dengan path dan nama ke gambar ..

pengguna3555061
sumber
0

Versi android tertentu tidak mengaktifkan tugas yang tepat untuk memperbarui status sistem file. Anda bisa memicu maksud eksplisit untuk memperbarui status sistem file. (Saya baru saja menguji setelah berada dalam situasi OP yang sama)

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

(Anda bisa melewati jalur file tertentu alih-alih file:///suka file:///sdcard)

pemecah
sumber
0

Dalam kasus saya, saya memiliki SDCard yang sudah dihapus yang masih terdaftar di Android. Jadi saya lama menekan entri untuk SDCard lama saya di bawah:

Settings | Storage & USB

dan memilih "Lupakan".

Setelah itu normal

adb push myfile.zip /sdcard/

bekerja dengan baik.

Beladau
sumber
0

Ini mungkin jawaban terbaik yang mungkin Anda baca. Setup Android Studio Lalu pergi ke view & Open Device Explorer. Klik kanan pada folder & cukup unggah file.

Rushabh Gedam
sumber