adb 命令拷贝文件到安装包内置目录

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=$1
file=${path##*/}
dstFile=$file

# 拷贝并重命名
if [ $# -gt 1 ]; then
	dstFile=$2
fi

adb push $path /data/local/tmp
adb shell run-as com.alanwang4523.videodemo cp /data/local/tmp/$file files/$dstFile

你可能感兴趣的:(Android,Studio,Android,工具,adb,push,拷贝,内置目录)