如何使用 adb 命令将文件从计算机推送到 /data/.../databases/?
How to push a file from computer to /data/.../databases/ using adb command?
以下命令是拉取文件:
adb -d shell "run-as com.myapp cat /data/data/com.myapp/databases/file.db" > file.db
但是如何像 Android Studio 通过设备文件资源管理器那样将其推回?
使用这个命令
adb 推送
亚行拉动
没有用于上传文件的简单命令。 Android Studio 在使用设备文件资源管理器上传文件时所做的是:
- 通过
adb push
上传文件到/data/local/tmp/<random file name>
- 执行
adb shell run-as com.myapp sh -c 'cp /data/local/tmp/<random file name> /data/data/com.myapp/<path>/<final file-name>'
- 通过
adb shell rm /data/local/tmp/<random file name>
删除临时文件
- 使用
adb shell run-as com.myapp sh -c 'ls -al /data/data/com.myapp/<path>/'
获取设备文件资源管理器的更新视图
我通过使用 Wireshark 捕获 TCP 端口 5027 上的 adb 流量发现了这一点。一个有趣的细节是,使用 adb shell 命令执行的每个命令都使用 <command-to-be executed in adb shell> || echo ERR-ERR-ERR-ERR
的形式
根据罗伯特的回答,现在我可以这样做:
function dbpull() {
adb shell run-as "com..debug" cat "/data/data/com..debug/databases/.db" > "/Users/username/Desktop/.db"
}
function dbpush() {
adb push "/Users/username/Desktop/.db" "/sdcard/db/tmp/"
}
function dbpush2() {
adb shell run-as "com..debug" cp "/sdcard/db/tmp/.db" "/data/data/com..debug/databases/.db"
}
function dbcheck() {
adb shell run-as "com..debug" ls -al "/data/data/com..debug/databases/"
}
只需在 .bash_profile 中编写以上代码行,然后在终端中调用它。
dbpull myapp mydata
目前我更喜欢使用 Visual Studio 代码而不是 Android Studio 来开发我的 Android 应用程序。所以,我需要更多地了解终端中的命令,例如亚行,gradle,等等
希望对大家有用
以下命令是拉取文件:
adb -d shell "run-as com.myapp cat /data/data/com.myapp/databases/file.db" > file.db
但是如何像 Android Studio 通过设备文件资源管理器那样将其推回?
使用这个命令
adb 推送
亚行拉动
没有用于上传文件的简单命令。 Android Studio 在使用设备文件资源管理器上传文件时所做的是:
- 通过
adb push
上传文件到/data/local/tmp/<random file name>
- 执行
adb shell run-as com.myapp sh -c 'cp /data/local/tmp/<random file name> /data/data/com.myapp/<path>/<final file-name>'
- 通过
adb shell rm /data/local/tmp/<random file name>
删除临时文件
- 使用
adb shell run-as com.myapp sh -c 'ls -al /data/data/com.myapp/<path>/'
获取设备文件资源管理器的更新视图
我通过使用 Wireshark 捕获 TCP 端口 5027 上的 adb 流量发现了这一点。一个有趣的细节是,使用 adb shell 命令执行的每个命令都使用 <command-to-be executed in adb shell> || echo ERR-ERR-ERR-ERR
根据罗伯特的回答,现在我可以这样做:
function dbpull() {
adb shell run-as "com..debug" cat "/data/data/com..debug/databases/.db" > "/Users/username/Desktop/.db"
}
function dbpush() {
adb push "/Users/username/Desktop/.db" "/sdcard/db/tmp/"
}
function dbpush2() {
adb shell run-as "com..debug" cp "/sdcard/db/tmp/.db" "/data/data/com..debug/databases/.db"
}
function dbcheck() {
adb shell run-as "com..debug" ls -al "/data/data/com..debug/databases/"
}
只需在 .bash_profile 中编写以上代码行,然后在终端中调用它。
dbpull myapp mydata
目前我更喜欢使用 Visual Studio 代码而不是 Android Studio 来开发我的 Android 应用程序。所以,我需要更多地了解终端中的命令,例如亚行,gradle,等等
希望对大家有用