android 开发错误总结

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sheshou2/article/details/6152988 

 

1)错误信息:

[2011-01-19 16:39:10 - ApiDemos] WARNING: Application does not specify an API level requirement!
[2011-01-19 16:39:10 - ApiDemos] Device API version is 8 (Android 2.2)

原因:

不影响正常运行。在AndroidManifest.xml文件中没有加API的版本号,在<manifest> </manifest> 之间加<uses-sdk android:minSdkVersion="3"></uses-sdk>

 

[2011-01-19 16:55:04 - ApiDemos] Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
[2011-01-19 16:55:04 - ApiDemos] Please check logcat output for more details.
[2011-01-19 16:55:05 - ApiDemos] Launch canceled!

 

该设备没有足够的存储空间来安装应用程序,

 

2)错误信息:

[2011-02-18 11:46:53] Failed to push selection: Is a directory

原因:

原先目录已经有pkg_3.apk的文件夹,再copy一个pkg_3.apk安装文件时出现问题,解决办法,先删除掉pkg_3.apk的文件夹

 

 

 

[2011-03-04 09:25:12 - ActivityMain]: Dx
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lorg1/apache/commons/codec/net/RFC1522Codec;
[2011-03-04 09:25:12 - ActivityMain]: Dx at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
[2011-03-04 09:25:12 - ActivityMain]: Dx at com.android.dx.dex.file.DexFile.add(DexFile.java:143)
.....

[2011-03-04 09:25:12 - ActivityMain]: Dx1 error; aborting
[2011-03-04 09:25:12 - ActivityMain] Conversion to Dalvik format failed with error 1

原因:

 

 

 

 

4)错误信息:

启动Eclipse时出现:

 this android sdk requires android developer toolkit version 10.0.0 or above.

current version is 8.0.1.v201012062107-82219.

please update adt to the latest version

原因:

Eclipse的android开发插件版本过低,应该下载ADT-10.0.0,并且

  1. 启动 Eclipse, 然后进入 Help > Install New Software.

  2. 在 Available Software 对话框里,点击 Add....

 

5)错误信息:

[2011-03-09 15:21:34 - Info] Failed to install Info.apk on device '?': Unable to open sync connection!
[2011-03-09 15:21:34 - Info] java.io.IOException: Unable to open sync connection!
[2011-03-09 15:21:34 - Info] Launch canceled!

原因:

关闭模拟器和eclipse,执行adb kill-server命令,然后重试一下

 

6)

调用Webservice时出现

错误信息:

java.net.SocketException: Permission denied (maybe missing INTERNET permission)

原因:

 需要访问到网络,所以,在AndroidManifest.xml中,需要进行如下配置:
<uses-permission android:name="android.permission.INTERNET" />

 

 

7)错误信息:

org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG <{http://schemas.xmlsoap.org/wsdl/}wsdl:definitions targetNamespace='http://bo.webservice.nqbx.nq.com'>@2:603 in java.io.InputStreamReader@44a3a7b0)

原因有可能是以下2个之一:

1)Webservice服务器的Soap版本为1.0,所以客户端指定

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

VER11改为VER10

2)String serviceUrl = "http://200.200.200.11:10000/nqbx/service/InqBxWebService?wsdl";

Url指的是你的webservice的地址.一般都是以***.wsdl或者***.?wsdl结束的...但是.需要注意的是..要去掉后面的.wsdl或者.?wsdl

 

8)错误信息:

 在新的线程中 public class HttpThread extends Thread {...}

增加一个弹出窗体:

  1. new AlertDialog.Builder(this).setTitle("数据加载失败").setMessage("请检查网络连接情况")  
  2.            .setPositiveButton("OK"new DialogInterface.OnClickListener(){  
  3.             public void onClick(DialogInterface dialoginterface, int i)  
  4.             {  
  5.             }  
  6.             }).show();  
     

  

出现编译性错误信息1:

