`
jy503160
  • 浏览: 18675 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

转:android 单元测试出现错误及改正

 
阅读更多

1.Test run failed:Instrumentation run failed due to 'java.lang.ClassNotFoundException'

  原因是找不到单元测试的类,后来经过仔细看代码及网上查找终于解决,现在记录下来便于以后查找解决办法,问题简单下次就记得了,但是做的项目多了,问题也多了就易忘记或遗漏,好记性不如烂笔头真的一点不错。从头再来,遇到问题就记录下来。

  解决方法:打开androidmanifest.xml文件在<activity> **** </activity>之间加上配置

<!-- 单元测试配置 -->
<uses-library android:name="android.test.runner" />

 

 

<!-- 单元测试配置 -->
<uses-library android:name="android.test.runner" />

 

别忘了导入junit4包

2. Caused by: java.lang.ClassNotFoundException: android.test.InstrumentationTestRunner in loader dalvik.system.PathClassLoader[/data/app/tyrj.lr.sqliteapply-1.apk:

  解决办法:在androidmanifest.xml文件的</application>标签之前加上

<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="tyrj.lr.sqliteapply" >

 

 

<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="tyrj.lr.sqliteapply" >

 

  这里的包设置和此xml文件的最上面的Package设置相同

  </instrumentation>

3.android.content.res.Resources$NotFoundException: String resource ID

  在执行sqlite查询数据操作时出现错误,通过错误信息找到错误代码行,原来是利用cursor游标获得Int 类型的数据没有转换,编译器没通过,不能得到游标获取到的值。

  错误行: int id = cursor.getColumnIndex("id");

  int age = cursor.getColumnIndex("age");

  解决:

 

int id = cursor.getInt(cursor.getColumnIndex("id"));
int age = cursor.getInt(cursor.getColumnIndex("age"));

 

int id = cursor.getInt(cursor.getColumnIndex("id"));
int age = cursor.getInt(cursor.getColumnIndex("age"));

 

 

 

用Eclipse 开发Android小程序遇到些小问题,在一边学习的过程中,将遇到的问题就记录一下,方面挺杂的,有关于程序出错的,关于linux应用的,有eclipse设置等~

1、ERROR: Application requires API version 10. Device API version is 8 解决方法:修改两个配置文件 1:在AndroidManifest.xml里, <uses-sdk android:minSdkVersion="8" />找到這一行,這行是表示要執行這個應用程式所需要的最低版本,把數字改成模擬器上面的版本。(Device API) 2:在default.properties里 target=android-8 把target改为要运行模拟器的版本就OK了。(application requires API)

2、Android requires compiler compliance level 5.0. Please fix project properties.错误 解决方法: 1. 项目 右键 ->android tools ->Fix Project 2. 如果不可以,检查Project -> Properties->Java Compiler 确认JDK compliance被设置为1.6,并且enable specific seetings.

3、下载的.java文件中,注释基本都是中文的,在linux中文部分乱码问题 windows下中文的编码一般为gbk,而linux下中文的编码一般为utf8,所以在windows下正常打开的文件,到linux下很可能会出现乱码。 解决办法:使用命令iconv对文件内容编码进行转换。例如我有一个文件"linux常用命令"在windows下打开正常,而在linux下打开则会乱码,办法为在终端输入: iconv -f gbk -t utf8 linux常用命令.txt > linux常用命令_cn.txt 之后再打开"linux常用命令_cn.txt"这个文件,该文件的乱码问题就解决了。

4、exlipse 三种方法显示行号 解决方法: 1.ctrl+f10显示菜单,勾选show line number选项; 2.在代码编辑区的最左边(即应显示行号位置)点右键,出现的快捷菜单如解决方法1; 3.依次点击Window(或代码编辑区内点右键)->Preferences->Gerenal->Editors->Text Editors,然后在show line number复选框打对号即可

5、windows下安装eclipse以及java jdk 环境变量设置

1、eclipse下载地址http://www.eclipse.org/downloads/,找到与自己用的系统相匹配的下载下来,然后解压就可以了

java jdk下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html

2、java jdk环境变量的配置:简单来说就是要设置path和classpath,path是要加上bin,classpath里面是lib。

我的电脑->属性->高级系统配置。

1)path系统里面都有了,只要在里面加上bin的地址就可以,每个路径之间用;隔开。

例如:C:\Program Files\Java\jdk1.6.0\bin

2)classpath要自己新建,当然如果已经有了,在里面编辑就可以,注意classpath前面要有.;代表当前路径。

例如:.;C:\Program Files\Java\jdk1.6.0\lib\dt.jar;C:\Program Files\Java\jdk1.6.0\lib\tools.jar

3)为了方便书写和以后的更改,可以设置java_home变量,将其设为C:\Program Files\Java\jdk1.6.0,这样path和classpath里面就可以用%java_home%来替换C:\Program Files\Java\jdk1.6.0

例如:path可设置为%java_home%\bin

6、配置好环境,运行eclipse出现Failed to load the JNI shared library jvm.dll错误

解决方法:用的windows是64位的,下了64位的eclipse,但是下的java sdk是32位的,失误了。。。换成64位~

7、ANT环境变量设置

Windows下ANT用到的环境变量主要有2个,ANT_HOME 、PATH。

设置ANT_HOME指向ant的安装目录。

设置方法:ANT_HOME = D:\apache_ant_1.7.0

将%ANT_HOME%\bin; %ANT_HOME%\lib添加到环境变量的path中。

设置方法:PATH = %ANT_HOME%\bin; %ANT_HOME%\lib

8、Expected to find it in D:\jre6\lib\tools.jar

命令行敲ant命令后提示:“Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar”;ANT_HOME环境变量已经配置; 解决途径:将“C:\Program Files\Java\jdk1.6.0_16\lib”目录下的tools.jar文件拷贝到“C:\Program Files\Java\jre6\lib”目录下,重新运行命令ant,运行正常,问题解决。

9、Test run failed: Instrumentation run failed due to 'java.lang.ClassNotFoundException'

没有引入JUnit,查看配置里面是否勾选了JUnit. Project -> Properties -> Java Build Path -> Order and Export and check JUnit if it is unchecked.

10、Test run failed: Instrumentation run failed due to 'java.lang.ClassCastException'

把包删掉,开发工程的包和测试包都删,重新装!!!

11、安装好ADT和Android SDK,没有Android SDK Manager 和Android virtual Device Manager 两个图标

Eclipse ->window->customize Perpective->Command Groups Availability 勾选andorid 选项

12、error: Error: No resource found that matches the given name (at 'background' with value '@drawable/btn_title_back_big').

错误显示基本所有资源文件都出错,在console位置点击右键,选择preferences,讲console buffer size设置足够大可以加个0,就可以看到是哪一个资源文件出错了,修正即可。

分享到:
评论

相关推荐

    Android代码-Android中必要的一环—单元测试

    AndroidUT 具体说明(已完结) Android单元测试(一):JUnit框架的使用 Android单元测试(二):...Android单元测试(七):MVP与单元测试 Android单元测试(八):Dagger与单元测试 Android单元测试(九):查漏补缺篇

    Android单元测试-对Activity的测试

    上一篇文章已经介绍了单元测试的作用和简单示例,如果不了解的读者可以先阅读上一篇[ Android单元测试-作用以及简单示例](http://blog.csdn.net/double2hao/article/details/77159380)。 这篇文章主要介绍常见的...

    Android单元测试初探——Instrumentation

    学习Android有一段时间了,虽然前段时间对软件测试有了一些了解,不过接触android的单元测试却是头一次。这几天在物流大赛上也用了不少时间,所以对于android的单元测试没有太深入的研究,所以先写个基本入门吧!...

    Android单元测试与Volley单元测试

    Android单元测试,结合一些测试框架(如:Robolectric、Mockito等)与Volley网络请求的单元测试

    Android单元测试Demo

    Android单元测试简单Demo,教程在:http://blog.csdn.net/yanzhenjie1003/article/details/44919777

    AndroidUnitTest:Android单元测试

    本文主要聊聊Android中的单元测试,主要内容如下:单元测试的目的以及测试内容Android中的单元测试分类JUnit注解本地单元测试仪器化单元测试常用的单元测试开源库实践经验其他一、单元测试的目的以及测试内容为什么...

    android单元测试实例一

    这是一个android的单元测试实例,包括登录等三个界面,测试代码是单独的一个项目

    CMDN CLUB # 17期:Android开发的单元测试

    CMDN CLUB # 17期:Android开发的单元测试

    傅雪锋:Android开发的单元测试

    傅雪峰本次他主要的演讲内容以“Android开发的单元测试”为主题,分别从单元测试的简介及流程,为什么做单元测试,以及Android单元测试的框架还有第三方的测试框架三个方面展开。

    Android代码-android-unit-testing-tutorial

    Android单元测试(三):JUnit单元测试框架的使用 代码和测试代码在junit子package下面 Android单元测试在蘑菇街支付金融部门的实践 代码和测试代码在groupshare子package下面 Android单元测试(四):Mock以及Mockito...

    Android 之 单元测试

    NULL 博文链接:https://sunzone.iteye.com/blog/1998106

    Android高薪之路:Android程序员面试宝典

    Android高薪之路:Android程序员面试宝典

    Android 单元测试、Monkey、LeakCanary测试demo项目

    Android 单元测试、Monkey、LeakCanary测试demo项目 核心要点: 单元测试覆盖,提高开发、测试效率,保证底层基础类型的正确性. 测试对象: 非UI的Class都可以进行单元测试. Monkey 压力测试 配合 LeakCanary, 获取...

    Android JUnit单元测试实例

    Android JUnit单元测试基本实例

    详解Android单元测试最佳实践

    充分的单元测试就是提高代码质量最有效的手段之一,而单元测试严重依赖代码的可测试性,本文主要通过一个简单的DEMO演示如何对Android原生应用进行单元测试,同时示例代码采用MVP模式以提高代码的可读性和可测试性 ...

    robolectric, Android单元测试框架.zip

    robolectric, Android单元测试框架 Robolectric是一个测试框架,用于对 Android SDK进行测试,这样你就可以以测试 Android 应用 开发。用法下面是使用Robolectric编写的简单测试的示例:@RunWith(Robo

    android单元测试

    NULL 博文链接:https://geyubin.iteye.com/blog/1466023

    AndroidJunit单元测试4部曲

    我们曾经和大家探讨过全面剖析JavaME单元测试理念,其实在Android上实现JUnit单元测试也不是很困难,主要是在配置文件和测试环境上将花费很长时间,下面从四步简单讲一下在Android上实  我们曾经和大家探讨过全面...

Global site tag (gtag.js) - Google Analytics