Android 高版本手机无法直接读取外置 sdcard 的文件,而且还需要动态申请读写权限,在做 demo 测试时不方便。将测试文件放入 /data/data/packagename 下则不需要申请存储权限,而且可以直接读写,方便测试、调试。
一种方式是通过 Android Studio 的 Device File Explorer 上传电脑上的文件,但需要打开工程找到测试 demo 对应的安装目录,再上上传,比较繁琐。所以期望使用 adb 命令直接传进去。
但直接 adb push 是没有权限将文件直接 push 到包名下的目录的,但可以通过 tmp 目录和 run-as 命令实现。
使用说明:
./adb_push.sh <输入文件路径> <拷贝后的文件名>
./adb_push.sh ~/Desktop/test.json data.json
脚本如下,将脚本中的包名(com.alanwang4523.videodemo)改成你自己的就行。
#!/bin/sh# 使用方法,拷贝后的文件名为可选参数,如果不带该参数则与源文件同名# ./adb_push.sh <输入文件路径> <拷贝后的文件名>path=$1file=${path##*/}dstFile=$file# 拷贝并重命名if [ $# -gt 1 ]; thendstFile=$2fiadb push $path /data/local/tmpadb shell run-as com.alanwang4523.videodemo cp /data/local/tmp/$file files/$dstFile
来源地址:https://blog.csdn.net/u011520181/article/details/131805196