I am trying to launch a new activity using the code:
Intent i = new Intent(this, TempLobbyActivity.class);
startActivity(i);
finish();
When I launch this code I get the following exceptions when executing the Intent constructor.
FATAL EXCEPTION: main
Process: com.edr.iveflownthat, PID: 1457
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/edr/iveflownthat/TempLobbyActivity;
at com.edr.iveflownthat.pages.MainActivity.tryAutoLogin(MainActivity.java:46)
at com.edr.iveflownthat.pages.MainActivity.onCreate(MainActivity.java:22)
at android.app.Activity.performCreate(Activity.java:5933)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.edr.iveflownthat.TempLobbyActivity" on path: DexPathList[[zip file "/data/app/com.edr.iveflownthat-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
FATAL EXCEPTION: main
Process: com.edr.iveflownthat, PID: 1457
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/edr/iveflownthat/TempLobbyActivity;
at com.edr.iveflownthat.pages.MainActivity.tryAutoLogin(MainActivity.java:46)
at com.edr.iveflownthat.pages.MainActivity.onCreate(MainActivity.java:22)
at android.app.Activity.performCreate(Activity.java:5933)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.edr.iveflownthat.TempLobbyActivity" on path: DexPathList[[zip file "/data/app/com.edr.iveflownthat-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
... 15 more
Suppressed: java.lang.NoClassDefFoundError: com.edr.iveflownthat.TempLobbyActivity
at dalvik.system.DexFile.defineClassNative(Native Method)
at dalvik.system.DexFile.defineClass(DexFile.java:222)
at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:215)
at dalvik.system.DexPathList.findClass(DexPathList.java:321)
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54)
... 17 more
Suppressed: java.lang.ClassNotFoundException: com.edr.iveflownthat.TempLobbyActivity
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 16 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
... 15 more
Suppressed: java.lang.NoClassDefFoundError: com.edr.iveflownthat.TempLobbyActivity
at dalvik.system.DexFile.defineClassNative(Native Method)
at dalvik.system.DexFile.defineClass(DexFile.java:222)
at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:215)
at dalvik.system.DexPathList.findClass(DexPathList.java:321)
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54)
... 17 more
Suppressed: java.lang.ClassNotFoundException: com.edr.iveflownthat.TempLobbyActivity
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 16 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
I have made sure that the class TempLobbyActivity does exist and is a proper activity. I get no other errors.
Here is the begining of TempLobbyActivity:
package com.edr.iveflownthat;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import com.edr.iveflownthat.pages.fragments.LobbyLeaderboardFragment;
import com.edr.iveflownthat.pages.fragments.LobbyMessagerFragment;
import com.edr.iveflownthat.pages.fragments.LobbyMyPlanesFragment;
public class TempLobbyActivity extends FragmentActivity {
And here is my manifest file:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.edr.iveflownthat"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<application
android:allowBackup="true"
android:icon="@drawable/app_logo"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<activity
android:name=".pages.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".StartActivity"
android:label="@string/title_activity_start" >
</activity>
<activity
android:name=".pages.AccountLoginActivity"
android:label="@string/title_activity_login" >
</activity>
<activity
android:name=".pages.MyPlanesActivity"
android:label="@string/title_activity_my_planes" >
</activity>
<activity
android:name="com.edr.icom.edr.iveflownthat.activities.AccountNewActivity"
android:label="@string/title_activity_new_account" >
</activity>
<activity
android:name=".pages.SearchPlanesActivity"
android:label="@string/title_activity_search"
android:parentActivityName=".pages.LobbyActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.edr.iveflownthat.pages.LobbyActivity" />
</activity>
<activity
android:name=".pages.LeaderBoardActivity"
android:label="@string/title_activity_leader_board" >
</activity>
<activity
android:name=".pages.PlaneBioActivity"
android:label="@string/title_activity_plane_info" >
</activity>
<activity
android:name=".pages.AccountLoginFacebookActivity"
android:label="@string/title_activity_account_login_facebook" >
</activity>
<activity
android:name=".pages.AccountLoginGoogleActivity"
android:label="@string/title_activity_account_login_google" >
</activity>
<activity
android:name=".pages.AccountLoginTwitterActivity"
android:label="@string/title_activity_account_login_twitter" >
</activity>
<activity
android:name=".pages.SettingsActivity"
android:label="@string/title_activity_settings" >
</activity>
<activity
android:name=".pages.MainTabActivity"
android:label="@string/title_activity_main_tab" >
</activity>
<activity
android:name=".pages.LobbyActivity"
android:label="@string/title_activity_lobby" >
</activity>
<activity
android:name=".pages.MessageStreamActivity"
android:label="@string/title_activity_message_stream"
android:parentActivityName=".pages.LobbyActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.edr.iveflownthat.pages.LobbyActivity" />
</activity>
<activity
android:name=".pages.LeaderboardActivity"
android:label="@string/title_activity_leaderboard"
android:parentActivityName=".pages.LobbyActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.edr.iveflownthat.pages.LobbyActivity" />
</activity>
<service
android:name=".services.MainService"
android:exported="false" />
<activity
android:name=".pages.NewMessageActivity"
android:label="@string/title_activity_new_message" >
</activity>
<activity
android:name=".pages.PlaneActivity"
android:label="@string/title_activity_plane" >
</activity>
<!--
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/app_id" />
<activity
android:name="com.facebook.LoginActivity"
android:label="@string/app_name" >
</activity>
-->
<activity
android:name=".TempLobbyActivity"
android:label="@string/title_activity_temp_lobby" >
</activity>
</application>
</manifest>
ClassNotFoundException is a checked exception which occurs when an application tries to load a class through its fully-qualified name and can not find its definition on the classpath. This occurs mainly when trying to load classes using Class.
ClassNotFoundException is a runtime exception that is thrown when an application tries to load a class at runtime using the Class. forName() or loadClass() or findSystemClass() methods ,and the class with specified name are not found in the classpath.
ClassNotFoundException is a checked exception, so it has to be catch or thrown to the caller. ClassNotFoundException always occurs at runtime because we are indirectly loading the class using Classloader. Java compiler has no way to know if the class will be present in the classpath at runtime or not.
I was getting the same error even though class was defined in AndroidManifest.xml.
Cause : Sometimes this happens as you add more than one version of appcompat library.
Solution : Remove any previous version of appcompat lib and add appcompat_v7.jar to your /lib folder.
Clean your project and build again. You might not get error again.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With