【问题标题】:Android work profile app: how to push and pull dataAndroid 工作资料应用程序:如何推送和拉取数据
【发布时间】:2020-04-21 08:55:42
【问题描述】:

我安装了工作资料应用程序,并且可以使用getExternalFilesDir("logs") 以编程方式访问数据的位置,这导致存储位置为/storage/emulated/11/Android/data/com.example.workprofile/files/logs

我想知道如何将数据推送到日志文件夹并使用adb 拉取。

【问题讨论】:

  • 下面的答案有帮助吗?

标签: android adb android-work-profile


【解决方案1】:

假设您要复制名为data.log 的文件。以下命令会将文件推送到临时文件夹中

adb shell push data.log /data/local/tmp

然后您可以将其复制到您应用的私有区域:

adb shell run-as com.example.workprofile cp /data/local/tmp/data.log /data/data/com.example.workprofile/files/logs/data.log

如果你想拉取文件,你可以做相反的事情,但你必须确保你要复制的文件已经存在于/data/local/tmp文件夹中以解决权限拒绝问题(如果文件不存在) .

希望这会有所帮助。

【讨论】:

  • 上述方法适用于路径/data/data/com....,但是不适用于工作配置文件上的应用程序,因为不同的sdcard路径说/storage/emulated/11/Android/data/...并导致permission denied
  • 当应用程序具有WRITE_EXTERNAL_STORAGE 权限时,这仅适用于 Android 11(及更高版本)。如果没有,该应用程序将无法访问 /data/local/tmp 或我知道的任何其他(临时)目录。所以文件可以很好地推送,但工作资料用户无法看到/访问它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-22
  • 1970-01-01
相关资源
最近更新 更多