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,就可以看到是哪一个资源文件出错了,修正即可。