1. 新建Android Test Project,会出现java.lang.NullPointerException错误
现象:建立新的Android Test Project,会出现java.lang.NullPointerException错误(如下图),这个会影响到我最后录制脚本吗?
解答:会有影响,因为这种情况下新建的测试工程是不完整的,录完的脚本无法运行。出现这个错误通常是因为您的测试工程是Eclipse中的第一个工程。解决办法:确保Eclipse中至少有一个其他工程,然后再建一个新的Android Test Project,在新建的这个Android Test Project上进行录制。
解答:会有影响,因为这种情况下新建的测试工程是不完整的,录完的脚本无法运行。出现这个错误通常是因为您的测试工程是Eclipse中的第一个工程。解决办法:确保Eclipse中至少有一个其他工程,然后再建一个新的Android Test Project,在新建的这个Android Test Project上进行录制。
2. 在Eclipse中运行Robotium出现NoClassDefFoundError错误
背景:
在Eclipse中右键测试项目,已经在Build Path-》Copnfigure Build Path-》Libraries-》Add External JARs中添加robotium-solo-4.0.jar,然后选择项目Run As-》Android JUnit Test后,仍然以下错误:
java.lang.NoClassDefFoundError:com.jayway.android.robotium.solo.Solo
at com.renren.mobile.android.test.TestApk.setUp(TestApk.java:37)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:537)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1677)
解决办法:
在Eclipse中右键测试项目,
Build Path-》Copnfigure Build Path-》Libraries-》Add External JARs中添加robotium-solo-4.0.jar后,还需切换到Order and Export,勾选
robotium-solo-4.0.jar,并把它移至首位。
3. Eclipse中怎么打开logcat
解决方案:顶部菜单栏 window -> show views -> other ->android
4. Apk架构的识别
就目前而言,apk包的架构只有3种,一种是arms架构,一种是mips架构,剩下就是通用架构apk了
那如何去判断一个新拿到手的apk包是什么架构的呢?
当我们拿到一个apk包时,比如Calculator.apk,我们可以将这个apk包的后缀更名为.zip格式,然后双击打开它。在这个压缩包中,如果有一个叫lib的文件夹,进入后,若其中包含“armeas”的文件夹的话,那么这个apk包就是arms架构的;如果其中包含“mips”的文件夹的话,那么这个apk包就是mips架构的;假如没有lib文件夹,那么这个apk包就是通用的apk,应该任何平台的android系统都可以安装。
进入dos环境,进入adb目录,输入上面的命令就可以解决这个问题了
6. java.lang.NoClassDefFoundError:com.jayway.android.robotium.solo.solo错误解觉
java.lang.NoClassDefFoundError: com.jayway.android.robotium.solo.Solo
at com.skymobi.android.qc.test.RobotTest.setUp(RobotTest.java:46)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:529)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1448)
解决方案:
at com.skymobi.android.qc.test.RobotTest.setUp(RobotTest.java:46)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:529)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1448)
解决方案:
在eclipse中进行如下设置
- "Properties > Java Build Path > Libraries", delete "Android Dependencies" in my test project.
- "Properties > Java Build Path > Libraries", delete two robotium jar and click "Add JARs" to re-import robotium jar in my test project.
- "Properties > Java Build Path > Order and Export", check two checkbok of robotium jar (and othera you want exported.)
- Clean my test project.