在尝试将Sqlite文件推送到我的root设备时,为什么我会拒绝权限?

时间:2016-05-18 09:01:09

标签: android shell permissions adb root

所以我有一个本地Sqlite文件,我试图推送到 Rooted Android(Nexus 7 2013)设备。通过绑定adb shellsu并显示而不是,我已确认 Rooted $

我正在尝试运行以下命令:

adb push D:\tfs\MyApp\MyDatabase.db3 /data/data/MyApp/files/MyDatabase.db3

但我一直在

  

无法复制... MyApp .. to ... MyApp ...:Permission denied

我搜索了互联网,找到了答案herehere,并提出了以下建议:

adb shell su -c "mount -o rw,remount /data"
adb shell su -c "chmod 777 /data"

但即使在运行上述两个命令并运行我的Push命令后,我仍然会获得权限被拒绝

我做错了什么?

3 个答案:

答案 0 :(得分:9)

' adb push'无法推送到数据/数据/目录。 但是,您可以使用这样的转运站来实现:

"AccessToken": {
"dataSource": "local",
"public": false
},

var session = require('express-session'); app.use(session({ secret: 'keyboard cat', resave: false, saveUninitialized: false, cookie: { maxAge: 60000 } // in milliseconds, cookie will expire after one minute }));

adb push D:\tfs\MyApp\MyDatabase.db3 ~/sdcard/MyDatabase.db3

对我有用,祝你好运。

答案 1 :(得分:1)

好的,这就是我的解决方案。

我的手机已经 Rooted 但由于某种原因,这并不足以做任何你想要的事情。

我必须将apk下载到名为 adbd insecure 提及here的设备上,您可以在该主题或google play store下载该设备。然后,我必须在我的设备上打开应用,然后点击"启用不安全的adbd" ,我还点击"启动时启用"

在运行我的正常命令之后:

adb push D:\tfs\MyApp\MyDatabase.db3 /data/data/MyApp/files/MyDatabase.db3

工作

答案 2 :(得分:0)

要将APK文件例如:“ MyApp”从我的本地/data/local/tmp/推送到C:/Apps

adb push C:/Apps/MyApp /data/local/tmp/出现权限被拒绝错误

完成这项工作的步骤(按顺序发出这些命令)

  1. adb shell
  2. su
  3. chmod 777 /data/local/tmp/
  4. exit
  5. chmod 777 /data/local/tmp/
  6. exit

现在如果我给adb push,它就可以了

adb push C:/Apps/MyApp /data/local/tmp/