Android ClassNotFoundException: не нашел класс на пути

Я не могу найти решение этой ошибки. Можете ли вы дать постоянное решение. Я понятия не имею, как это решить, и помогите мне.

01-04 11:06:42.302: E/AndroidRuntime(1906): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{e.gochat/e.gochat.gochat.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "e.gochat.gochat.MainActivity" on path: DexPathList[[zip file "/data/app/e.gochat-1.apk"],nativeLibraryDirectories=[/data/app-lib/e.gochat-1, /vendor/lib, /system/lib]] 01-04 11:06:42.302: E/AndroidRuntime(1906): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2102) 01-04 11:06:42.302: E/AndroidRuntime(1906): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226) 01-04 11:06:42.302: E/AndroidRuntime(1906): at android.app.ActivityThread.access$700(ActivityThread.java:135) 01-04 11:06:42.302: E/AndroidRuntime(1906): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1397) 01-04 11:06:42.302: E/AndroidRuntime(1906): at android.os.Handler.dispatchMessage(Handler.java:102) 01-04 11:06:42.302: E/AndroidRuntime(1906): at android.os.Looper.loop(Looper.java:137) 01-04 11:06:42.302: E/AndroidRuntime(1906): at android.app.ActivityThread.main(ActivityThread.java:4998) 01-04 11:06:42.302: E/AndroidRuntime(1906): at java.lang.reflect.Method.invokeNative(Native Method) 01-04 11:06:42.302: E/AndroidRuntime(1906): at java.lang.reflect.Method.invoke(Method.java:515) 01-04 11:06:42.302: E/AndroidRuntime(1906): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777) 01-04 11:06:42.302: E/AndroidRuntime(1906): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593) 01-04 11:06:42.302: E/AndroidRuntime(1906): at dalvik.system.NativeStart.main(Native Method) 01-04 11:06:42.302: E/AndroidRuntime(1906): Caused by: java.lang.ClassNotFoundException: Didn't find class "e.gochat.gochat.MainActivity" on path: DexPathList[[zip file "/data/app/e.gochat-1.apk"],nativeLibraryDirectories=[/data/app-lib/e.gochat-1, /vendor/lib, /system/lib]] 01-04 11:06:42.302: E/AndroidRuntime(1906): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 01-04 11:06:42.302: E/AndroidRuntime(1906): at java.lang.ClassLoader.loadClass(ClassLoader.java:497) 01-04 11:06:42.302: E/AndroidRuntime(1906): at java.lang.ClassLoader.loadClass(ClassLoader.java:457) 01-04 11:06:42.302: E/AndroidRuntime(1906): at android.app.Instrumentation.newActivity(Instrumentation.java:1061) 01-04 11:06:42.302: E/AndroidRuntime(1906): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2093) 01-04 11:06:42.302: E/AndroidRuntime(1906): ... 11 more 01-04 11:07:06.772: I/Process(1906): Sending signal. PID: 1906 SIG: 9 

Это мое приложение Manifest XML

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="e.gochat" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="18" /> <permission android:name="e.gochat.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="e.gochat.permission.C2D_MESSAGE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <uses-permission android:name="android.permission.READ_CONTACTS" /> <application android:name="e.gochat.Common" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="e.gochat.MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="e.gochat.ChatActivity" /> <activity android:name="e.gochat.SettingsActivity" android:label="@string/title_activity_settings" /> <receiver android:name="e.gochat.client.GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <category android:name="e.gochat" /> </intent-filter> </receiver> <provider android:name="e.gochat.DataProvider" android:authorities="e.gochat.provider" android:exported="false"> </provider> </application> 

Я не уверен, что здесь не так. Я добавил файл .jar в путь сборки java. И все же я получаю это classnotfound исключение. Приложение загружается, когда я импортирую файл android.app.Application

Solutions Collecting From Web of "Android ClassNotFoundException: не нашел класс на пути"

Я точно не знаю, что такое имя вашего пакета, но если это e.gochat сделайте это.

Добавить package="e.gochat" в manifest.xml

 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="e.gochat" ..... ..... > 

В каждом объявлении активности для android:name ставьте точку перед именем деятельности:

 <activity android:name=".MainActivity"> ............ </activity> <activity android:name=".ChatActivity"> 

РЕДАКТИРОВАТЬ

После вашего редактирования я вижу, что e.gochat – это имя вашего пакета.
Теперь вам нужно только удалить e.gochat из каждого имени деятельности / провайдера / получателя, как я сказал во второй части моего ответа.
Android добавит это для вас.

Я решил эту проблему, отключив опцию мгновенного запуска андроид-студии. Отключение Instant Run Goto File -> Настройки -> Сборка, выполнение, развертывание -> Мгновенный запуск -> Снимите флажок для мгновенного запуска

Удаление приложения на устройстве и запуск проекта снова исправили его для меня.

Использование Android Studio

После обновления до Android Stuido 0.8.2 у меня была эта проблема. Я пробовал много вещей, в том числе

  • Чистый проект
  • Очистить проект (очистить град)
  • Недействительные кеши и перезагрузка
  • Отменить квалификацию имени активности в AndroidManifest.xml (.MyActivity)

Ничего не работало, пока я не импортировал весь проект.

File -> Close Project -> Import Project... -> Choose the same project -> OK

Это исправило это для меня

Для меня это происходило на устройствах под управлением <Android 5.0, потому что у меня не было поддержки multidex (это более 65 тысяч общих методов, включая libs). Multidex является автоматическим и родным на Android 5.0+ (в частности, устройства, использующие ART ).

Причина, по которой это повлияло на меня, объясняется неправильным именем пути в файле макета

 <android.support.v4.app.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v4.app.view.ViewPager> 

Правильный абсолютный путь к ViewPager

 android.support.v4.view.ViewPager 

После исправления пути он сработал. Мне не нужно было префикс имени активности с помощью «.».

Проблема была решена путем удаления MultiDexSupport из файла build.gradle :

 defaultConfig { multiDexEnabled true // This line was causing above problem } 

Удаление MultiDexSupport решило проблему

Эта проблема имеет несколько ответов на основе разных сценариев. Я получал ту же ошибку при использовании библиотеки (.aar) в моем проекте Android Studio.

Основная причина в моем случае заключалась в том, что я пропустил добавление зависимости сторонней библиотеки lib в файле build.gradle приложения, который использовался файлом .aar.

Например: – библиотека (.aar) использовала «com.squareup.okhttp3: okhttp: 3.4.1». Поэтому мне пришлось добавить

Compile 'com.squareup.okhttp3: okhttp: 3.4.1'

В приложении build.gradle. Надеюсь, это поможет кому-то.

Я реализовал прослушиватель, который не был доступен в версии для Android, которую я выполнял, и это привело к той же ошибке.

Пример MainActivity:

 // RecyclerView.OnScrollChangeListener is only available on API >= 23 public class MainActivity implements RecyclerView.OnScrollChangeListener { } 

Выполнение этой операции на устройстве с API <23 приведет также к этой ошибке …