//不能在线程中操作UI界面

java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

 

修改后:

  1. new AlertDialog.Builder(com.nantsing.infoquery.chuanbo_detail.this).setTitle("数据加载失败").setMessage("请检查网络连接情况")  
  2.            .setPositiveButton("OK"new DialogInterface.OnClickListener(){  
  3.             public void onClick(DialogInterface dialoginterface, int i)  
  4.             {  
  5.             }  

 

出现运行性错误信息2:

The constructor AlertDialog.Builder(chuanbo_detail.HttpThread) is undefined

 

原因及解决办法:

在UI主线程之外是无法对UI组件进行控制的。因为你必须在新线程任务完成之后利用各种方法先UI主线程发送消息通知任务完成从而来显示各种提示消息。
线程间通信方法有多种,常用的是用handler来传递消息。

如下:

线程中构造消息:

 

  1. //构造消息                 
  2. Message message = handle.obtainMessage();  
  3. Bundle b = new Bundle();  
  4. b.putString("tag""1");  
  5. message.setData(b);  
  6. handle.sendMessage(message);  

另外自定义消息:

  1. /** 
  2.  * 捕获消息队列 fubin.pan 2011-04-02 
  3.  */  
  4. Handler handler = new Handler() {  
  5.   
  6.     public void handleMessage(Message m) {  
  7.         if (!m.getData().getString("tag").equals("1"))  
  8.         {  
  9.                            ...  
  10.         }  
  11.         else  
  12.         {  
  13.             new AlertDialog.Builder(chuanbo_detail.this).setTitle("数据加载失败").setMessage("请检查网络连接情况!")  
  14.             .setPositiveButton("OK"new DialogInterface.OnClickListener(){  
  15.                 public void onClick(DialogInterface dialoginterface, int i)  
  16.                 {  
  17.                 }  
  18.           }).show();      
  19.         }  
  20.           
  21.     }  
  22. };  

 

9)android低版本工程(如1.5)放到高版本环境中(如2.2)可能会上述错误,解决方法如下:
1。 如果不修改android sdk版本,则使用project clean 命令作用于某工程即可。
       (该处理方式只是在高版本中兼容了低版本工程,未真正意义上的升级)
2。 如果修改android sdk版本,则需要以下几个步骤:
       1)修改SDK
             选择工程,build path --> configure build path ---> library 删除引用的低版本SDK,
             然后add External JARs,选择高版本SDK,OK,保存
        2)修改classpath文件
             该文件可能存在该项: <classpathentry kind="lib"   path ="你所指定的高版本的地址"
             把她修改成<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK" />
        3) 修改AndroidManifest.xml
             在AndroidManifest.xml文件中,application标签后添加<uses-sdk android:minSdkVersion="3"></uses-sdk>
        4) 修改default.properties(很重要)
              该文件最后一行(前面没用#的)target=android-3 该成target=android-8,保存。
        再看看你的工程和新建的android 2.2的工程结构就一样了。

 

 10) 错误信息:

在线程debug(运行没有问题)时调用Webservice时出现:

'JDI thread evaluations' has encountered a problem

Exception processing async thread queue

 

Exception processing async thread queue

JDI thread evaluations

 

原因及解决办法:

与运行无关的错误,关掉'expressions'视图就可以了

 11)打开开源项目JavaEye Android client时出错

http://javaeye-android-client.googlecode.com/svn/trunk/

这是 JavaEye 网站基于 Android 平台的客户端软件,可用以阅读动静、帖子、闲谈, 收躲, RSS 等功用。

 

[2011-04-19 10:55:11 - JavaEye Android Client] Project has no default.properties file! Edit the project properties to set one.

原因及解决办法:

遇到这种情况,可以创建一个default.properties文件,如果创建之后还是有错误,那么delete这个project,重新import。
编辑default.properties 之后,一般会自动创建 gen 目录, 如果没有,也可尝试手工创建。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值