Android开发当中遇到的各种error以及解决方法

2013-4-3 09:56:16:

Could not find class 'com.[packageName].NdComPlatformHandler$1', referenced from method com.[packageName].NdComPlatformHandler.<clinit>

91SDK的Library Project应用部正确引起的。

关于library project的解释如下:http://developer.android.com/tools/projects/projects-eclipse.html#SettingUpLibraryProject

解决方法:

项目目录 -> project.properties  -> android.library.reference.1=../../../../../../libs/NdComPlatformSDK_UI_android_20121121_3.2.3/SDK_lib/91SDK_LibProject
工程右键 -> Properties -> Android -> Library -> Add... -> 选择工程所在地



2013-4-3 10:48:24:

java.lang.NoClassDefFoundError: com.umeng.analytics.MobclickAgent
android 植入友盟/广告异常java.lang.NoClassDefFoundError: com.umeng.analytics.MobclickAgent
解决办法: ADT 18对引用的jar有要求,要求jar包要放到项目下的libs里才可以找到,否则apk不会包含该jar包。
D:\Developer\svn\workspace\trunk\BDMobile\libs\umeng_sdk_201303141927_analytics\libs\umeng_sdk.jar
Refresh项目,然后 Properties -> Libraries -> Add JARs... -> 选额自己的工程 -> libs -> umeng_sdk.jar


2013-4-7 9:45:49:

overlaps the location of another project

原因:eclipse的workspace下已经有该工程

解决方案:将工程目录放在非workspace下面,然后通过import引入源码,同时勾选copy to workspace,这样workspace就会创建一份副本进行开发



2013-4-7 9:46:05:

Failed to read the project description file (.project)

原因:


发现.project文件的容量为0KB,所以读取错误。

解决方法:

给.project文件添加内容即可:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
	<name>ProjectName</name>
	<comment></comment>
	<projects>
	</projects>
	<buildSpec>
		<buildCommand>
			<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.eclipse.jdt.core.javabuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>com.android.ide.eclipse.adt.ApkBuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
	</buildSpec>
	<natures>
		<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
		<nature>org.eclipse.jdt.core.javanature</nature>
	</natures>
</projectDescription>
其中 ProjectName是你的项目名称。

2013-4-17 10:29:20:

AndroidRuntime FATAL EXCEPTION: GLThread 12

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

原因:

在对接SDK的时候,一个类当中如果需要执行一段和UI相关的代码,如弹出对话框或者Toast提示等等,那么就需要和UI Thread打交道。

((Activity)mContext).runOnUiThread(new Runnable()
{
    //TODO:your code
}
这是一种最简便的方法,只需要在类的构造函数获取当前Activity的Context,然后就可以简单滴在类中调用一段和UI Thread相关的代码。


还有一种解决方法就是使用Android的Message机制,在主线程当中加入一个Handler,专门用来处理其他子线程发送过来的Message,这些Message会被发送到一个消息队列当中排队,通过Looper来进行选择对应的Handler来执行相应的操作,这些Handler都是主线程来执行代码的(在线程内是有序的),由于UI的更新都在主线程当中,因此就可以解决线程不安全的问题。


主线程会默认创建一个消息队列和Looper

而子线程是默认没有创建的,如果要在子线程中简历消息队列,那就在Looper.prepare()  Looper.loop();之间写代码


2013-4-19 12:10:26:

Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

安装包容量过大,手机内存不足,删掉重新安装即可


2013-5-24 18:09:39:

系统找不到指定的路径。

调用:ndk-build.cmd的时候导致的,操作系统:windows 8

最后发现该脚本里的数据有问题:

set NDK_ROOT=%~dp0
set NDK_MAKE=%NDK_ROOT%\prebuilt\windows-x86_64\bin\make.exe

分别输出:

E:\dev\sdk\android-ndk-r8e\
E:\dev\sdk\android-ndk-r8e\\prebuilt\windows-x86_64\bin\make.exe

多了一个斜杠,我晕!


2013-7-24 10:28:58

NDK编译时发生

obj/local/armeabi/objs-debug/hello-jni/hello-jni.o.d:1: *** 多个目标匹配。 停止。
解决办法:把目录hello-jni下的libs和obj两个文件夹删除,重新编译即可。


2013-12-1 19:46:01

导入jar时发生

[2013-12-01 19:37:00 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/tencent/weibo/api/RequestAPI;
[2013-12-01 19:37:00 - WTJob] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/tencent/weibo/api/RequestAPI;

解决办法:把工程目录下的libs目录里的QWeiboSDK.jar删除,重新clean工程即可。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值