❶ android调试时“应用程序意外停止,请重试”,大侠帮帮我吧
我的出现都是 “应用程序意外停止,请重试 ”然后下面一个“强制关闭”按钮
❷ 为什么Android studio模拟器把电脑搞得哒哒哒响
1.androidStudio 运行app,打开创建的手机模拟器,一直黑屏,显示:
Guest isn’t online after 7 seconds, retrying ADB connections
如图:
解决方法:
Tools ——> Android ——> AVD Manager ——>Cold boot now
或者直接点击 AVD Manager小图标 ——>Cold boot now
2.androidStudio 运行app,控制台出现下列提示:
com.android.ddmlib.AdbCommandRejectedException: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
Error while Installing APK
你就尝试打开cmd 命令行界面,执行adb kill-server ,如果提示 adb不是内部或者外部命令
请看这个: https://blog.csdn.net/shanshan_1117/article/details/80451272
如果执行没有效果,那么咱们就得执行下一步了:
重新创建一个模拟器:
点击clone Device...,修改Device name 和RAM大小,RAM不宜太大,点击finish 完成;
选择Images,我的是X86的,如果现实Download,可点击下载;点击Next;
修改Graphics选择 Software -GlES2.0,点击finish完成;
OK了,创建完成了 可以试下了;
你也可以在你原来的创建的模拟器修改,Graphics选择 Software -GlES2.0;
3.将软件运行到模拟器上 直接退出问题;
adb驱动导致的问题: device offline
那是因为我同时开了两个模拟器,然后关了一个,怎么运行都退出。我 重启了下电脑 ,就可以了;
你也可以: 重启adb服务
adb kill-server
adb start-server
❸ 在Win7下用Eclipse开发Android应用时提示ddmlib:您的主机中的软件中止了一个已建立的连接
在任务管理器下将adb.exe进程杀死,然后在重启一下adb.exe
❹ 如何在Android里面使用代码截屏
回答:Android SDK的截屏
方法步骤:如下
方法一:
(1)主要就是利用SDK提供的View.getDrawingCache()方法。网上已经有很多的实例了。首先创建一个android project,然后进行Layout,画一个按键
HelloAndroid.java实现代码为:packagecom.example.helloandroid;
这个代码会在按下app中按键的时候自动在手机的/sdcard/目录下生成一个时间戳命名的png截屏文件。
这种截屏有一个问题,就是只能截到一部分,比如电池指示部分就截不出来了。
(2)在APK中调用“adb shell screencap -pfilepath” 命令
该命令读取系统的framebuffer,需要获得系统权限:
(1). 在AndroidManifest.xml文件中添加
(3).利用系统的API,实现Screenshot,这部分代码是系统隐藏的,需要在源码下编译,
1).修改Android.mk, 添加系统权限
LOCAL_CERTIFICATE := platform
2).修改AndroidManifest.xml 文件,添加
权限
方法二:
Android ddmlib进行截屏
Android本地编程(Native Programming)读取framebuffer
(1)命令行,框架的截屏功能是通过framebuffer来实现的,所以我们先来介绍一下framebuffer。
Linux FrameBuffer 本质上只是提供了对图形设备的硬件抽象,在开发者看来,FrameBuffer 是一块显示缓存,往显示缓存中写入特定格式的数据就意味着向屏幕输出内容。所以说FrameBuffer就是一块白板。例如对于初始化为16 位色的FrameBuffer 来说, FrameBuffer中的两个字节代表屏幕上一个点,从上到下,从左至右,屏幕位置与内存地址是顺序的线性关系。帧缓存有个地址,是在内存里。我们通过不停的向frame buffer中写入数据, 显示控制器就自动的从frame buffer中取数据并显示出来。全部的图形都共享内存中同一个帧缓存。
方法三:Android截屏实现思路
Android系统是基于Linux内核的,所以也存在framebuffer这个设备,我们要实现截屏的话只要能获取到framebuffer中的数据,然后把数据转换成图片就可以了,android中的framebuffer数据是存放在 /dev/graphics/fb0 文件中的,所以我们只需要来获取这个文件的数据就可以得到当前屏幕的内容。
现在我们的测试代码运行时候是通过RC(remote controller)方式来运行被测应用的,那就需要在PC机上来访问模拟器或者真机上的framebuffer数据,这个的话可以通过android的ADB命令来实现。
注意:
1、需要在AndroidManifest.xml中加入代码:android:sharedUserId="android.uid.system"。
2、由于调用了@hide的API,所以编译得时候请使用makefile编译。或者通过在Eclipse中添加Jar文件通过编译。
3、此代码只在Android4.0中使用过,2.3的就没去做测试了。
补充说明:
利用TakeScreenShotService截图Android手机一般都自带有手机屏幕截图的功能:在手机任何界面(当然手机要是开机点亮状态),通过按组合键,屏幕闪一下,然后咔嚓一声,截图的照片会保存到当前手机的图库中,
对手机android源码中通过组合键屏幕截图的整个流程有个大体了解了,在改动中熟悉按键的捕获原理,并且清楚调用的截屏函数接口即可。
❺ com.android.ddmlib.idevice 引入哪个包
结果:在XP的cmd里键入adbshell,出现错误:error:devicenotfound跪求敲adbshell你的AVD的虚拟机是不是没开启呀。LZ,现在这个问题到网上下载apk安装管理器
❻ com.android.ddmlib.SyncException: Permission denied
我也想知道,我的是中兴的,也出现这种问题,不知道是不是运营商定制机的原因.
❼ java.android Eclipse远程主机强迫关闭了一个现有的连接.
网络不稳定,你现在是用 AVD,可能是杀毒软件的防火墙干扰了。
如果是接真机的话,可能是数据线接触不良。
❽ com.android.ddmlib.AdbCommandRejectedException: device offline
结果:在XP的cmd里键入adb shell,出现错误:error:device not found 跪求敲adb shell 你的AVD的虚拟机是不是没开启呀。 LZ,现在这个问题
到网上下载apk安装管理器
❾ android com.android.ddmlib.SyncException: Permission denied
把根目录/default.prop文件里修改如下: ro.secure=1 to: ro.secure=0 http://stackoverflow.com/questions/7469785/permission-denied-error-while-installing-apk-on-device
❿ 如何进行android兼容性测试cts
二、运行CTS的方法,步骤如下:
(1)进入目录android-cts,该目录是通过上面那两种方法获得的。在android-cts目录下会有3个文件夹,其中一个是tools。
(2)进入tools目录,输入./startcts来启动CTS。
(3)如果运行成功会出现Android CTS version 2.3_r1的字样(我的android的版本是2.3的)。如果有连接设备到PC上还会出现Device(设备ID)connected的字样。这里设备可以是连接PC的android的机器,也可以是模拟器。
三、CTS测试的方法:
(1)在cts_host>下敲入help,会显示cts下的许多命令。ls –plan命令显示google自带的测试方案,如:Java、Signature、Android、CTS、VM、RefApp、Performance、AppSecurity。其中Performance这个方案是google暂不要求的。Java、Signature、Android、VM、RefApp、Appsecurity方案都是CTS方案的子集。
(2)用命令ls -d来查看已连接的设备,CTS测试之前我们必须保证至少有一个设备连接上。
(3)输入命令start –plan CTS来执行CTS测试方案,该方案有两万多条测试项目,需要很长时间,因此除了第一次测试之外,不建议这么做。我做的都是针对某些包的测试。如果连接了多个设备的话需加上-d参数,后面跟上设备id来告诉CTS需要测试的设备。
(4)对单独一个包进行测试的方法:start –plan CTS –p 包名;推荐用这种方法来进行针对性的测试。需要知道有哪些包名,可以输入命令:ls –plan CTS
(5)也可以针对单独一个case进行测试:start –plan CTS –test 类名#方法名
四、查看测试的结果:
测试生成的log在\android-cts\repository目录下以log+测试时间.txt命名。测试报告在android-cts\repository\results目录下,也是以测试时间命名。
五、注意事项:
(1)测试前需要安装一个apk:adb install -r android-cts/repository/testcases/.apk 然后在设置里面