Android eclipse常见错误开发总结

出自于c博客.

----博主:红日





使用Android开发工具eclipse的过程中,出现过很多问题,总结了一下,拿出来共同学习:

问题1、ThisandroidSDK requires Android Developer Toolkit version 20.0.0 or above...

*在android_sdk_windows/tools/lib下的plugin.prop文件里把

#begin plugin.prop

plugin.verson=20.0.0

#end plugin.prop

变更为:

#begin plugin.prop

plugin.verson=18.0.0(其中这里的18.0.0是你目前的ADT版本)

#end plugin.prop

问题2:R cannot be resolved to a variable.

*方案一 系统自动添加了import android.R这条语句;这个时候只要删除这条语句就可以了。

方案二 布局文件里多了个.out的xml文件,删除这个xml文件,然后把工程clean下就可以了。

问题3:error opening trace file:No such file or directory.

这主要是android api的版本和模拟器(或手机)的版本不一致导致的。把项目和模拟器都改成相同版本的,就不报错了。

问题4:FINAL EXCEPTION: main

Java.lang.RuntimeException:Unable to instantiate activity ComponentInfo{

com.项目名称.包名.入口Activity名}:java.lang.ClassNotFoundException:com.chapter4layout3.入口Activity名.

原因分析:

AndroidManifest.xml中设置的“入口Activity名”并不是上面所提到的 Activity,即系统找不到Activity的入口,所以程序自然不能运行。

android:name = "com.chapter4layout3.ExpanListViewDemoActivity(入口Activity)从下面的MAIN知道是入口Activity,所要运行的Activity必须是此名"

android:label ="label"="@string/app_name">

问题5:

android - "Bitmap too large to be uploaded into a texture"

出现这个问题的时候可以把硬加速改为false,即在Manifest文件的application中加入如下语句:

android:hardwareAccelerated="false"就可以显示出来。

问题6:

'ADB server didn't ACK'(The connection to adb is down, and a severe error has occured.)的解决办法:

一般情况下1.先把任务管理器上所有的adb.exe关闭掉,重启eclipse就可解决。但如果这种办法不行的话,可以试试:

1、先把eclipse关闭。

2、在管理器站到你的android SDK的platform-tools下,键入adb kill-server,如果adb关闭了会提示server not running *

3、键入adb start-server 如果不成功会提示daemon not running.starting it now on port ***,而如果成功不提示任何语句的,这是再重新打开eclipse就可以正常运行了。

还有一种情况是开了豌豆荚,导致了端口冲突。

我遇到的问题就是USB线真的开始有问题了,没连接好电话,所以出现adb一运行起来然后就消失的情况。⊙﹏⊙b汗。

问题7:

Unable to start activity ComponentInfo(....SecondActivity)java.lang.NullPointerException:

空指针异常:

空指针异常产生的主要原因:

1、当一个对象不存在时又调用其方法会产生此异常obj.method()//obj对象不存在(比如一个对象str你没有赋值,却调用它就会出现空指针异常的情况)。

2、当访问或修改一个对象不存在的字段时会产生异常obj.method()//method方法不存在。

****我出现的问题是R.id.button01由于粗心写成了R.layout.secondactivity这样就找不到那个button01,所以会出现空指针异常。

空指针解决方法:

重点关注报错发生的所在行,通过空指针异常 产生的两条主要原因诊断具体的错误。同时为了避免空指针的发生,最好在做判断处理时将“null”或者空值放到设定的值之前。

详解:NullPointerException是空指针异常。但是在java中没有指针,怎么会有空指针异常呢?在C++中,声明的指针需要指向一个实例(通过new方法构造),这个指针可以理解为地址。在java中,虽然没有指针,但是有引用(通常称为对象引用,一般直接说对象),引用也是要指向一个实例对象(通过new方法构造)的,从这种意义上说,java中的引用于C++中的指针没有区别,不同的是,处于安全的目的,在java中不能对引用进行操作,而在C++中可以直接进行指针的运算,例如book++等。

所以这里的NullPointerException虽然不是真正的空指针异常,但本质上差不多,是因为引用没有指向具体的实例,所以当访问这个引用的方法的时候就会产生这种异常,例如下面的代码:

String str = "这是一个测试用的字符串!";

System.out.println(str.length());

这段代码没有问题,但是如果改成下面的代码:

String str;

System.out.println(str.length);

就会产生NullPointerException异常了。那这种异常通常是如何产生的呢?比较多见的是下面的两种情况:

1、把调用某个方法的返回值直接赋值给某个引用,单后调用这个引用的方法。在这种情况下,如果返回的值是null,必然会产生NullPointerException异常。例如:

String userName = request.getParameter("userName");

if(userName.length()==0)

.....

else

......

如果request.getParameter("userName")的结果为null,则这里就会产生这种异常。

