我使用adb和以下命令连接到我的live设备:
C:\>adb -s HT829GZ52000 shell
$ ls
ls
sqlite_stmt_journals
cache
sdcard
etc
system
sys
sbin
proc
logo.rle
init.trout.rc
init.rc
init.goldfish.rc
init
default.prop
data
root
dev
$ cd data
cd data
$ ls
ls
opendir failed, Permission denied
Run Code Online (Sandbox Code Playgroud)
我惊讶地发现我有访问被拒绝.为什么我不能使用这样的命令行浏览目录?
如何在手机上获得root访问权限?
在非root用户设备上,我可以使用run-as带有我的包名称的命令导航到包含数据库的数据文件夹.我满意的大多数文件类型只是查看,但我想从Android设备拉数据库.
是否有一个download copy或move亚行外壳,这部分命令?我想下载数据库文件并使用数据库浏览器查看其内容.
这里的一个答案涉及将整个应用程序包转换为压缩存档,但是一旦完成并移动到机器上,如何提取该存档就没有进一步的答案,当我可能有一个更直接的解决方案开始
我需要查看我的SQLite数据库,但我不知道该怎么做.我已经去了http://www.sqlite.org/download.html并为我的操作系统下载了命令行shell,但是当我运行程序并输入时adb ...我得到了错误.
注意:我正在使用Android Studio,所以我假设我不需要安装任何额外的东西因为我记得Android Studio说它有所需的所有SDK工具.
在android 6.0.1上我尝试使用run-as时收到此错误.
?> ~ adb shell 14:29:01
shell@trlte:/ $ run-as org.ligi.passandroid
run-as: Could not set capabilities: Operation not permitted
Run Code Online (Sandbox Code Playgroud)
我真的很喜欢run-as命令 - 有没有办法让它在6.0.1上运行?
我正在尝试自动化从我的应用程序中提取数据库然后将更改后的版本推回到设备的过程,但它没有按预期工作.
按照Pilot_51对此主题的回答,Android ADB访问没有root的应用程序数据库,我能够提取手动运行命令的数据库.但是当我把它们放在.bat文件上时,每个执行的Unix命令都会返回一个"未找到"的错误.
这是我得到的错误:
run-as:exec因chmod 666 ./database/mydatabase.db而失败; 退出错误:没有这样的文件或目录
这是.bat脚本代码:
@echo off
:Ask
echo (A) Pull or (B) Push
set INPUT=
set /P INPUT=Input choice: %=%
If /I "%INPUT%"=="a" goto A
If /I "%INPUT%"=="b" goto B
echo Wrong choice & goto Ask
:A
adb shell "run-as com.example.myapp 'chmod 666 ./databases/mydatabase.db; exit'; exit"
adb pull /data/data/com.example.myapp/databases/mydatabase.db C:/
goto End
:B
adb push C:/mydatabase.db /data/data/com.example.myapp/databases/mydatabase.db
adb shell "run-as com.example.myapp 'chmod 660 ./databases/mydatabase.db; exit'; exit"
:End
pause
Run Code Online (Sandbox Code Playgroud)
如果我尝试仅使用"run-as com.example.myapp'ls'"运行adb …
所以我知道有人问过类似的问题,但我找不到适合我的具体情况的东西。
我有一个创建数据库并填充数据库等的应用程序,但是我在设备上没有超级用户访问权限,所以这是我的问题。我需要使用一些值填充此数据库,然后将其导入到我的应用程序/设备中。
如果我具有root用户访问权限,则可以直接替换/data/data/com.my.application/databases文件夹中的数据库,但是由于我没有root用户访问权限,因此我需要能够导入更改后的数据库此位置并替换标准位置。
谁能帮我一些代码或如何将数据库导入此文件夹的示例?我只需要能够导入和替换现有的。
谢谢,Wihan