我先后创作出版了我的第一款Android应用程序。这很简单。它工作正常,在模拟器和一些手机,但我得到这个错误:
I have created and published my first android app. It's very simple. It works fine on simulator and some phones, but I am getting this error:
java.lang.RuntimeException: Unable to instantiate application cz.teamnovak.droid.Novak ESC Track guide: java.lang.ClassNotFoundException: cz.teamnovak.droid.Novak ESC Track guide in loader dalvik.system.PathClassLoader[/data/app/cz.teamnovak.droid-1.apk]
at android.app.ActivityThread$PackageInfo.makeApplication(ActivityThread.java:649)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4232)
at android.app.ActivityThread.access$3000(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2071)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: cz.teamnovak.droid.Novak ESC Track guide in loader dalvik.system.PathClassLoader[/data/app/cz.teamnovak.droid-1.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
at android.app.Instrumentation.newApplication(Instrumentation.java:942)
at android.app.ActivityThread$PackageInfo.makeApplication(ActivityThread.java:644)
... 11 more
任何想法是什么原因?
Any idea what can cause this?
是的,我有此相同的问题。这是因为我指定了 Android的:在应用程序节点名称
属性在清单文件
Yep, I had this exact same problem. It was because I specified the android:name
attribute in the application node in the manifest file.
您的Android清单文件可能看起来是这样的:
Your Android Manifest file probably looks something like this:
<application
android:name="Novak ESC Track guide"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:description="@string/help_text" >
安卓名称
属性!除非你已经实现了一个自定义的应用对象。在应用程序:名称
属性无关,与你的应用程序的名称。这是一个特定的类加载为你的应用程序
实例的名称。这就是为什么你会得到 ClassNotFoundException的
如果这个类就不会存在。
android:name
attribute! unless you've implemented a custom Application object.The application:name
attribute has nothing to do with the name of your app. This is the name of a specific class to load as your Application
instance. That's why you would get the ClassNotFoundException
if that class wouldn't exist.
删除它,它应该工作:
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:description="@string/help_text" >