2、在方法体中调用参数的方法。这种情况下,如果调用的方法的时候传递进来的值是null,也要产生NullPointerException异常。

要解决这种异常,只需要检查异常出现在第几行,然后查看调用了哪个对象的方法,然后检查这个对象为什么没有赋值成功即可。

要避免程序产生这种异常,比较好的解决方法是在调用某个对象的时候判断这个对象是否为空,如果可能,则增加判断的语句,例如上面的代码可以写成:

if(str!=null)

System.out.println(str.length());

else

System.out.println(0);

问题8:

如果MyAdapter中的getView()方法不执行,那么就应该调用adapter.notifyDataSetChanged();方法(此方法为BaseAdapter中的方法)

原因:

setAdapter 时,首先会执行getCount(),当getCount()  返回的是0时,就不会去执行getView()方法, 如果 开启线程去下载数据,然后在getCount()中返回其size, 开始的时候因为还没有下载数据,返回的size可能是0,所以不会去调用getView()方法,界面就不会被填充。    下载完成后  通过 notifyDataSetChanged()方法 重新加载适配器,就会调用getView()方法了。。

问题9:

java.lang.ClassNotFoundException:com.example.MainActivity

个人按下面顺序排查:

1.

在Manifest.xml中查看Activity的名字是否书写正确。

2.

在Manifest.xml确认Activity标签中的android:name属性的格式,例如我的activity的名字是helloworld,确认android:name=”.helloworld”(其中的点很重要)。

3.

如果有添加外部包的情况下,在工程根目录下建libs目录,然后将需要导入的外部包放入此目录内再add jars(项目- -》属性- -》- -》JavaBuild Path - -》Libraries 新加一个support-v4包)。

4.

如果上面都确保OK的情况下仍发生问题的话,clean工程->关闭eclipse->在命令行中重启adb(adb kill-server adb start-server)->打开eclipse->编译启动。

问题10(关于viewflow的使用):

使用网络上比较流行的旧版(也可以称作修改后可以实现循环的版本)的时候,滑动图片的时候,老是出现闪动。

解决方法是:

在AndroidManifest.xml文件中将android:targetSdkVersion = "17"这句话删除掉就可以。

问题11(关于百度地图的问题):

java.lang.NoClassDefFoundError: com.baidu.mapapi.BMapManager

解决办法:

一、右击项目->properties->javaBuild Path->Order and Export,在需要引用的包前面打勾。

二、Project->Clean...

问题12:

Caused by: java.lang.ClassCastException: com.fragments.Fragment1 cannot be cast to android.app.Fragment

的解决方法:

(1)app.fragment和v4.fragment都是可以使用标签的

只是在在使用的时候如果是app.fragment则没有什么特殊的地方继承Activity即      可。

(2)当v4.fragment使用标签的时候就要特别注意了:

当这个Activity的布局中有标签的时候,这个Activity必须继承

FragmentActivity,否则就会报错。

所以本错误的解决方法就是:将MainActivity继承的Activity改成FragmentActivity即可。

问题13:

(非eclipse错误,按钮点击错误2014-3-17花费两天时间搞定的一个问题):

GridView中的setOnItemClickListener不响应的问题:

原因:由于在每个item中使用的类似于Button、ImageButton的按钮,所以是button拦截了点击事件。

解决方法:这个时候,需要将Button或ImageButton改换为ImageView,问题就得到了解决。

当问题解决的时候,总是令人兴奋的(感觉以前的苦恼都是值得的)。

问题14:

Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

...

无效的存储,存储空间不足,卸掉几个无用的APP即可解决问题。

问题15:

(在使用gridview的情况下--bitmapfun中的)

java.lang.ClassCastException: android.widget.AbsListView$LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams

主要原因:就是AbsListview的LayoutParams不能准换成.xml布局文件中的RelativeLayout的LayoutParams

问题16:

(在开启虚拟机的情况下)出现:

This application has requested the Runtime to terminate it in an unusual way.

Please contact the application's support team for more information.

可能问题:在创建AVD时设定的RAM过大(我选择的device是Nexus 7,其默认RAM是1024)。

解决方法:将这个值改为512后就能正常启动AVD了

问题17(非错误;关于LogCat):

Eclipse LogCat出现大量"Unexpected value from nativeGetEnabledTags: 0"的解决方法:

在logcat的过滤器的log message字段中输入以下过滤串:

^(?!.*(nativeGetEnabledTags)).*$

如果依然还有大量的信息出现,可以考虑使用LogCat最上部的过滤搜索,直接搜索Text,或者tag:TAG.这样就可以找到需要打印的信息。

问题18:

The connection to adb is down, and a severe error has occured.

解决方法:在Eclipse进入DDMS模式,重启下ADB

问题19:

Ctrl+Alt+方向上下键:Eclipse中该快捷键用于复制该行代码,但最近在Eclipse中却没任何效果。

