当前位置:编程学习 > wap >>

关于 java.lang.RuntimeException: Unable to instantiate application 的错误

最近因为要做android关于串口的东西,找到了开源的android-serialport-api,但是这个东西并不是eclipse下的android工程,所以自己把它的文件拷贝到自己建的一个工程中。名字叫android-serialport-api,src文件夹下是sample包

修改完所以的错误,运行工程,出现了这样的错误
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的注册,所以很困惑,求大家帮忙解决,拜谢!!! android exception application --------------------编程问答-------------------- 最近在打包时也遇到了这个问题,打过的包安装后运行提示找不到application错误,重新打了包后没问题了,很诡异…… --------------------编程问答--------------------
引用 1 楼 monodin 的回复:
最近在打包时也遇到了这个问题,打过的包安装后运行提示找不到application错误,重新打了包后没问题了,很诡异……


谢谢,不过我是新手你指的打包是指什么,是给apllication,重新放进sample里面吗 --------------------编程问答-------------------- 在网上找的东西最好不要直接copy进去,因为这样会造成一些错误。你重新启动Eclipse试试 --------------------编程问答-------------------- ava.lang.ClassNotFoundException: android_serialport_api.sample.Application 

引用 2 楼 akunainiannian 的回复:
引用 1 楼 monodin 的回复:
最近在打包时也遇到了这个问题,打过的包安装后运行提示找不到application错误,重新打了包后没问题了,很诡异……

谢谢,不过我是新手你指的打包是指什么,是给apllication,重新放进sample里面吗


是打包成发布的apk,我当时引用了library工程,可能和这个有关

你找下工程的build path里是不是有一些jar是通过外部引用的,把它们copy出来放到工程的libs目录下,并add to build path, 然后clean一下再试试 --------------------编程问答-------------------- 使用svn或者其他重新导入项目即可解决 --------------------编程问答-------------------- 我也遇到这个问题,可以试试这个,我准备这么干 http://stackoverflow.com/questions/10311537/android-to-unable-to-instantiate-application-java-lang-classnotfoundexception
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,