首页 > 分享 > ClassNotFoundException解决方案总结

ClassNotFoundException解决方案总结

相信很多初学Android的会遇到这个问题,在此做一个总结,方便日后查阅。

1,首先说一下异常

ClassNotFoundException:类找不到异常。首先看你的logcat中是否显示Caused by : java.lang.ClassNotFoundExcetion..

2,产生条件

什么时候会抛出classnotfoundException异常呢?这涉及到底层的API。

当程序试图使用class类中的forname方法、classloader类中的findsystemclass方法,classloader类中loadclass方法通过字符串名的形式加载此类时,会抛出该异常

3,解决方案

 1》,首先检查一下你的环境变量classpath的配置,看一看所需要的支持类库是否放在类路径里面,环境变量配置相关参考博客  http://blog.csdn.net/zrf1335348191/article/details/50773255

 2》,是否使用了重复的类库,且版本不一致,导致低版本被优先使用

 3》,类名错了,在调用class类中的forname方法时会出异常,很明显,我的是在调用classloader的loadclass方法时出错

 4》,没有导入纯Java驱动包

 还有一些初级错误比如

 5》,清单配置文件中是否activity的路径错误,activity名字是否错误

还有尽量不要使用中文作为项目名称,如果你想修改APP的名称可以在string.xml以及Androidmanifest.xml文件中修改

4,示例解决方案

如果在Androidmanifest.xml文件中点击activity类名根本无法进入到activity中,那就说明包名跟目录不是对应的,必须修改。检查时发现包名是错误的

我的目录结构如下:

也就是说mainactivity类位于src/activity包下,而我的清单配置文件中的package却配置错误

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.fang.myforceclose" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:icon="@drawable/ic_launcher" android:label="@string/app_name"> <intent-filter > <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest>

导致找不到该MainActivity

1》此时要么改变清单配置文件中的包名

将包名改成如下即可,此时如果在activity节点下可以进入到MainActivity类中,则程序就可以运行了

在activity节点下name属性改成

<activity android:name="activity.MainActivity" android:icon="@drawable/ic_launcher" android:label="@string/app_name"> <intent-filter > <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>

可是,这种做法只有第一次启动程序时有效,在第二次去启动时程序还是会在com.fang.myforceclose文件夹下寻找包名,所以,最终解决方案是,将activity放置在com.fang.myforceclose目录或其子目录下,将目录结构进行如下修改

如果你出现了classnotfoundexception异常,但是上述方案无法解决你的问题,请留言

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。

原始发表:2016-03-03,如有侵权请联系 cloudcommunity@tencent.com 删除

相关知识

逆天改花命,人工降温增加湿度,个人花园度夏解决方案
鲜花电商服务云平台整体解决方案.ppt
员工福利解决方案
软件专业实习总结7篇
生鲜配送解决方案(精选15篇)
花生技术解决方案(第①遍)
推动可持续发展的创新解决方案
春节该不该燃放烟花爆竹解决方案(通用19篇)
LoRa智能园林灌溉系统解决方案
生鲜配送解决方案(精选16篇)

网址: ClassNotFoundException解决方案总结 https://m.huajiangbk.com/newsview104391.html

所属分类:花卉
上一篇: 借花献佛!朋友干了5年整的Jav
下一篇: 一个小伙子在面试落聘后给没有录用