Android开发Log–Unable to instantiate activity ComponentInfo 异常

今天调试2048程序准备给它写个AI,本来跑的挺正常的程序突然蹦出了个异常:

08-17 13:46:20.158: E/AndroidRuntime(25840): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{in.fourier.game/in.fourier.game2048.MainActivity}: java.lang.ClassNotFoundException: in.fourier.game2048.MainActivity

代码完全挂了,Debug 跑步起来,在MainActivity.onCreate() 打断点也走不进去。

去问了一下万能的StackOverFlow ,群众纷纷表示是Activity 没有在Manifest 注册导致的,仔细看了一下我的代码也没有这个问题:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="in.fourier.game2048.MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

天哪!谁来告诉我WP-Syntax 这个插件为什么不能正常一点!:-(

还有人表示这个是因为Activity 里面复写了onCreate() ,同时又有构造方法。检视了一下没有这问题。

挺无奈的,浪费了半小时的功夫还没搞定,最后只能祭出大杀器:

delete-gen

删除选中的两个目录,再重新Build 一下,问题解决。

仔细想了一下,有可能是我修改了包名造成的。虽然Eclipse 的重构功能已经很强大,可以匹配相同的字符串做替换,但是还是出了这问题。

莫名其妙的出现,莫名其妙的消失,还是我太年轻啊。

以上备忘。