sd kart olmadan cihazda bir dosya göndermek için adb komutu nasıl kullanılır


106

Bilgisayardan, içinde SD Kartı olmayan bir android cihaza dosya gönderme. Denedim:

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)

bir dosyayı anand.jpgcihaza taşımak için yukarıdaki komutlar ancak bu jpgdosyayı cihazda almadım . Cmd isteminde herhangi bir başarı sonucu alamadım, sadece aldım:

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

3
Deneyin adb shell "cd /data/local && mkdir tmp"o zaman adb push anand.jpg /data/local/tmp. Cihazdaki dosyayı ile nasıl kontrol edersiniz adb shell?

@RC Dosyaları kontrol etmek için ls komutunu kullanıyorum. emülatördeki DDMS görünümünde en azından anladım. ama yine de cihazda alamadım. "adb push" komutunu denediğimde, aygıtın gerçek aygıt için bulunamadığını gösteriyor. ancak adb cihazları cihazı gösteriyor.
Nikhil Kumar

Öykünücüyü durdurur, aygıtın fişini

1
Bu soru, programlama ile ilgili olmadığı için konu dışı görünüyor. Burada , Yardım Merkezinde hangi konular hakkında soru sorabilirim konusuna bakın . Belki de Android Meraklıları Stack Exchange sormak için daha iyi bir yer olabilir.
jww

RC'nin önerisi benim için bu varyasyonda çalıştı: adb shell "cd /sdcard && mkdir temp"sonra abd push x.apk /sdcard/temp"dosyamı sdcard'ımdaki geçici klasörde buldum ve oradan flaş yapabildim.
Kajetan Abt

Yanıtlar:


133

Ubuntu Terminalinden, aşağıdaki benim için çalışıyor.

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

Windows cmd komut isteminde çalışıyorum, pencerelerde bana nasıl yapılacağını söyleyebilir misiniz?
Nikhil Kumar

'./' öğesini kaldırın ve basit adb veya adb.exe'yi kullanın. Android için yol belirlemediyseniz, platform araçları klasöründe olduğunuzdan emin olun.
Hardik Trivedi

2
Bunu telefonu rootlamadan yapabilir miyiz?
Jacob

2
@HardikTrivedi: Genel olarak adb push kullanmak için mi yoksa bu belirli dosya hedefi için köklendirme gerektiğini mi söylüyorsunuz? Root olmayan bir cihazda Android cihazın SD kartına bir dosya yazmak için adb push kullanıyorum.
RenniePet

2
Push komutu rootlu olmayan telefon için de çalışır, sadece / data klasörü rootlu kullanıcı gerektirir.
Hardik Trivedi

35

Bu komutu kullanarak yaptım:

sözdizimi: adb push filename.extension /sdcard/0/

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


1
bir mp3 dosyasını mac osX'ten bir Android 5.0 cihazına taşıdım ve cihazda bulunacak dosyanın adını yazmam gerekiyordu, yani "adb push /file.mp3 /sdcard/fileOrOtherFileName.mp3"
DoruChidean

28

Bu adımları takip et :

Android Sdk'ye gidin ve ardından Terminal veya Konsolunuzdaki 'platform araçları' yoluna gidin

(mac'ta varsayılan yol: / Users / USERNAME / Library / Android / sdk / platform-tools)

Cihazınıza takılı SDCard'ları (Harici ve Dahili) kontrol etmek için şu komutları çalıştırın:

  • 1) ./adb shell (return / enter tuşuna basın)
  • 2) cd - (return / enter tuşuna basın)

şimdi android cihazınızdaki Dizinlerin ve dosyaların listesini göreceksiniz, orada / sdcard ve / storage

  • 3) cd / depolama (return / enter tuşuna basın)
  • 4) ls (Return / Enter tuşuna basın)

