android学习

来源:互联网 发布:通信协议和网络协议 编辑:程序博客网 时间:2024/06/04 18:41

一 robotium问题

1 布局文件main.xml学习,AndroidManifest.xml文件学习

2 robotium包引用问题:除了加入这个包到构建路径外还要在Order and Export中勾选robotium-solo-5.2.1.jar选项,否则测试项目找不到solo,这点需要注意,不知道为虾米。。

3 当用robotium做黑盒测试,即自己只有一个apk包,而没有项目源代码时,需要保证得到的这个apk包的签名与测试项目apk包签名相同,一般可以通过重新删除这个apk包签名然后再重新加上签名,这个可以使用re-sign.jar工具一步完成,并且可以得到apk的包名和主Activity的名称。

如果不用re-sign手动完成的步骤如下:

a ) 解压apk包

b)删除META-INF文件夹

c)重新压缩APK文件,然后将xxx.apk.zip重命名为xxx.apk

d)  在命令行用jarsigner工具对该apk重新签名,并用zipalign优化apk包,命令如下:

jarsigner -keystore ~/.android/debug.keystore -storepass android -keypass android appName.apk androiddebugkeyzipalign 4 appName.apk TempAppName.apk

然后可以将tempxxx文件重新命名回appName.app

对于Java7用下面的命令行:

jarsigner -keystore ~/.android/debug.keystore -storepass android -keypass android -sigalg MD5withRSA -digestalg SHA1 applicationName.apk androiddebugkey

re-sign.jar这个工具的步骤其实也就是整合上面几个步骤,完成之后在测试项目里。选择新建一个工作集,然后在AndroidManifest.xml需要指明待测的包名:

    <instrumentation        android:name="android.test.InstrumentationTestRunner"        <span style="color:#FF0000;">android:targetPackage="com.xlf.calculator"</span> />  <!--表明需要测试的apk包-->
这个很重要!!

在测试主文件中如TestApk.java文件中,设置LAUNCHER_ACTIVITY_FULL_CLASSNAME="com.xlf.calculator.MainActivity",这是待测包的主函数。


0 0
原创粉丝点击