[英]Why am I getting Permission Denied when trying to push a Sqlite file to my rooted Android device?
所以我有一个本地Sqlite
文件,我试图推送到我的Rooted Android (Nexus 7 2013) 设备。 我已经确认是通过绑定adb adb shell
, su
并看到显示的#而不是$
我正在尝试运行以下命令:
adb push D:\tfs\MyApp\MyDatabase.db3 /data/data/MyApp/files/MyDatabase.db3
但我不断得到
无法将 ...MyApp.. 复制到 ...MyApp...:权限被拒绝
adb shell su -c "mount -o rw,remount /data"
adb shell su -c "chmod 777 /data"
但即使在运行上述两个命令并运行我的Push
Command 之后,我仍然得到Permission Denied 。
我究竟做错了什么?
'adb push' 无法推送到 data/data/ 目录。 但是,您可以使用这样的中转站来做到这一点:
adb push D:\tfs\MyApp\MyDatabase.db3 ~/sdcard/MyDatabase.db3
adb shell
su
mv /sdcard/MyDatabase.db3 /data/data/MyApp/files/MyDatabase.db3
它对我有用,祝你好运。
从我的本地C:/Apps
推送 APK 文件,例如:“MyApp”到/data/local/tmp/
adb push C:/Apps/MyApp /data/local/tmp/
给出 Permission Denied 错误
完成这项工作的步骤(按顺序发出这些命令)
adb shell
su
chmod 777 /data/local/tmp/
exit
chmod 777 /data/local/tmp/
exit
现在,如果我给 adb push,它就起作用了
adb push C:/Apps/MyApp /data/local/tmp/
好的,这就是我的解决方案。
我的手机已经植根,但由于某种原因,这还不足以做任何你想做的事情。
我不得不去下载 apk 到我这里提到的名为adbd insecure的设备上,您可以在该线程上或从google play store下载。 然后我必须在我的设备上打开应用程序并单击“启用不安全的 adbd” ,然后我还单击了“启动时启用”
在此运行我的正常命令之后:
adb push D:\tfs\MyApp\MyDatabase.db3 /data/data/MyApp/files/MyDatabase.db3
工作过
运行以下命令:
adb root
或者
adb wait-for-device root && adb remount
.\adb.exe push c:/files-to-push.zip /mnt/sdcard/Download
.\adb.exe push c:/files-to-push.zip /sdcard/Download
进入 adb 文件夹后(在我的情况下为c:/adb
)
我连接了: .\adb.exe connect 127.0.0.1:58526
然后我尝试通过运行来推送这个 zip 文件c:/Games/pokemon.zip
:
.\adb.exe push c:/Games/pokemon.zip /mnt/sdcard/Download
我收到了这个错误:
adb: error: stat failed when trying to push to /mnt/sdcard/Download: Permission denied
我试图将文件推送到不存在的路径...
就我而言,我尝试推送到/mnt/sdcard/Download
然后在运行adb shell
之后,我可以访问控制台
最后只是输入ls
来检查我在那里有哪个文件夹
就我而言,我看到没有/mnt
所以在那之后我尝试ls /sdcard
并看到那里的Download
文件夹......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.