修改完所以的错误,运行工程,出现了这样的错误
03-22 13:06:55.273: E/AndroidRuntime(825): FATAL EXCEPTION: main
03-22 13:06:55.273: E/AndroidRuntime(825): java.lang.RuntimeException: Unable to instantiate application android_serialport_api.sample.Application: java.lang.ClassNotFoundException: android_serialport_api.sample.Application in loader dalvik.system.PathClassLoader[/data/app/android_serialport_api.sample-2.apk]
03-22 13:06:55.273: E/AndroidRuntime(825): at android.app.LoadedApk.makeApplication(LoadedApk.java:466)
03-22 13:06:55.273: E/AndroidRuntime(825): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3260)
03-22 13:06:55.273: E/AndroidRuntime(825): at android.app.ActivityThread.access$2200(ActivityThread.java:117)
03-22 13:06:55.273: E/AndroidRuntime(825): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:969)
03-22 13:06:55.273: E/AndroidRuntime(825): at android.os.Handler.dispatchMessage(Handler.java:99)
03-22 13:06:55.273: E/AndroidRuntime(825): at android.os.Looper.loop(Looper.java:123)
03-22 13:06:55.273: E/AndroidRuntime(825): at android.app.ActivityThread.main(ActivityThread.java:3683)
03-22 13:06:55.273: E/AndroidRuntime(825): at java.lang.reflect.Method.invokeNative(Native Method)
03-22 13:06:55.273: E/AndroidRuntime(825): at java.lang.reflect.Method.invoke(Method.java:507)
03-22 13:06:55.273: E/AndroidRuntime(825): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-22 13:06:55.273: E/AndroidRuntime(825): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-22 13:06:55.273: E/AndroidRuntime(825): at dalvik.system.NativeStart.main(Native Method)
03-22 13:06:55.273: E/AndroidRuntime(825): Caused by: java.lang.ClassNotFoundException: android_serialport_api.sample.Application in loader dalvik.system.PathClassLoader[/data/app/android_serialport_api.sample-2.apk]
03-22 13:06:55.273: E/AndroidRuntime(825): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
03-22 13:06:55.273: E/AndroidRuntime(825): at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
03-22 13:06:55.273: E/AndroidRuntime(825): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
03-22 13:06:55.273: E/AndroidRuntime(825): at android.app.Instrumentation.newApplication(Instrumentation.java:942)
03-22 13:06:55.273: E/AndroidRuntime(825): at android.app.LoadedApk.makeApplication(LoadedApk.java:461)
03-22 13:06:55.273: E/AndroidRuntime(825): ... 11 more
其中第一行说java.lang.RuntimeException: Unable to instantiate application android_serialport_api.sample.Application: java.lang.ClassNotFoundException: android_serialport_api.sample.Application in loader dalvik.system.PathClassLoader[/data/app/android_serialport_api.sample-2.apk]
找不到android_serialport_api.sample.Application这个文件,可是这个文件就在sample包下啊
上网查了以后,有人说是需要在androidmanifes.xml中注册
可是我的androidmanifes.xml文件就是从网上找的开源例程里直接拷贝的啊
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="android_serialport_api.sample"
android:versionCode="2"
android:versionName="1.1" >
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:name="Application">
<activity
android:label="@string/app_name"
android:name="MainMenu" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="SerialPortPreferences" >
</activity>
<activity android:name="ConsoleActivity" >
</activity>
<activity android:name="LoopbackActivity" >
</activity>
<activity android:name="Sending01010101Activity"></activity>
</application>
<uses-sdk android:minSdkVersion="10" />
</manifest>
可以看见,里面有application的注册,所以很困惑,求大家帮忙解决,拜谢!!!
8 个解决方案
#1
最近在打包时也遇到了这个问题,打过的包安装后运行提示找不到application错误,重新打了包后没问题了,很诡异……
#2
谢谢,不过我是新手你指的打包是指什么,是给apllication,重新放进sample里面吗
#3
在网上找的东西最好不要直接copy进去,因为这样会造成一些错误。你重新启动Eclipse试试
#4
ava.lang.ClassNotFoundException: android_serialport_api.sample.Application
是打包成发布的apk,我当时引用了library工程,可能和这个有关
你找下工程的build path里是不是有一些jar是通过外部引用的,把它们copy出来放到工程的libs目录下,并add to build path, 然后clean一下再试试
是打包成发布的apk,我当时引用了library工程,可能和这个有关
你找下工程的build path里是不是有一些jar是通过外部引用的,把它们copy出来放到工程的libs目录下,并add to build path, 然后clean一下再试试
#5
使用svn或者其他重新导入项目即可解决
#6
我也遇到这个问题,可以试试这个,我准备这么干 http://*.com/questions/10311537/android-to-unable-to-instantiate-application-java-lang-classnotfoundexception
#7
程序中的所有继承了Application类的子类都需要在maiinfest文件中的<application />标签中注册,比如ActivityB继承了application类,所以要在mainfest文件的<application />标签中中写入android:name=".ActivityB" .如果没有注明可能会出现上述错误。
#8
今天才看到。哈哈,这个name路径不对的吧<activity android:name="SerialPortPreferences" >
</activity>
</activity>
#1
最近在打包时也遇到了这个问题,打过的包安装后运行提示找不到application错误,重新打了包后没问题了,很诡异……
#2
谢谢,不过我是新手你指的打包是指什么,是给apllication,重新放进sample里面吗
#3
在网上找的东西最好不要直接copy进去,因为这样会造成一些错误。你重新启动Eclipse试试
#4
ava.lang.ClassNotFoundException: android_serialport_api.sample.Application
是打包成发布的apk,我当时引用了library工程,可能和这个有关
你找下工程的build path里是不是有一些jar是通过外部引用的,把它们copy出来放到工程的libs目录下,并add to build path, 然后clean一下再试试
是打包成发布的apk,我当时引用了library工程,可能和这个有关
你找下工程的build path里是不是有一些jar是通过外部引用的,把它们copy出来放到工程的libs目录下,并add to build path, 然后clean一下再试试
#5
使用svn或者其他重新导入项目即可解决
#6
我也遇到这个问题,可以试试这个,我准备这么干 http://*.com/questions/10311537/android-to-unable-to-instantiate-application-java-lang-classnotfoundexception
#7
程序中的所有继承了Application类的子类都需要在maiinfest文件中的<application />标签中注册,比如ActivityB继承了application类,所以要在mainfest文件的<application />标签中中写入android:name=".ActivityB" .如果没有注明可能会出现上述错误。
#8
今天才看到。哈哈,这个name路径不对的吧<activity android:name="SerialPortPreferences" >
</activity>
</activity>