没有源码的情况:
在手机上需要装2个包:bin目录下的apk包,和将重新签名过的测试包一起装到手机中,即可运行
Permission Denial解决办法:
Test run failed: Permission Denial: starting instrumentation ComponentInfo{com.mobile17173.game.test1_2/android.test.InstrumentationTestRunner} from pid=6762, uid=6762 not allowed because package com.mobile17173.game.test1_2 does not have a signature matching the target com.mobile17173.game
Permission Denial:该原因是没有将包重新签名
clickOnView 点不中的原因可以解决了,如果不想改源码,那么就只能 使用320*480的adv就能点中。
或者修改 manifest.xml文件 加入<supports-screens android:anyDensity="true"/>
就可以在任一分辨率都可以支持了
manifest.xml文件 加入<supports-screens android:anyDensity="true"/>
反射相关:
http://hejianjie.iteye.com/blog/136205
1.在运行时判断任意一个对象所属的类
2.在运行时构造任意一个类的对象
3.在运行时判断任意一个类所具有的成员变量和方法(通过反射甚至可以调用private方法)
4.在运行时调用任意一个对象的方法(*****注意:前提都是在运行时,而不是在编译时)
//获得对象的类型
Class classType=obj.getClass();Field field=fields[i];
setup判断
如果启动后的界面是订阅,则不用setup,否则setup
setup(){
if(!activity.equals("订阅页")){
super.setup();
}
}
红米不能adb解决:
方案:在手机上安装:ViewServer.apk
注意:需要一直在手机后台开着。
开启ViewServer服务的ViewServer.apk在哪里下载?各市场里居然没有。。那么就自己编译一个吧。
android源代码下载地址:
http://pan.baidu.com/s/1sjIulYl
提取码:wrc8
注意:下载列表包含源码,和可安装的apk,能够直接使用。
View Hierarchy不能启动的原因
To preserve security, Hierarchy Viewer can only connect to devices running a developer version of the Android system
即:出于安全考虑,Hierarchy Viewer只能连接Android开发版手机或是模拟器(准确地说,只有ro.secure参数等于0且ro.debuggable等于1的android系统)。
Hierarchy Viewer在连接手机时,手机上必须启动一个叫View Server的客户端与其进行socket通信。而在商业手机上,是无法开启View Server的,故Hierarchy Viewer是无法连接到普通的商业手机。
1 |
public boolean startViewServer( int port) { |
2 |
if (isSystemSecure()) { |
3 |
return false ; |
4 |
} |
5 |
6 |
if (!checkCallingPermission(Manifest.permission.DUMP, "startViewServer" )) { |
7 |
return false ; |
8 |
} |
9 |
.... |