Log界面vivo设置界面截图截图求助

刚开始porting 1.0的case到2.0上的时候,发现2.0的log现在输出到了android log里面,必须使用logcat才能抓取出来
这样给开发人员,调试case带来很多麻烦。
代码里面System.out.println()输出log的方法应该可以用,只是最后也输出到的android log里面,tag为System.out
同时保存截图时候,无法保存到sdcard下
1.截图问题原因及解决方法
public void takeScreenshot(String name) {
Log.d(TAG, "takeScreenshot");
String dir = String.format("%s/%s", Environment.getExternalStorageDirectory().getPath(), "screen");
Log.d(TAG,dir);
File theDir = new File(dir);
if (!theDir.exists()) {
theDir.mkdirs();
device.takeScreenshot(new File(String.format("%s/%s", dir, name)));
logcat抓到log是没有权限创建文件夹(androidManifest上已经添加了读写SDCARD的权限)
&uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /&
&uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&
原因:在androidM以后对于权限问题要求很严格,但是androidM/N,为了兼容以前的apk,所以当SDK API &23时候,权限问题要求就
解决方法:targetSdkVersion22
defaultConfig {
applicationId "com.example.zhenyang.helloui"
minSdkVersion 11
targetSdkVersion 22
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
2. 输出log到控制台
public void log(String info){
Bundle bundle = new Bundle();
bundle.clear();
bundle.putString("System.out"," "+info);
instrumentation.sendStatus(0,bundle);
效果如下:
UIAutomator2.0详解(UIDevice篇----截屏)
UIDevice为截屏提供了两个接口方法。分别是:(1)public boolean takeScreenshot(File storePath)
(2)public boolean takeScr...
Android自动化测试(UiAutomator)——截图功能
本文主要介绍如何使用takeScreenshot来进行屏幕截图,仅供参考。
以下为主要代码段
// Simulate a short press on the HOME butto...
UiAutomator2.0
UI测试(功能测试、黑盒测试)不需要测试者了解应用程序的内部实现细节,只需要知道当执行了某些特定的动作后是否会得到其预期的输出。这种测试方法,在团队合作中可以更好地分离的开发和测试...
android UiAutomator如何把log、截图和测试报告放在一起
本人在使用android UiAutomator做测试的时候,在断言之前都会截图留证,方便以后查找。随着执行的次数增多,截图也越来越多,log文件也变成了上万行,如果找起来非常不方便。故而想了一个把每...
uiautomator2.0 截图保存失败解决办法
之前公司项目一直是使用的uiautomator1.0,用也能用,但是无法输入中文某些时候也的确不方便,后来看到google的Android studio逐渐成熟,而且最新的jar包esclipse用不...
Android UiAutomator自动化测试时一个保存log文件的方法
有的网友说他们自动化测试时间比较长,全程抓取log,其log文件达到了好几G的大小,问有没有办法只在发现bug的时候抓log。
当然办法是有的,我的设想如下:在每个测试用例开始时同时开始抓l...
UIAutomator remote debug方法
UIAutomator可以远程调试,但是google官方的文档没有介绍,通过在线的调试可以大大加快脚本开发的进度。...
UI Automator Viewer的使用
uiautomatorviewer是android SDK自带的工具。通过截屏并分析XML布局文件的方式,为用户提供控件信息查看服务。该工具位于SDK目录下的tools\bin子目录下。可以看到,它是...
将uiautomator的case日志输出成xml格式的方式
文章:基于UIAutomator+Jenkins Android自动化测试 实现
【Android测试】【第十三节】Uiautomator——项目实战
  前面我们已经了解Uiautomator的基本知识,并且学习了API的用法,因此对于我们来说完成一个UI自动化测试脚本并不难,但是如何将UI自动化应用在实际的项目中,帮我们提高测试的效率...
没有更多推荐了,The Free Encyclopedia
Read Wikipedia in your language
1&000&000+
Wikipedia apps are now available:
This page is available under theSina Visitor SystemWin7 Logon Screen Capture_在Win7登陆界面截图 V1.4 多国语言版 - 偶要下载站
偶要下载站 / 绿色软件下载联盟站!为大家提供一手绿色软件下载服务!
当前位置: &
> Win7 Logon Screen Capture_在Win7登陆界面截图 V1.4 多国语言版
Win7 Logon Screen Capture_在Win7登陆界面截图 V1.4 多国语言版
您想没想过在Win7登陆界面截图呢?Logon Screen Capture这个小程序可以帮您实现在Win7登陆界面时进行截图!
提示:打开 C:\Windows\System32 目录,找到 Utilman.exe 文件,并为Utilman_backu.exe 复制Utilman.exe 到该目录中,然后锁定windows,点击登录界面左下角的“轻松访问”按钮即可截图!
Windows 7 Logon Background Changer又名《Win7登陆界面更换器》,这个软件修改登陆界面也不涉及到系统文件的更改,还是...
这款Win7登陆界面软件也是很不错的,和本软件是同类也有很多人下载,您可以试一下它!
143KB | 简体中文 | ★★☆☆☆
864KB | 简体中文 | ★★☆☆☆
867KB | 英文 | ★★☆☆☆
453KB | 英文 | ★★☆☆☆
501KB | 多国语言 | ★★☆☆☆
516KB | 汉化中文 | ★★☆☆☆
782KB | 简体中文 | ★★☆☆☆
8.98MB | 简体中文 | ★★☆☆☆
105KB | 简体中文 | ★★☆☆☆
290KB | 简体中文 | ★★☆☆☆
Win7 Logon Screen Capture_在Win7登陆界面截图 V1.4 多国语言版
如果看不到下载地址,请更换其他浏览器!
想下载到手机上? 鼠标移动到左边二维码上扫一扫即可!
1、如果发现下载地址不能下载,请多试几个下载地址!安装及使用时出现问题,安装方法与使用教程请到官方网站获取或搜索。
2、为了保证您享受到最快的下载速度,推荐安装迅雷下载工具。如果下载后出现不能解压,请安装winrar等解压缩包软件!
3、如果下载的压缩包文件需要解压密码,网址就是解压密码:www.ouyaoxiazai.com
4、本站不提供该下载软件的破解版,注册机,注册码,序列号,注册密钥,激活码,等相关信息下载以及咨询!
免费版/简体中文/★★☆☆☆
共享版/简体中文/★★☆☆☆
免费版/简体中文/★★★☆☆
绿色版/简体中文/★★☆☆☆
免费版/简体中文/★★☆☆☆
绿色版/简体中文/★★☆☆☆
下载排行榜
人气下载榜
偶要下载站集绿色软件下载、手机软件与游戏、各种素材、字体下载于一身的联盟网站,致力打造一个纯绿色软件下载乐园。
本站为非营利性网站,中国绿色联盟提供的资源均来自网络收集整理,下载个人纯属学习交流之用,如有侵犯您的版权请与我联系,我们会马上改正请在下载24小时内删除!
Copyright &
偶要下载(OuyaoXiazai.Com) All Rights Reserved. 鲁ICP备号 鲁公网安备74号android截屏的几种方法
1. Surface.screenshot方法
Display display = getWindowManager().getDefaultDisplay();
Method mth = Surface.class.getDeclaredMethod("screenshot", int.class, int.class);
Bitmap bmp = (Bitmap)mth.invoke(null, display.getWidth(),display.getHeight());
OutputStream out = MainActivity.this.openFileOutput("screen.png", MODE_WORLD_READABLE);
bmp.compress(Bitmap.CompressFormat.PNG, 100, out);
out.close();
Log.i("zxp","capture succeed");
}catch(Exception e){
Log.e("zxp","unable capture screen: ",e);
即通过反射调用Surface的隐藏方法public static native Bitmap screenshot(int width, int height);。此方法需要android.permission.READ_FRAME_BUFFER权限,而这个权限只能授予系统应用。所以需要源码编译或使用plantform密钥签名。因为android项目是开源的,所以可以使用。
另外需要在AndroidManifext.xml中的manifest标签中添加android:sharedUserId="android.uid.system"
局限:只能在虚拟机或其他使用android源码中密钥编译的系统中使用。
2. 使用shell命令screencap,screenshot
screencap与screenshot用法
usage: screencap [-hp] [-d display-id] [FILENAME]
-h: this message
-p: save the file as a png.
-d: specify the display id to capture, default 0.
If FILENAME ends with .png it will be saved as a png.
If FILENAME is not given, the results will be printed to stdout.
---------------------------------------------------------------
usage: screenshot [-s soundfile] filename.png
-s: play a sound effect to signal success
-i: autoincrement to avoid overwriting filename.png
screencap与screenshot都可以截屏并保存为文件。但screencap可以将截取的图片直接打印到输出流。对于一些其他操作而不需要保存到文件时可以使用screencap。
局限:需要root权限。
findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//转为灰色图片或其他操作
Bitmap bmp = convert2Grey(captureScreen());
//保存到文件
OutputStream out = openFileOutput("gray.png",
Context.MODE_WORLD_READABLE);
bmp.compress(Bitmap.CompressFormat.PNG, 100, out);
out.flush();
out.close();
Log.i("zxp", "capture succeed");
} catch (Exception e) {
Log.e("zxp", "unable capture screen: ", e);
public Bitmap captureScreen() throws Exception {
Process pro = Runtime.getRuntime().exec("su -c screencap -p");
InputStream in = pro.getInputStream();
Bitmap bmp = BitmapFactory.decodeStream(in);
in.close();
pro.destroy();
public Bitmap convert2Grey(Bitmap img) {
int width = img.getWidth(); // 获取位图的宽
int height = img.getHeight(); // 获取位图的高
int[] pixels = new int[width * height]; // 通过位图的大小创建像素点数组
img.getPixels(pixels, 0, width, 0, 0, width, height);
int alpha = 0xFF && 24;
for (int i = 0; i & i++) {
for (int j = 0; j & j++) {
int grey = pixels[width * i + j];
int red = ((grey & 0x00FF0000) && 16);
int green = ((grey & 0x0000FF00) && 8);
int blue = (grey & 0x000000FF);
grey = (int) ((float) red * 0.3 + (float) green * 0.59 + (float) blue * 0.11);
grey = alpha | (grey && 16) | (grey && 8) |
pixels[width * i + j] =
Bitmap result = Bitmap.createBitmap(width, height, Config.RGB_565);
result.setPixels(pixels, 0, width, 0, 0, width, height);
3.View.getDrawingCache()
这个方法没有其他限制,但它只能取得调用者的图像。
findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//因为调用者是被点击的button,所以只能取得该Button的图像
v.setDrawingCacheEnabled(true);
Bitmap bmp = v.getDrawingCache();
OutputStream out = openFileOutput("button.png",
Context.MODE_WORLD_READABLE);
bmp.compress(Bitmap.CompressFormat.PNG, 100, out);
out.flush();
out.close();
Log.i("zxp", "capture succeed");
} catch (Exception e) {
Log.e("zxp", "unable capture screen: ", e);
上述代码的调用结果如下:
但可以调用顶级view取得整个activity的图像
public Bitmap getTopView(){
View view = getWindow().getDecorView();
view.setDrawingCacheEnabled(true);
return view.getDrawingCache();
局限:该方法只能取得调用者view的图像,也就是说这不是实际意义上的“截屏”.
Copyright (C) , All Rights Reserved.
版权所有 闽ICP备号
processed in 0.064 (s). 13 q(s)}

我要回帖

更多关于 手机银行界面不能截图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信