1.Caused by: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.ButtonClassCastException:类型转换错误,TextView不能转换位Button,原因是我在findViewById的时候将TextView的一个声明成button,还有就是讲findViewById前面的(TextView)写成(Button)
2.Caused by: java.lang.IllegalStateException: ScrollView can host only one direct child根据报错信息提示,ScrollView控件下面必须有且只有一个子布局,不要将ScrollView当ListView等布局来直接在其中编写控件,而要先在ScrollView控件中写入LinearLayout,然后再将其他子控件写入到LinearLayout;
3.java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called.原因是我的ListView需要addHeadView();但是我是在setAdapter()方法之后才addHeadView的,但奇怪的是,这种做法在4.0版本上都没有报错,在4.0版本上面报错;
4.我在写一个布局文件的时候需要将一个按钮的监听器OnClickListener在按钮点击之后重新设置(也就是在OnClickListener监听器响应之后就改变这个监听器),在Android4.0上面这个更改过的OnClickListener在响应完一次后,又恢复到了原来的OnClickListern监听器,但是在2.3则维持了改变后的OnCLickListener;
5.Invalid project description
今天我在导入一个Library项目时,出现了这个提示,搜索的结果是项目中.project文件中name可能是因为你的工程名不同而造成的我检查后并没有发现不同,后来想到导入Library的项目时,Library项目和导入Library的项目需要处在同一级目录下,于是我将Library复制到workspace,这样就好了;
今天又遇到同样的问题,度娘和谷哥都是说项目中的.project中的name和项目名字不一样,但我的确实不是这个问题,后来看一篇博文说的是因为AndroidManifest.xml文件版本不同造成的,解决办法是将项目复制到其他地方再导入即可,我将项目从workspace中复制到桌面导入,果然可以了
6.Migrate Android Code
这是我在从svn下载一个项目时遇到的,搜索的结果基本是将代码中的switch cases 改成 if else的方式,在eclipse中可以使用 ctrl+1快捷方式切换,具体原因我还不清楚,如果你知道原因,请回复或者发我邮件,谢谢;
7.Eclispe无法识别Android SDK的目录
可以尝试升级adt来解决这个问题
8.最新版的adt无法创建R文件
打开Android SDK Manager,勾选第一个目录中的Anroid SDK Build-tools并下载安装即可
9.java.lang.NullPointerException
JAVA开发和Android开发最常遇到的异常(没有之一),每一个学JAVA的人都对他恨之入骨,由于其可能导致的原因众多,我就讲讲我遇到的情况,我是因为用map获取一个不存在的key导致爆出空指针异常
10.java.lang.NoClassDefFoundError: com.umeng.analytics.MobclickAgent
android 植入友盟/广告异常, ADT18对引用的jar有要求,要求jar包要放到项目下的libs里才可以找到,否则apk不会包含该jar包。
11.ble to execute dex: Multiple dex files define Landroid/support/v4/app/ActivityCompatHoneycomb;
libs下的android-support-v4.jar重复,将android-support-v4.jar删除即可
12.com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper] Unable to read C:\AndroidManifest.xml: java.io.FileNotFoundException: C:\AndroidManifest.xml (系统找不到指定的文件。)
1、
Win7 下
进入:C:\Users\(当前用户)\.android
删除:debug.keystore,ddms.cfg 二文件
xp
进入:C:\Documents and Settings\Administrator\.android
删除:debug.keystore,ddms.cfg 二文件
2、
重启 eclipse
13.[2013-06-04 09:56:29 - xxx] Re-installation failed due to different application signatures.[2013-06-04 09:56:29 - xxx] You must perform a full uninstall of the application. WARNING: This will remove the application data!
[2013-06-04 09:56:29 - xxx] Please execute 'adb uninstall com.xxxx.xxx' in a shell.
[2013-06-04 09:56:29 - xxx] Launch canceled!
原因是手机或者模拟器里面装了已经发布的带有自己签名的apk了,但是项目开发中用的是自带的模拟debug证书,解决办法就是英文提示所说的,删除模拟器或手机里面已经安装过得项目apk,然后再run一下项目即可
14.The library 'android_xxxxxxxxx.jar' contains native libraries that will not run on the device.
在网上搜索的方法不能解决我的问题,最后在stackoverflow发现了一个解决办法,在Eclipse上面设置,选择windows——preferences——android——build,取消勾选改设置页面Build Setting的第一个和第二个复选框即可
如图所示: <ignore_js_op style="word-wrap: break-word; color: rgb(68, 68, 68); font-family: Tahoma, 'Microsoft Yahei', Simsun;">
15.java.lang.NoClassDefFoundError: com.umeng.analytics.MobclickAgent
办添加友盟sdk出现的错误,解决办法是右键项目,选择“Properties”,然后点击Java Builde Path——Order and Export,将未勾选的jar包复选框勾选确定即可
如图所示: <ignore_js_op style="word-wrap: break-word; color: rgb(68, 68, 68); font-family: Tahoma, 'Microsoft Yahei', Simsun;">
16.LogCat无法输出日志信息
将LogCat关掉重新打开即可,点击LogCat右边的叉号即可关闭LogCat,然后点击Windows——Show View,看看有没有LogCat,有的话就选择,LogCat就会弹出,没有的话,点击other,在弹出框中点击Android文件夹,选择LogCat即可
如果重启LogCat还不行的话,可以重启Eclipse
17.java.io.IOException: 您的主机中的软件中止了一个已建立的连接。 at sun.nio.ch.SocketDispatcher.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(Unknown Source)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source)
at sun.nio.ch.IOUtil.write(Unknown Source)
at sun.nio.ch.SocketChannelImpl.write(Unknown Source)
at com.android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213)
at com.android.ddmlib.Client.sendAndConsume(Client.java:575)
at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:348)
at com.android.ddmlib.Client.requestAllocationStatus(Client.java:421)
at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:854)
at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:822)
at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:781)
at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:649)
at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:42)
at com.android.ddmlib.DeviceMonitor$3.run(DeviceMonitor.java:577)
原因是打开了两个Eclipse,关掉其中的一个即可
18.Failed to allocate memory: 8 This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
原因是使用的模拟器的分辨率太高了,已经超出了你电脑实际分辨率的尺寸,我创建的模拟器是pad,但是它的宽度已经超过了我电脑的实际分辨率,所以出现了这个问题。
19.sun.misc.BASE64Encoder无法导入这个方法
按说是sun的方法,jdk应该直接可以用的,但其实这个jar是jre/lib/rt.jar,我们需要右键项目->属性->java bulid path->在Libraries选项下点击jre System Library->access rules->resolution,在弹出的框里面上面选择accessible,下面填上** ,然后点击确定即可,还有就是其实不推荐使用java自带的base64方法,大家在实际项目中可以去使用apache的base64方法。
20.升级了ADT22之后报java.lang.NoClassDefFoundError错误
右键项目名称-->>Build Path-->>Configure Build Path-->>在Order and Export中选中Android Private Libraries-->>OK
最后点击Project-->>clean一下当前项目就ok了.
(如果还是没有成功的话,就选中Order and Export中所有的, 然后再clean一下.)
21.腾讯微博分享更改REDIRECT_URI出错(无法更改REDIRECT_URI)
学习腾讯微博的demo,由于使用了Library库,所以讲APP_KEY、APP_KEY_SEC和REDIRECT_URI都填入到了AndroidSDK项目的src——config——config.properties中,运行一下后报错,返回信息是errorcode:10015,这是因为我填的REDIRECT_URI不对,然后我将原路径的REDIRECT_URI改掉了,但是运行之后还是原来的错误,后来我将APP_KEY、APP_KEY_SEC和REDIRECT_URI全部换成同事申请可用的,但是在我这里还是一开始的错误,我怀疑可能是bin目录有问题,但是clean之后运行还是不行,后来发现在demo项目的Android Private Libraries下面有4个jar包,其中3个是腾讯微博所需要的,在Android_SDK.jar下面有同样的config.properties文件,里面的APP_KEY、APP_KEY_SEC和REDIRECT_URI是旧的,我的解决办法就是把所有的demo中的libs中的jar全部删除,然后直接引用libraries
22.Eclipse运行项目安装时出现:Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
这个错误的字面意思就是:“安装失败,内存不足”,如果是真机出现这种情况,将手机中的app删掉几个就可以了,如果是模拟器出现这个情况,网上的答案是使用命令行:emulator -avd MyAndroid -partition-size 120
23.今天在运行一个项目的时候出现了这个问题:Caused by: java.lang.ClassNotFoundException: android.support.v4.ViewPager
一般情况下,出现这种情况下都是因为项目中缺少android-support-v4.jar或者没有引用这个jar包引起的,但是当我在项目中新疆libs目录,并拷贝android-support-v4.jar包到libs引用之后,这个问题还是不能解决,最后我在stackoverflow上面找到了解决办法:右键选择项目Project->Properties->Java Build Path than select Order and export,然后点击右边的TOP按钮,将android-support-v4.jar或其所在的libraries置顶,最后clean一下项目即可运行
24.Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
出现此错误主要是我们使用context.startActivity()方法造成的,因为使用Context的startActivity方法需要开启一个新的task,增加intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);即可。
25.这是最经一段时间我在windows平台打包常见的一个错误(adt升级为22之后),困扰了我很久,终于找到了解决办法
<ignore_js_op style="word-wrap: break-word;"> 控制台提示错误为:[2013-07-12 10:46:15 - xxxx] Warning: org.apache.commons.httpclient.ChunkedInputStream: can't find referenced class org.apache.commons.logging.LogFactory 。。。。
解决办法是在项目中的proguard-project.txt文件中添加:-ignorewarnings和-libraryjars libs/xx.jar,记得将libs的所有jar包都按照这样的格式写
<ignore_js_op style="word-wrap: break-word;">
最后就可以正常打包了
26:java.io.IOException: Can't read [C:\Users\admin\Desktop\xxxx\libs\comments-httpclient-3.0.1.jar] (No such file or directory)
这个错误也是在打包的时候发生的,如同字面意义上面说的一样,就是没有找到comments-httpclient-3.0.1.jar这个jar,可能是项目中没有这个文件,我遇到这个问题是因为我在proguard-project.txt添加-libraryjars libs/comments-httpclient-3.0.1.jar时将jar包的名字写错了,所以导致了这个问题
解决办法就是在proguard-project.txt中将jar包名更正即可正常打包
27.Failed to create the Java Virtual Machine
<ignore_js_op style="word-wrap: break-word;">
原因是本机内存不够,而eclipse方法区(Perm Gen)占用内存太多的缘故解决办法是找到eclipse的解压目录中的eclipse.ini文件打开编辑,
如下图
<ignore_js_op style="word-wrap: break-word;"> 另一个办法是在eclipse.ini文件中增加jvm的完整路径,
-vm
D:\Java\jdk1.6.0_29\bin\javaw.exe
注意这个参数的放置位置,我放在文件最下面时还是不行,放在-vmargs参数上面就可以了。
详情请看:http://blog.csdn.net/yuanfei_1988/article/details/5919168
28.Can't bind to local 8700 for debugger
在运行项目的时候,控制台出现如上错误,应该是端口问题,在Stack Ovleflow上找到解决办法是:打开Eclipse——Windows——Preferences——Android——DDMS;
然后将Base local debugger port中的8600改为8601,然后选中Use ADBHOST,在ADBHOST value中填127.0.0.1
29.R文件报错,其中有一个String资源报错
写完demo之后发现R文件报错,clean了之后还是报错,然后打开R.java查看,发现只有一行报错,然后我仔细数了一下String资源有17个,再打开自己的value/string.xml文件,发现自己的只有16个,最后一行是只有<string name=""></string>,未定义,所以有问题,删掉这一行就行了
30.获取sqlite数据库某一字段"id"只能读取到第一行
我在写一个数据库查询方法的时候出现了只能读取一个第一个数据的情况,通过debug和对比其他语句发现,原来的在Cursor cursor = db.rawQuery(sql,null),之后没有使用while(cursor.moveToNext()){}方法来遍历获取cursor中的数据,而是写成了if(cursor.moveToNext()){}的方法,if语句只会执行一次,获取第一条数据,然后就执行下面的语句了,而while()语句只要符合括号中的条件就会继续执行。
31.启动PopupWindow报NullPointerException空指针异常
代码例子:
上面的代码是一个PopupWindow的创建过程,但是我们在button的点击事件中运行这段代码却会报空指针,原因在最后一行,showAtLocation(parent, gravity, x, y)方法出了问题,而报NullPointerException的地方正是parent即findViewById(R.id.main)为空,因为这里根本没有获得PopupWindow的parent,第二行代码的View获取了xml布局文件,parent应该在view中实例化,正确的代码应该是mPopupWindow.showAtLocation(view.findViewById(R.id.main), Gravity.RIGHT|Gravity.CENTER, 0, 0);
相关推荐
标题中的“解决axis2-CodegenWizardPluginBUG- java.lang.reflect.InvocationTargetException”指的是在使用Apache Axis2的CodegenWizardPlugin工具时遇到的一个错误。这个工具是Axis2框架的一部分,用于自动生成...
### Oracle 10g 提示 java.lang.Exception: Exception in sending Request :: null 解决方案 在使用Oracle 10g的过程中,部分用户可能会遇到一个特定的问题:在登录企业管理器(Enterprise Manager, EM)时,系统会...
标题“Uncaught DOMException:”通常出现在JavaScript编程中,指的是在执行代码时遇到了一个未捕获的DOM(Document Object Model)异常。这个错误通常意味着在访问或操作DOM元素时发生了问题,可能是由于尝试访问不...
在编程世界中,错误处理是不可或缺的一部分,Java和许多其他编程语言中,"error"和"exception"这两个术语经常被提及。理解它们之间的区别对于编写健壮和可靠的代码至关重要。 首先,我们来看"error"。在Java中,`...
这篇博客文章"JavaEE应用遇到的异常及解决方案"可能涵盖了JavaEE开发过程中常见的异常类型、如何捕获异常、以及针对性的解决策略。 首先,JavaEE应用中的异常可以分为两类:检查性异常(Checked Exception)和运行...
用户尝试了多种方法来解决问题,包括禁用Hyper-Threading、禁用USB设备以及调整SELinux配置,但这些都没有效果。最终,通过观察错误信息中提到的“alc880”,即一种声卡型号,用户尝试禁用了声卡,并成功启动了系统...
当开发者遇到"InvocationTargetException"时,这通常是由于服务方法抛出异常,但这些异常在Axis2的调用堆栈中被包装在InvocationTargetException中。 解决此问题通常需要以下步骤: 1. **查看堆栈跟踪**:首先,...
Java程序在运行过程中可能会遇到各种异常,其中"nested exception is java.lang.OutOfMemoryError: Java heap space"是一个常见的问题,通常发生在程序试图分配超过堆内存限制的空间时。这个错误表明Java虚拟机(JVM...
在Oracle数据库管理与应用开发过程中,会遇到各种各样的异常情况,这些异常往往会影响到数据处理的准确性以及系统的稳定性。为了更好地理解和处理这些异常,本篇文章将详细介绍Oracle中常见的几种异常及其解决方案。...
解决办法是在`CASE`语句中提供一个默认的`ELSE`分支。 5. **COLLECTION_IS_NULL** (ORA-06531): 在给集合元素赋值之前,必须先初始化集合。否则,当尝试访问未初始化的集合时,会抛出此异常。 6. **CURSOR_ALREADY...
本文将深入探讨标题和描述中提到的“com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作”这一异常,以及如何在使用Hibernate、Struts进行分页时避免这一问题。我们将从异常的根本原因...
当我们遇到异常(Exception)时,通常会使用ERROR或FATAL级别来记录,以便快速识别问题。在描述中提到的博客链接可能详细解释了如何在Log4j中配置这些级别,以及如何正确捕获并记录异常。 "log4j的使用.xls"可能是...
### 启动监听程序遇到的问题及解决方法 在Oracle数据库管理与维护的过程中,经常会遇到启动监听程序时出现的各种问题。本文将针对一个具体的错误情况进行分析,并提供相应的解决方案。该问题表现为在尝试通过命令行...
在IT行业中,开发人员经常会遇到工具与数据库兼容性问题,其中一个常见的问题是PLSQL Developer无法连接到64位版本的Oracle数据库。由于PLSQL Developer本身并不支持64位Oracle,这给许多用户带来了困扰。本文将详细...
这是因为 MySQL 中键的长度有限制解决方法是,将 varchar 改为 191 或者使用其他解决方法,例如找到 MySQL 安装位置,登录数据库,设置 innodb_file_format 和 innodb_large_prefix。 问题5:service 模块下的启动...