可能问题:该快捷键被电脑中的某个应用所占用。

解决方法:当时原因就是网易云音乐的声音调大调小的快捷键就是Ctrl+Alt+方向上下键,与Eclipse中的快捷键重复。

所以当任何时候的快捷键不起作用的时候,都应该想到该快捷键可能被某个应用程序所占用了。

问题20:

Eclipse添加Android library错误的原因:

我这里是project和library没有在同一个盘符下面。

所以:在windows系统下,library project必须和project处于相同的盘符中.

以后要养成的一个习惯是:导入project或library的时候,要勾选copy projects into workspace...以保证都在同一个盘符下面。

问题21:

Eclipse中Android SDK Manager中,未出现完整的API版本(或者说API版本得不到更新),解决方法:

1、在C:\Windows\System32\drivers\etc文件夹下面的hosts文件中添加如下信息:

#Google主页

203.208.46.146 www.google.com

#这行是为了方便打开Android开发官网 现在好像不VPN也可以打开

74.125.113.121 developer.android.com

#更新的内容从以下地址下载

203.208.46.146 dl.google.com

203.208.46.146 dl-ssl.google.com

2、在Eclipse中的Android SDK Manager中Tools -> Options -> others下面的第一个(force...)打上对勾即可。

问题22:

Eclips中layout中的布局文件的Graphical Layout不显示布局:

情况<1>(一般情况):

解决办法:项目右键-->Android Tools-->Fix Project Properties,然后右键close项目-->open项目,再次打开,即可;

如果再次打开的时候,依然不可以,那么重启Eclipse即可。

情况<2>(This version of the rendering library is more recent than your version of ADT plug-in. Please update ADT plug-in):

解决办法:

1、更新ADT。2、更改右上角adt版本为低版本3、manifest.xml文件夹中sdk配置版本的更改

问题23:

Eclipse中查看不了系统的源代码:即出现:the source attachment does not contain the source for...时:

解决办法:选择最下面的folder按钮,然后选择相应的路径(我的选择是:C:\Program Files (x86)\adt-bundle-windows-x86-20130514\sdk\sources\android-14\android),

即可解决该问题(另外:MyEclipse中如果想要查看Java的源代码,那么选择的是一个src压缩的文件包,如我的路径是:C:\Program Files (x86)\Java\jdk1.6.0_10)。

问题24:

(关于ListView的使用问题)

(1)listview中添加的footer不显示时:

解决方法:将添加footer的代码添加到listView.setAdaper(adapter)代码之前。

(2)listView中footer出现不居中显示的问题时:

解决方法:将布局文件中的ListView的属性改为MATCH_PARENT。

问题25:

导入android-support-v7-appcompat.jar包时出现:Jar mismatch! Fix your dependencies:

我的问题是:两个包v4与v7都在项目中,所以引起了冲突。

解决方法是:将v4包删除即可。

问题26:

问题:微信打包后还是分享不了

解决方法是:

微信分享不了:

1、测试没有打包(打包成apk测试)

2、打包的keystore跟微信开放平台上面的不一致, 导致MD5码不一致(在微信填写的MD5是小写,冒号要去掉)

3、分享参数错误(微信指定平台分享有参数类型,每个类型对应的有相应的参数,建议用户先用网络图片测试,调通后再用本地图片,onekeyshare没有参数类型,会自动判断)

4、应用没有审核通过

5、包名跟开放平台上面的不一致

6、没有在mob.com申请key!

我的解决方法是:

在微信开放平台上下载签名生成工具,下载地址:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&lang=zh_CN

将APK项目及签名工具都安装到手机上,签名工具中输入报名,即可获取签名,经该签名重新填到微信上的应用签名。

问题27:

问题:修改手机系统字体大小时,虽然添加相应代码,但还是会有个别字体发生变化(华为手机)

解决方法是:

将相应字体的sp改为dp即可

问题28:

问题:如何无线调试运行

1、cd到adb所在的目录

2、命令行输入adb tcpip 5555

3、断开 USB数据,在计算机命令行输入 adb connect <设备的IP地址>:5555

4、如果需要断开连接:adb disconnect <设备的IP地址>

问题29:

问题:已安装了签名冲突的同名数据包

原因分析:由于前一个APP是eclipse运行出来的,而后一个版本是打包出来的,所以签名会有冲突。

解决方法是:重新打个包安装,再次更新就会避免出现这个问题。

问题30:

问题:使用 eclipse 的 svn 查看历史版本乱码的问题

原因分析:编码问题

解决方法是:Windows--Preferences--General--WorkSpace--Text file Encoding (other UTF-8)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,013评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,205评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,370评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,168评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,153评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,954评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,271评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,916评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,382评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,877评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,989评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,624评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,209评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,199评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,418评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,401评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,700评论 2 345

推荐阅读更多精彩内容