sdcard0 (genellikle sdcard0 dahili depolamadır) ve sdcard1 (Harici SDCard varsa) görebilirsiniz

  • 5) çık (Return / enter'a bas)

adb kabuğundan çıkmak

  • 6) ./adb push '/Users/SML/Documents/filename.zip' / storage / sdcard0 / path_to_store / (return / enter tuşuna basın)

dosyayı kopyalamak


11

Bazen uzantıya ihtiyacınız olur,

adb push file.zip /sdcard/file.zip


1
LG Nexus 5'im var ve içine harici sdcard koyamazsınız ancak dahili belleğin bir kısmı bir sdcard gibi davranıyor Bu durumda sdcard sadece kök seviyesinde bir dizindir 'adb shell' çağırarak kontrol edebilirsiniz. Kabuk
içindeyken

9

öncelikle aşağıdaki komutu çalıştır

adb root
adb remount

Sonra daha önce girdiğiniz şeyi yürütün

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

Harici depolama alanı olmayan bir Nexus 4'üm var. Ancak Android, "/ storage / emulated / legacy" içine yerleştirilmiş "storage" adlı ayrı bir bölüm oluşturduğu için buna sahip olmayı düşünür, bu yüzden oraya itmeyi deneyin:adb push anand.jpg /storage/emulated/legacy


Nexus 4 /sdcard.file.zip'im için harika çalıştı.
sud007

4

Çözümüm (rastgele bir mp4 video dosyasıyla örnek):

  1. Cihaza bir dosya ayarlayın:

    adb push /home/myuser/myVideoFile.mp4 /storage/emulated/legacy/
  2. Cihazdan bir dosya alın:

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

Koddaki yolu almak için:

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

Hepsi bu. Bu çözüm izin sorunları vermez ve iyi çalışıyor.

Son nokta: Video meta veri bilgilerini değiştirmek istedim. Cihazınıza yazmak istiyorsanız, içindeki izni değiştirmelisiniz AndroidManifest.xml. Bu satırı ekleyin:

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

3

Farklı sürümler için farklı yollar olduğu için. İşte genel bir çözüm:

Yolu bul ...

  1. adb shellKomut satırına girin .
  2. Sonra lsve Girin.

Şimdi Android cihazının dosyalarını ve dizinlerini göreceksiniz. Şimdi kombinasyonu ile lsve cd dirNameDahili veya harici depolama yolunu bulmak.

Kök dizinde, dizin isimleri mnt, sdcard, emulator0,vb. Olacaktır.

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


3

Dahili depolamayı göndermek için bunu deneyin.

adb benim-dosyam.apk'a itin ./storage/emulated/0/

SD kart olmadan One plus cihazda çalışır.


0

Sistem klasörlerine yazmaya çalışıyorsunuz. ADB ile kök (yönetici) erişiminiz vardır, böylece sdcard'ın bunlardan biri olduğu sistem klasörlerini görürsünüz, böylece kullanabileceğiniz bir resim göndermek için

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

NB: C: \ Downloads \ anand.jpg, resim için yol ve ad ile değiştirin ..


0

Bazı android sürümleri, dosya sisteminin durumunu güncellemek için uygun görevleri yerine getirmez. Dosya sisteminin durumunu güncellemek için açık bir niyet tetikleyebilirsiniz. (Aynı OP'nin durumunda bulunduktan sonra test ettim)

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

(Onun yerine belirli bir dosyayolu geçebileceği file:///gibi file:///sdcard)


0

Benim durumumda, zaten Android'de kayıtlı bir SDCard'ım vardı. Bu yüzden eski SDCard'ımın girişine uzun süre bastım:

Settings | Storage & USB

ve "Unut" u seçin.

Daha sonra normal

adb push myfile.zip /sdcard/

iyi çalıştı.


0

Bu okuyabileceğiniz en iyi cevap olabilir. Android Studio Kurulumu Ardından, Aygıt Gezgini'ni görüntüleyin ve açın. Klasöre sağ tıklayın ve sadece bir dosya yükleyin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.