如何使用adb命令在没有SD卡的设备上推送文件

时间:2013-12-30 06:06:22

标签: android adb

如何将文件从计算机推送到没有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文件。 我没有在cmd提示符上获得任何成功结果,我只得到:

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

15 个答案:

答案 0 :(得分:101)

从Ubuntu终端,下面适合我。

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

答案 1 :(得分:31)

我是用这个命令做的:

语法:adb push filename.extnsion /sdcard/0/

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

答案 2 :(得分:24)

请按照以下步骤操作:

转到Android Sdk,然后转到终端或控制台上的“平台工具”路径

(在mac上,默认路径为:/ Users / USERNAME / Library / Android / sdk / platform-tools)

要检查设备上安装的SDCard(外部和内部),请触发以下命令:

  • 1) ./ adb shell (点击返回/输入)
  • 2) cd - (点击返回/输入)

现在您将看到Android设备中的目录和文件列表 在那里你可以找到/ sdcard以及/ storage

  • 3) cd / storage (点击返回/输入)
  • 4) ls (点击返回/输入)

您可能会看到sdcard0(通常是sdcard0是内部存储)和sdcard1(如果存在外部SD卡)

  • 5)退出(点击返回/输入)

来自adb shell

  • 6) ./ adb push'/Users/SML/Documents/filename.zip' / storage / sdcard0 / path_to_store / (点击返回/输入)

复制文件

答案 3 :(得分:9)

有时你需要扩展名,

  

adb push file.zip /sdcard/file.zip

答案 4 :(得分:6)

首先运行以下命令

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

答案 5 :(得分:4)

我有一台Nexus 4,没有外部存储空间。然而Android认为有一个,因为它挂载了一个名为“storage”的独立分区,安装在“/ storage / emulated / legacy”中,所以请尝试推送:adb push anand.jpg /storage/emulated/legacy

答案 6 :(得分:4)

我的解决方案(使用随机mp4视频文件的示例):

  1. 将文件设置为设备:

    adb push /home/myuser/myVideoFile.mp4 /storage/emulated/legacy/
    
  2. 从设备获取文件:

    adb pull /storage/emulated/legacy/myVideoFile.mp4 
    
  3. 用于检索代码中的路径:

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

    这就是全部。这个解决方案没有给出权限问题,而且工作正常。

    最后一点:我想更改视频元数据信息。如果您想要写入您的设备,则应更改AndroidManifest.xml中的权限。添加以下行:

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

答案 7 :(得分:2)

由于不同版本的路径不同。这是一个通用的解决方案:

找到路径......

  1. 在命令行中输入adb shell
  2. 然后ls并输入。
  3. 现在您将看到Android设备的文件和目录。现在结合lscd dirName找到内部或外部存储的路径。

    在根目录中,目录名称将类似于mnt, sdcard, emulator0,

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

答案 8 :(得分:1)

这可能是您可能会读到的最佳答案。 设定Android Studio 然后只需查看并打开设备资源管理器。 右键点击文件夹,然后上传文件。

答案 9 :(得分:1)

尝试所有答案后,这对我有用

我在哪里将桌面上的文件推送到使用 adb 无线连接的 Android 设备(Redmi K20 pro)。

此命令将文件推送到我手机上的下载文件夹

adb push ~/Desktop/notifications.drawio ./storage/emulated/0/Download

运行后如果出现权限被拒绝错误

尝试按顺序运行这些命令(这​​基本上改变了目录权限)

adb shell

chmod 777 /data/local/tmp

exit

然后运行 ​​try adb push 命令

我有 documented this here 随时分享您的观点并帮助改进它。

答案 10 :(得分:0)

您正在尝试写入系统文件夹。使用ADB,你有root(admin)访问权限,所以你可以看到系统文件夹,其中sdcard就是其中之一,以便发送你可以使用的图片

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

注意:C:\ Downloads \ anand.jpg将路径和名称替换为图片..

答案 11 :(得分:0)

某些版本的android不会激活正确的任务来更新文件系统的状态。 您可以触发更新文件系统状态的明确意图。 (我刚刚在相同的OP情况下测试过)

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

(您可以传递特定的文件路径,而不是像file:///} {/ p>那样传递file:///sdcard

答案 12 :(得分:0)

在我的情况下,我已经删除了已经在Android中注册的SDCard。 所以我在下面注释了旧SDCard的输入:

Settings | Storage & USB

并选择“忘记”。

之后正常

adb push myfile.zip /sdcard/

工作正常。

答案 13 :(得分:0)

尝试此操作以推入内部存储空间。

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

可在不带SD卡的一加设备中使用。

答案 14 :(得分:0)

在 Mac 中:通过 adb 推送文件

adb push /Users/Downloads⁩/amazon.sdktester.json '/mnt/sdcard/amazon.sdktester.json'