将扩展从Activity更改为BaseGameActivity后的ClassNotFoundException

时间:2013-06-03 13:37:44

标签: java android classnotfoundexception google-play-services

我正在尝试整合Android docs中的Android Google Play Services。我完成了所有步骤并且编译没有错误。在我的启动画面上运行时,我得到以下错误。

05-30 21:08:36.115: E/AndroidRuntime(7137): FATAL EXCEPTION: Thread-153
05-30 21:08:36.115: E/AndroidRuntime(7137): java.lang.NoClassDefFoundError: matt.lyons.bibletrivia.lite.MainMenu
05-30 21:08:36.115: E/AndroidRuntime(7137):     at matt.lyons.bibletrivia.lite.SplashScreen$IntentLauncher.run(SplashScreen.java:46)

以下是“SplashScreen.java:46”的代码。

Intent intent = new Intent(SplashScreen.this, MainMenu.class);  //Line 46
startActivity(intent);

我刚刚更改了MainMenu中的开头行:

public class MainMenu extends Activity {

到此:

public class MainMenu extends BaseGameActivity {

现在我得到了ClassNotFoundException。为什么会出现此错误? MainMenu课肯定在那里。可根据要求提供更多代码。

Android Manifest

<manifest 
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="matt.lyons.bibletrivia.lite"
    android:versionCode="5"
    android:versionName="1.2.1" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

    <application
        android:icon="@drawable/icon_blue_bg"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".SplashScreen"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action
                    android:name="android.intent.action.MAIN" />
                <category
                    android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity 
            android:name="com.google.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
        <activity
            android:label="@string/app_name"
            android:name=".About"
            android:screenOrientation="portrait" />
        <activity
            android:label="@string/app_name"
            android:name=".Categories"
            android:screenOrientation="portrait" />
        <activity
            android:label="@string/app_name"
            android:name=".Question"
            android:screenOrientation="portrait" />
        <activity
            android:label="@string/app_name"
            android:name=".Quiz"
            android:screenOrientation="portrait" />
        <activity
            android:label="@string/app_name"
            android:name=".QuestionView"
            android:screenOrientation="portrait" />
        <activity
            android:label="@string/app_name"
            android:name=".Results"
            android:screenOrientation="portrait" />
        <activity
            android:label="@string/app_name"
            android:name=".Highscores"
            android:screenOrientation="portrait" />
        <activity
            android:label="@string/app_name"
            android:name=".DatabaseHelper"
            android:screenOrientation="portrait" />
        <activity
            android:label="@string/app_name"
            android:name=".ComingSoon"
            android:screenOrientation="portrait" />
        <activity
            android:label="@string/app_name"
            android:name=".MainMenu"
            android:screenOrientation="portrait" />
        <activity
            android:label="@string/app_name"
            android:name=".MyApplication"
            android:screenOrientation="portrait" />
        <activity
            android:label="@string/app_name"
            android:name=".BibleStudy"
            android:screenOrientation="portrait" />
    </application>

    <uses-permission 
        android:name="android.permission.INTERNET" />
    <uses-permission 
        android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission 
        android:name="com.android.vending.BILLING" />
</manifest>

3 个答案:

答案 0 :(得分:0)

在Manifest中的<activity android:name=".MainMenu" />标记内添加application

答案 1 :(得分:0)

在以下位置创建新活动:

File->New->Other->Android Activity->Blanc Activity

然后在Hierarchical Parent中选择BaseGameActivity ...

之后,将MainActivity的代码复制到刚创建的活动中......

我相信你不会有错误。

答案 2 :(得分:0)

有同样的问题。

这个问题的答案为我解决了。 Class not found error after updating ADT and Android sdk tools to latest ver 22