Android应用开发异常整理
搜集整理Android app开发过程中遇到的各种异常和问题,说说大家在Android开发中遇到过的坑,帮助大家快速解决各种异常问题。
祝福
Android Developer
展开
-
shape虚线运行显示实线问题
真吊,这个问题搞好好一会。mark一下。 首先 shape_dashed.xml代码:<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <stroke androi原创 2016-11-15 15:59:50 · 714 阅读 · 0 评论 -
【Android】Suggestion: use tools:overrideLibrary="" to force usage
异常提示:应用在Android Studio Build的时候,抛出了如下异常: Error:Execution failed for task ‘:app:processDebugManifest’. > Manifest merger failed : Suggestion: use tools:overrideLibrary原创 2015-08-27 14:26:39 · 34458 阅读 · 4 评论 -
【Android】Error:Execution failed for task ':app:mergeDebugResources'. > String index out of range: 0
异常提示: Error:Execution failed for task ‘:app:mergeDebugResources’. > String index out of range: 0错误原因:有一次在进行编译的时候,Android Studio 给我报出了这样一个异常,一开始的我有点摸不着头脑,因为 fail 在 mergeDebugResources ,那么项目很可能出错在原创 2015-09-30 16:46:05 · 54206 阅读 · 0 评论 -
【Android】ToolBar设置NavigationIcon不显示异常或自定义失败异常
异常:在布局XML中设置android:navigationIcon=”@drawable/icon”或者在代码中设置都无法自定义成自己需要设置的NavigationIcon图片。 代码设置NavigationIcon如下:Toolbar toolbar = (Toolbar)findViewById(R.id.my_toolbar);toolbar.setNavigationIcon(R.dr原创 2015-10-29 16:12:55 · 13781 阅读 · 1 评论 -
【Android】java.lang.SecurityException: Permission Denial: starting Intent 应用启动失败异常
异常提示在Eclipse和Android Studio同时使用的时候,我遇到过这样一个异常,具体错误提示如下:ava.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000原创 2015-11-30 13:19:52 · 31430 阅读 · 0 评论 -
【Android】getActionBar()为null的解决方法总结
前言在使用 ActionBar的时候,有时候会爆出空指针异常,这是因为应用没有获取到 ActionBar 导致的,而导致应用没有获取到 ActionBar 的原因比较多,所以我们下面就来总结一下 ActionBar 获取不到的错误原因。解决办法检查你的应用是否设置了没有 ActionBar 的主题Theme,或者直接设置了 NoActionBar或NoTitleBar 属性,主要要检查这几点:检查原创 2015-07-28 15:27:18 · 37447 阅读 · 8 评论 -
Unable to load class 'org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'
Unable to load class ‘org.codehaus.groovy.runtime.typehandling.ShortTypeHandling’Error:The project is using an unsupported version of the Android Gradle plug-in (0.12.2). The recommended version is 1.2.3.原创 2015-07-22 11:24:04 · 6920 阅读 · 5 评论 -
从Eclipse迁移代码到Android Studio可能出现的异常
主要还是写的有关项目原有代码从 Eclipse 迁移到 Android Studio 时会遇到的问题,并没有和 Android Studio 的配置有太大关系。Error:Can't have more than one marked region along edge.原创 2015-07-13 11:51:40 · 3960 阅读 · 4 评论 -
Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException
异常Log: Error:Execution failed for task ‘:app:dexDebug’. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: finished with non-zero exit value 2原创 2015-07-10 12:09:55 · 64869 阅读 · 4 评论 -
java.lang.IllegalArgumentException: parameter must be a descendant of this view
异常信息:java.lang.IllegalArgumentException: parameter must be a descendant of this view错误原因:发生这个错误主要是ListView或者其它ViewGroup等容器控件因为滑动而暂时移除子View,但却没有移除该子View上面的焦点Focus,所以在ListView滑动返回到原来的位置的时候没有恢复成原来的View,导致原创 2015-06-30 15:36:44 · 15068 阅读 · 2 评论 -
at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:)
错误提示: at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:) 在Android中给ListView写多个不同的item布局的时候,我遇到了一个标题中的数组越界错误 getViewTypeCount() 的值必须大于 getItemViewType() 的值原创 2015-06-08 15:00:01 · 9088 阅读 · 13 评论 -
Android SDK下载异常(hostname in certificate didn't match)
对于Android开发者来说,每次下载更新 Android SDK 都是一次痛苦的经历,因为 google 被墙,每次我们都要想尽办法来更新 SDK, 以前我是通过 VPN 来下载 SDK,但是也只能保证稍微稳定一点的下载速度,每次更新还是要耗费很长的时间来等待,上星期我的同事发现通过修改 hosts 文件并将下载地址域名指向 203.208.46.146 即可加快速度,而且下载速度基本上都是4,原创 2015-01-05 14:15:24 · 7751 阅读 · 1 评论 -
java.lang.UnsupportedOperationException: Can't convert to integer: type=0x3
前几天在编写一个自定义控件的时候,出现了这个这个异常:Caused by: java.lang.UnsupportedOperationException: Can't convert to integer: type=0x3然后定位到代码中的时候,发现是自定义控件中引用资源的时候报的错误,代码片段如下:int iconId = mTypedArray.getInteger原创 2014-11-25 11:22:25 · 7513 阅读 · 1 评论 -
Android Library projetcts cannot be exported.
记一次比较无语的犯错,前几天我在紧急打包一个apk的时候,遇到了这样一个异常:Android Library projetcts cannot be exported. 异常提示截图如下:咋看之下我以为是项目依赖的Library出现了问题,然后就去检查了一遍主项目依赖的各种库,发现库项目都没有问题,然后我去搜索了一下这个异常信息,结果搜索到的都是"Android Library p原创 2014-11-19 18:26:15 · 4350 阅读 · 0 评论 -
Android java.io.IOException异常情况整理
前言目前android上的绝大多数项目还是由JAVA开发的,而java最常见的异常之一就是java.io.IOException,这个异常我们在android开发中也会经常遇到,这里整理了一些在Android开展法中常见的IOException情况,但在实际中,造成IOException异常的原因可能多种多样,这里我只整理了几种,欢迎大家留言讨论。open failed: EACC原创 2014-07-31 10:18:52 · 70582 阅读 · 2 评论 -
Android无法导入下载好的项目(和Eclipse中已经存在的项目命名一样导致冲突)解决办法
错误提示:在我们到导入从网络下载的项目时,经常会出现如下问题(选择的项目变灰,并且提示要选择至少一个项目):错误原因:出现这样的错误主要是因为你的Eclipse已经存在了和上图中New Project Name一样的名字library(我们从网络下载的项目好多命名都是MainActivity、main之类的,而库项目更是大多命名为library,所以会经常出现这种命名冲原创 2014-04-22 11:37:40 · 11050 阅读 · 2 评论 -
android应用开发过程中更换资源文件不刷新(显示旧资源文件)问题
问题描述: 我们在开发android app项目的时候,经常会遇到需求更改和UI更改的情况,这样我们就需要将已经写好的界面中的元素换掉,例如将界面中的背景图或者某个图片换掉,这时,问题便出现了:在更换完图片资源之后,我们会发现,在手机上面显示的还是原来没有更换过时的图片(旧图片),没有显示新图片资源。产生原因&解决办法:这个问题的产生原因比较多,常见的可能是:原创 2014-04-09 14:43:04 · 6508 阅读 · 1 评论 -
error: No resource identifier found for attribute ‘backIcon’ in package
异常提示: 今天我新创建了一个自定义控件,我为他定义了一个属性为backIcon,但是当我在xml设置这个属性之后,xml布局界面提示以下错误:error: No resource identifier found for attribute ‘backIcon’ in package错误原因:在网上查找错误原因的时候,有文章说这是因为我的布局文件的命名空间没有添加有包名的那个命名原创 2014-04-08 12:34:54 · 88279 阅读 · 19 评论 -
R.java was modified manually! Reverting to generated version!(R文件丢失异常原因汇总)
引言:R文件丢失异常在java开发中是个比较常见的异常,造成这个异常的原因可能非常微小,但是给Android开发者们造成的麻烦可是巨大的,当程序员们费尽千辛万苦,找到自己错在哪里的时候,绝对会对自己的粗心大意而捶胸顿足,哀叹不已。异常提示:R.java was modified manually! Reverting to generated version!或者项原创 2014-03-28 14:35:36 · 86769 阅读 · 14 评论 -
Unable to execute dex: Multiple dex files define
这是一个编译错误,在ADT的编译器和SDK的工具有差异或是版本不一致时常会出现的一个问题,解决的方案如下:第一步: updated eclipse (Help->Check for updates) 第二步:升级SDK的Tools和platform-tools第二步:在Eclipse->Project->去掉自动构建(Build Automatically)->选择Clear ->Bu转载 2014-03-18 15:38:29 · 1757 阅读 · 0 评论 -
gen already exists but is not a source folder. Convert to a source folder or rename it.
异常提示:gen already exists but is not a source folder. Convert to a source folder or rename it.错误原因:我在导入以前的项目的时候出现了这个异常,原因是eclipse没有识别出我的src代码文件夹,需要通过设置来指明源码所在的文件夹。解决办法:右键项目,选择Pro原创 2014-03-12 15:36:59 · 20382 阅读 · 1 评论 -
<item> tag requires a 'drawable' attribute or child tag defining a drawab
异常日志:Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #3: tag requires a 'drawable' attribute or child tag defining a drawable产生原因: 我的一个button按钮的background属性中设置成"原创 2014-02-28 15:21:02 · 16344 阅读 · 5 评论 -
your project contains error(s),please fix them before running your application.错误总结
Android开发中的问题总是多种多样,今天我来总结一个浪费了我一个晚上的错误T-T:your project contains error(s),please fix them before running your application.总结一下网上的各种处理办法:1.重启Eclipse(大部分网友都是这样就莫名其妙的好了。。。);2.debug的keystore默认有效期为一年原创 2012-11-01 10:03:52 · 34530 阅读 · 18 评论 -
UNEXPECTED TOP-LEVEL EXCEPTION 处理
这个问题基本上就是因为jar包不兼容或者引起冲突造成的,可以将lib下的jar包删除掉,同时右键项目Build Path将报错的包remove掉就行了,也是还不行就用Progect---->clean下吧,好了,如有其它情况,欢迎留言,谢谢。原创 2012-11-06 13:50:57 · 22429 阅读 · 2 评论 -
java.net.UnknownHostException 异常处理
关于java.net.UnknownHostException大家也许都比较熟悉,今天我来整理一下关于java.net.UnknownHostException的各种处理办法:1、你的电脑或模拟器没有网络,请检查,也有可能是是网络地址错误,网站倒闭或者后台地址失效。2、java.net.UnknownHostException: Host is unresolved ***.***原创 2012-11-04 21:06:27 · 353233 阅读 · 16 评论 -
open failed: EACCES (Permission denied)/pen failed: EISDIR (Is a directory)
今天在复制文件的时候出现了这个问题,后来查了资料才知道我没有给项目加android权限,没有读写SD卡的权限,那一刻我真想抽死自己,白学了这么长时间的android,连权限的添加都忘啦T-T,好了,废话不多说,处理这个异常应该在AndroidManifest.xml文件中添加向sd卡写入文件的权限:这样就可以了。 还有一个不该犯的错误是pen failed: EISDIR原创 2013-03-13 00:19:18 · 41819 阅读 · 9 评论 -
ListVIew点击事件失效
记录下自己所犯的错误,在写ListView的点击事件时OnItemClickListener,onItemClick方法没有执行,导致ListView条目点击事件失效,检查发现百度上有很多不同的答案,但究其本质都是ListView的Item抢占焦点或者Item没有获取焦点甚至没有绑定上OnItemClickListener监听事件,而我所犯的错误是在ListView的Item布局中引入了一个Sty原创 2013-03-15 13:25:19 · 45106 阅读 · 8 评论 -
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
今天把完成差不多的项目上传到Testin和百度MTC进行测试,可是百度MTC的测试结果却是全部未执行,Testin也有很多机型报Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]这个错误,后来查了一下,原来是应为没有签名的原因,将项目进行签名之后在上传果然好了,不过我还是要吐槽下百度MTC啊,现在我的测试居然连队都排不上了,坑爹啊。。。。Testin也快让原创 2013-03-25 18:02:16 · 5077 阅读 · 0 评论 -
case expressions must be constant expressions
今天在handler传值中遇到了case expressions must be constant expressions这个错误,这个错误是因为我在handlerMessage()方法中的switch(){ case GAIBIAN: break; }中的GAIBIAN是变量,我们需要将它定义为final(即变为常量)即可。case下的情况必须是常量而不是变量,否则会造成异常。原创 2013-03-26 17:54:04 · 3427 阅读 · 0 评论 -
android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 3
今天在写一个小项目的数据库部分的功能时,出现了一个这样的问题:java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=99, result=-1, data=Intent { (has extras) }} to activity {com.xxx.xxx/com.xxx.xxx.ac原创 2013-08-19 18:40:01 · 6347 阅读 · 0 评论 -
SQLiteLog (1) no such Column:
今天在进入sqlite数据库查询的时候出现了这个问题,SQLiteLog (1) no such Column:BGZ搜索得知这是因为数据库中没有这一列,我的sql语句为"select id from table where id = "+id(后面的这个id为方法参数),目的是为了得知数据库表中是否存在这个id的数据,“BGZ”是我报错时候传入的参数,它并不是我数据库中的列名字段,后来通原创 2013-08-20 18:34:20 · 33080 阅读 · 9 评论 -
Toast(土司)失效不显示
这几天遇到了一个问题就是我的app的有一个Toast一直不显示,打Log和debug发现那句确实被执行了,但是界面却还是原样,没有效果,思考后觉得有问题的地方可能有两点:1.Context上下文对象有问题,不是当前的上下文对象或者什么的;2.message(即Toast要显示的问题)有问题,可能message最后为“”。因为这个类是通过Context类实例化的,并且方法中的一些步奏确实执行,所原创 2013-09-06 11:31:18 · 13881 阅读 · 9 评论 -
xxxxx is not translated in xxx(eg:values-zh)
这个错误发生是因为我要给项目添加友盟统计,友盟提供的资源包里面有两个values文件夹,一个是res/values,另一个是res/values-zh,我把这写一股脑添加进去之后,在添加完毕之后我才发现values里面给的xml资源文件是英文的,而values-zh才是中文的资源文件,于是我直接复制values-zh中的文件覆盖了values中的文件,然后删除掉values-zh,然后在我打包的时原创 2013-11-04 20:25:32 · 9691 阅读 · 0 评论 -
Proguard returned with error code 1. See console
发生这个错误是因为打包混淆时找不到我们的引用包,有的人可能说我没有引用什么Library啊,事实上,我们现在的项目创建时就默认有v4包,这是google提供的兼容包,主要为了应对Android3.0以后的新组建也可以在3.0之前使用,例如Fragment,ViewPager等等,好了,现在我们回到正题,问题我们知道了,解决办法随之而来,我们在proguard-project.txt文件(2.3左右原创 2013-11-05 19:15:15 · 7359 阅读 · 2 评论 -
java.lang.IllegalStateException: attempt to re-open an already-closed object
这个错误出现的原因是因为我在一个数据库查询方法中调用了另一个数据库查询方法,我的数据库查询方法都是在开始的时候获取SQLiteDatabase对象,在结束的时候关闭SQLiteDabse对象,结果内部的数据库查询方法在结束的时候直接关闭了SQLiteDatabase对象,导致外面的数据库查询操作报错,在这里大家不要以为多获取了几个SQLiteDatabase对象就可以了,每个线程只能使用一个SQL原创 2013-11-07 19:10:40 · 42595 阅读 · 6 评论 -
Make sure the Cursor is initialized correctly before accessing data from it.
详细错误是:java.lang.IllegalStateException: Couldn't read row 0, col 2 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.出现这个原因是因为我在获取Cursor中的字段时,获取了一个不存在的字段原创 2013-11-07 19:23:52 · 24946 阅读 · 0 评论 -
Are you missing a call to unregisterReceiver()?
出现这个错误是在我在使用动态广播监听短信是否发送成功,正如错误提示所说,我忘了在我的代码中取消注册广播,因为这是动态广播,所以我必须在不需要的时候将这个广播手动注销,否则就会发生如题所示的异常,这个异常的解决办法很简单,就是在动态广播的onReceiver()方法中注销广播,如下代码所示:public void onReceive(Context context, Intent intent) {原创 2013-12-03 00:35:49 · 43916 阅读 · 4 评论 -
java.util.ConcurrentModificationException解决办法
这个问题发生在我前几天写代码的时候,但是我需要对ArrayList中的数据进行过滤,将一部分符合条件的实体对象从ArrayList中去除,然后再对ArrayList中的数据进行使用或其他操作。 但是我不加思考的在循环中使用了list.remove(Object o)的方式来去除实体对象,结果爆了java.util.ConcurrentModificationException异常原创 2013-12-27 15:46:34 · 1983 阅读 · 0 评论 -
Unable to execute dex: java.nio.BufferOverflowException.解决办法
错误提示:[2014-01-16 09:27:35 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.[2014-01-16 09:27:35 - tab_demo] Conversion to Dalvik format原创 2014-01-16 11:57:53 · 30028 阅读 · 12 评论 -
Adb failed to restart! Make sure the plugin is properly configured.
错误提示:今天我在运行项目的时候发现自己的手机连不上Eclipse,进入DDMS,adb reset之后出现了如下提示:产生原因:出现这个错误的原因是因为电脑上的各种手机助手抢占了手机链接,用自己的adb进程启动,导致我们开发用的sdk abd无法启动。解决办法:知道原因后,解决办法就是手动在任务管理其中将各种手机助手的进程关闭(仅仅关闭退出他们的软件是不行的,必须杀掉原创 2014-02-18 10:09:46 · 21569 阅读 · 2 评论