0

コンパイラレベル1.7でのみサポートされているStringで「スイッチ」を使用したかったので、Eclipseはそれをアップグレードしてから、プロジェクトのプロパティを修正するように提案しました。それ以来、私のアプリが起動し、OnCreateが呼び出される前でもクラッシュします。問題がコンパイラレベルにあることは確かですが、デフォルトに戻しましたが、それでも機能しません...どうすればよいですか?

ありがとう!

スタックトレース:

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
4

2 に答える 2

3

AndroidではJava1.6のみを使用できます。1.6のSwitchステートメントは文字列をサポートしていませんが、煩わしいのですが、それはまさにその通りです。

「元に戻す」については、プロジェクトを修正する手順を実行できますが、新しいプロジェクトを作成して最初からやり直す方が簡単です。Eclipseに慣れてきたら、ビルドパスの設定が半開きで、それがハングアップだと思います。リントはあなたに問題を指摘することができるかもしれませんが、それはリントとのコイントスのようです。

于 2012-06-25T17:37:47.730 に答える
1

これを参照してください:AndroidでのJava7言語機能

基本的に、Java1.7はAndroidでは実際には使用できません。1.7 JDKを使用できますが、1.6を使用する必要があります。

簡単に言えば、1.6に固執します。

于 2012-06-25T17:41:07.037 に答える