这里有一些关于捕获Android应用程序截图的问题。但是,我还没有找到一个可靠的解决方案,如何使用android SDK或任何其他方法以编程方式截取屏幕截图。
所以我想我会再次提出这个问题,希望能找到一个好的解决方案,希望能够捕捉全长的图像,我可以保存到SD卡或类似的地方。
我提供任何帮助
答案 0 :(得分:3)
答案 1 :(得分:1)
monkeyrunner工具可以使用adb命令为你完成工作,[python script]
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
//waits for connection
device = MonkeyRunner.waitForConnection()
//take the current snapshot
device.takeSnapshot()
//stores the current snapshot in current dir in pc
device.writeToFile('current.png')\
//copy it to the sd card of device
os.subprocess.call('adb push current.png /sdcard/android/com.test.myapp/current.png')
注意:调用此jython脚本文件
monkeyrunner.bat<文件名>
答案 2 :(得分:0)
你很可能对这个答案不满意,但我见过的唯一一个涉及使用本机代码或执行本机命令。
编辑: 我以前没见过这个。你试过吗?: http://code.google.com/p/android-screenshot-library/
Edit2:检查了该库,这也是一个糟糕的解决方案。需要您从PC启动服务。所以我的初步答案仍然存在:)
Edit3:您应该可以通过执行与此类似的操作将视图另存为图像。您可能需要稍微调整一下,以便获得视图的宽度/高度。 (我正在给布局充气,并在布局代码时指定宽度/高度)
View content = getView();
Bitmap bitmap = Bitmap.createBitmap(width, height, Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
File file = new File(pathAndFilename);
file.createNewFile();
FileOutputStream ostream = new FileOutputStream(file);
bitmap.compress(CompressFormat.PNG, 100, ostream);
ostream.close();
答案 3 :(得分:0)
您可以查看http://codaset.com/jens-riboe/droidatscreen/wiki(在http://blog.ribomation.com/2010/01/droidscreen/处写一下):这是一个使用adb
捕获屏幕截图的Java库。我已经能够(用大量的肘部油脂)修改源代码,让我自动捕捉定时系列的屏幕截图(我用于演示视频)。
您可以在http://pastebin.com/hX5rQsSR
看到课程结构编辑:您将调用它(在捆绑所有要求之后),如下所示:
java -cp DroidScreen.jar --adb“” - device“” - prefix“” - interval