Подтвердить что ты не робот

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

Это мое приложение манифест 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. И все же я получаю это классное исключение. Приложение загружается, когда я импортирую файл android.app.Application

4b9b3361

Ответ 1

Я точно не знаю, что такое имя вашего пакета, но если это 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">

EDIT

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

Ответ 2

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

Ответ 3

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

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

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

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

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

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

Ответ 4

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

Ответ 5

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

<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

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

Ответ 6

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

Ответ 7

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

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

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

Ответ 8

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

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

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

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

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

Ответ 9

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

Пример MainActivity:

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

}

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

Ответ 10

ANDROID STUDIO В дополнение к Кишору ответьте:

Ошибка произошла в моем маленьком проекте, когда я включил multiDexEnabled = true в gradle defaultconfig. Использование сгенерированного файла .apk сбой при запуске приложения с известным сообщением об ошибке.

Для меня это было решено, когда я построил файл .apk через gradle (правая сторона студии android) → "yourapp" → Tasks- > install → installDebug

Надеюсь, что это поможет кому-то с этой странной ошибкой