相关疑难解决方法(0)

在设备上调试sqlite数据库

我目前正在开发适用于Android的WiFi应用程序.我在尝试访问设备上的数据库时遇到问题.模拟器中的调试对我不起作用,因为模拟器中没有WiFi支持.我尝试使用将数据库文件从设备中拉出来

adb pull data/data/package-name/databases/database-name
Run Code Online (Sandbox Code Playgroud)

但我收到错误"Permission denied.".在这个答案Android:数据库文件存储在哪里?,Commonsware建议通过在调试模式下运行来提取数据库文件.但它也不起作用.任何有关如何调试数据库而不需要设备生根的帮助将非常感激.

sqlite android adb

94
推荐指数
7
解决办法
8万
查看次数

使用ADB捕获屏幕

我正试图尽快获得手机屏幕的截图.目前,我正在做:

adb shell screencap -p /sdcard/screencap.png && adb pull /sdcard/screencap.png         
Run Code Online (Sandbox Code Playgroud)

但它太慢,需要3秒钟.有没有更好的方法来做到这一点?我打算在没有根据的手机上使用此功能.

还有什么我可以用于screencap的不同论点?

谢谢.

编辑(额外信息):我打算使用这种方法能够将屏幕的实时馈送到我的电脑上.目前的方法有效但速度太慢.我无法使用,adb shell screenrecord因为在录制时我无法访问视频文件.

java android screenshot adb

51
推荐指数
6
解决办法
6万
查看次数

来自adb的Nexus One的屏幕截图?

我的目标是能够键入一个单词命令,并从USB连接的Nexus One屏幕截图中获取屏幕截图.

到目前为止,我可以32bit xRGB888通过这样拉动它来获得我认为是原始图像的帧缓冲:

adb pull /dev/graphics/fb0 fb0
Run Code Online (Sandbox Code Playgroud)

从那里开始,我很难将它转换为png.我正在尝试像这样的ffmpeg:

ffmpeg -vframes 1 -vcodec rawvideo -f rawvideo -pix_fmt rgb8888 -s 480x800 -i fb0 -f image2 -vcodec png image.png
Run Code Online (Sandbox Code Playgroud)

这创造了一个可爱的紫色图像,其部分模糊地与屏幕相似,但它绝不是一个干净的屏幕截图.

graphics android screenshot ffmpeg

46
推荐指数
5
解决办法
3万
查看次数

浏览Android SQLite数据库中的数据

有没有办法让Android用户在他/她的手机上浏览SQLite数据库并查看数据库中的数据?

我经常使用SoftTrace beta程序.它很棒,但我无法找到将其跟踪的数据下载到PC.

database sqlite android

39
推荐指数
4
解决办法
4万
查看次数

使用adb screenrecord命令通过USB将Android屏幕镜像到PC

我尝试过fadden的建议,将Android屏幕镜像到PC,但vlc播放器屏幕没有显示任何内容:

在此输入图像描述

这个函数的正确命令行是什么?谢谢.

android adb screencast

28
推荐指数
4
解决办法
3万
查看次数

如何通过adb尽快捕获屏幕?

最近,我写了一个PC客户端,可以使用adb实时显示和控制我的Android手机屏幕.我使用猴子来控制设备,它工作正常.问题是如何抓住手机屏幕并顺利显示.

第一个解决方案,我想出了是不断抢framebufferadb(如DDMS的屏幕捕捉功能).现在,当我这样做时,性能是非常不可接受的.从中捕获的帧速率低至framebuffer每秒5帧(帧大小为800*480).当我在手机上滑动时,我的程序看起来像打嗝.

我的程序是用java编写的,ddmslib用来抓取framebuffer.

add:
我发现将原始framebuffer数据编码为.png格式要慢得多,否则这将是传输压缩原始图像的快速方法.

如何将屏幕捕获速度提高到平稳水平?

android adb

26
推荐指数
3
解决办法
4万
查看次数

将完整磁盘映像从Android复制到计算机

