Reputation: 2724
I wanted to use a 'switch' with String, which is supported only in compiler level 1.7, so Eclipse offered me to upgrade it, and then fix my project properties. Since then, my app starts, and even before OnCreate is called, it crashes. I know for sure that the problem is the compiler level, but I reverted it back to defaults, and still it doesn't work... What can I do?
Thanks!
Stacktrace:
06-25 17:39:09.039: D/AndroidRuntime(265): Shutting down VM
06-25 17:39:09.049: W/dalvikvm(265): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
06-25 17:39:09.080: E/AndroidRuntime(265): FATAL EXCEPTION: main
06-25 17:39:09.080: E/AndroidRuntime(265): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.ronEven.iCards/com.ronEven.iCards.Main}: java.lang.ClassNotFoundException: com.ronEven.iCards.Main in loader dalvik.system.PathClassLoader[/data/app/com.ronEven.iCards-1.apk]
06-25 17:39:09.080: E/AndroidRuntime(265): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
06-25 17:39:09.080: E/AndroidRuntime(265): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-25 17:39:09.080: E/AndroidRuntime(265): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-25 17:39:09.080: E/AndroidRuntime(265): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-25 17:39:09.080: E/AndroidRuntime(265): at android.os.Handler.dispatchMessage(Handler.java:99)
06-25 17:39:09.080: E/AndroidRuntime(265): at android.os.Looper.loop(Looper.java:123)
06-25 17:39:09.080: E/AndroidRuntime(265): at android.app.ActivityThread.main(ActivityThread.java:4627)
06-25 17:39:09.080: E/AndroidRuntime(265): at java.lang.reflect.Method.invokeNative(Native Method)
06-25 17:39:09.080: E/AndroidRuntime(265): at java.lang.reflect.Method.invoke(Method.java:521)
06-25 17:39:09.080: E/AndroidRuntime(265): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-25 17:39:09.080: E/AndroidRuntime(265): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-25 17:39:09.080: E/AndroidRuntime(265): at dalvik.system.NativeStart.main(Native Method)
06-25 17:39:09.080: E/AndroidRuntime(265): Caused by: java.lang.ClassNotFoundException: com.ronEven.iCards.Main in loader dalvik.system.PathClassLoader[/data/app/com.ronEven.iCards-1.apk]
06-25 17:39:09.080: E/AndroidRuntime(265): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
06-25 17:39:09.080: E/AndroidRuntime(265): at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
06-25 17:39:09.080: E/AndroidRuntime(265): at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
06-25 17:39:09.080: E/AndroidRuntime(265): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
06-25 17:39:09.080: E/AndroidRuntime(265): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
06-25 17:39:09.080: E/AndroidRuntime(265): ... 11 more
Upvotes: 0
Views: 532
Reputation: 5529
See this: Java 7 language features with Android
Basically, Java 1.7 can't really be used with Android. You can use the 1.7 JDK, however you will be forced to use 1.6.
Simply put, stick to 1.6.
Upvotes: 1
Reputation: 3488
You can only use Java 1.6 with Android. Switch statements in 1.6 do not support strings, while annoying, it's just the way it is.
As for 'reverting back' you could go through the steps of fixing the project but it would just be easier to create a new project and start fresh. When you get more comfortable with Eclipse, my guess is your build path settings are ajar and that is your hangup. Lint might be able to point out the problem to you but that seems to be a coin toss with Lint.
Upvotes: 3