我有一部智能手机,无法插入SD卡.我想转储最大的分区(因为我丢失了文件,我想使用转储来恢复它们).

分区是10GB.

我正在寻找使用但没有任何东西的ADB命令......pulldd

我尝试使用Carliv touch recoveryOTG的32GB usb密钥,但USB密钥没有安装......然后我无法直接在手机上使用"dd" Aroma file manager和终端仿真.

谢谢!

android adb

22
推荐指数
3
解决办法
6万
查看次数

通过ADB shell传输二进制数据(即使用tar快速传输文件)

我一直在尝试使用类似的东西将文件从我的Android设备移动到我的osx机器:adb shell tar -c directory_to_copy | tar -x.似乎远程tar正在工作,但文件被破坏的方式.经过一番游戏,我发现:

  • 似乎adb shell命令将LF转换为CRLF:

    % adb shell 'cd /mnt/sdcard;echo hi>a.bin'
    % adb shell 'cd /mnt/sdcard;cat a.bin' | hexdump -C
    00000000  68 69 0d 0a                                       |hi..|
    00000004
    % adb pull /mnt/sdcard/a.bin
    0 KB/s (3 bytes in 0.457s)
    % hexdump -C a.bin
    00000000  68 69 0a                                          |hi.|
    00000003
    
    Run Code Online (Sandbox Code Playgroud)
  • 它看起来是服务器或守护进程导致的而不是客户端(请参阅len = 4):

    % ADB_TRACE=1 adb shell 'cd /mnt/sdcard;cat a.bin'
    [... snip ...]
    system/core/adb/commandline.c::read_and_dump():read_and_dump(): post adb_read(fd=3): len=4
    [... snip ...]
    
    Run Code Online (Sandbox Code Playgroud)

我猜这个守护进程在windows用户的shell命令中进行了那种翻译.

我的问题是:

  1. 跆拳道?(那是什么以及为了什么目的?)
  2. 有没有办法告诉它(adbd?)不这样做?
  3. 任何人都可以想到任何创造性的方法来绕过它(我想到base64编码数据,但我宁愿避免这种开销.另外,创建本地文件不是一个选项,因为我的文件系统已经很满了)

谢谢!

android adb

13
推荐指数
3
解决办法
7627
查看次数

将文件内容从android重定向到计算机

我正在执行adb shell调用以使用ffmpeg创建新的图像文件.目前,我将ffmpeg转换的输出jpg保存到设备,然后使用adb pull将文件拉到计算机.我想知道我是否可以先将其保存在android上,然后将其直接保存到计算机上.

这是我试图运行的代码(本质上):

adb shell "screencap | /data/local/tmp/tools/./ffmpeg -f rawvideo -vcodec mjpeg -q:v 5 -" > C:/Users/User/Desktop/new.jpg
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我运行它时,它不仅复制了ffmpeg调用的输出数据,还复制了打印到adb标准输出的所有内容.所以我留下了一个jpg文件,其中包含我的所有图像数据,但顶部有一堆单词(adb shell调用的输出).

谢谢.

android adb io-redirection

7
推荐指数
1
解决办法
988
查看次数

使用adb&perl捕获android设备屏幕截图

我尝试使用单线程解决方案通过adb捕获屏幕截图,并且该文件在PC上成功创建,但它不可读:

 C:\Program Files\Android\android-sdk\platform-tools>adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > c:\users\utilisateur\desktop\android_screenshot1.png
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

该文件似乎是正确的,但我认为魔术是不正确的: 在此输入图像描述

编辑: Git Bash for Windows也出现了同样的问题.

windows perl android screenshot adb

5
推荐指数
2
解决办法
6327
查看次数

Android 设备上截图使用哪些命令行(screencap 除外)

我想使用命令行截取已 root 的三星设备的屏幕截图。我时间有限,不能超过2秒。所以我的问题是如何使用命令行截取屏幕截图。

screenshot

3
推荐指数
1
解决办法
9074
查看次数