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

10-22 15:29:40.897: E/AndroidRuntime(2561): FATAL EXCEPTION: main 10-22 15:29:40.897: E/AndroidRuntime(2561): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.gvg.simid/com.gvg.simid.Login}: java.lang.ClassNotFoundException: Didn't find class "com.gvg.simid.Login" on path: DexPathList[[zip file "/data/app/com.gvg.simid-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.gvg.simid-1, /vendor/lib, /system/lib]] 10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137) 10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.access$600(ActivityThread.java:141) 10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 10-22 15:29:40.897: E/AndroidRuntime(2561): at android.os.Handler.dispatchMessage(Handler.java:99) 10-22 15:29:40.897: E/AndroidRuntime(2561): at android.os.Looper.loop(Looper.java:137) 10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.main(ActivityThread.java:5103) 10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.reflect.Method.invokeNative(Native Method) 10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.reflect.Method.invoke(Method.java:525) 10-22 15:29:40.897: E/AndroidRuntime(2561): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 10-22 15:29:40.897: E/AndroidRuntime(2561): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 10-22 15:29:40.897: E/AndroidRuntime(2561): at dalvik.system.NativeStart.main(Native Method) 10-22 15:29:40.897: E/AndroidRuntime(2561): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.gvg.simid.Login" on path: DexPathList[[zip file "/data/app/com.gvg.simid-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.gvg.simid-1, /vendor/lib, /system/lib]] 10-22 15:29:40.897: E/AndroidRuntime(2561): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53) 10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.Instrumentation.newActivity(Instrumentation.java:1061) 10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128) 10-22 15:29:40.897: E/AndroidRuntime(2561): ... 11 more 

Я не совсем уверен, что вызывает его, поскольку он правильно указан в манифесте:

                             

Я также добавил «частные библиотеки Android» для создания пути и переместил его в начало «Order and Export», но он все равно дал мне ту же ошибку.

EDIT: я полностью восстановил проект и не смог воспроизвести ошибку. Не уверен, что вызвало это.

У меня была такая же проблема для моего проекта. Это произошло из-за конфликта в версии поддержки поддержки Android от моего проекта и проекта библиотеки, который я добавил в моем проекте. Поместите ту же версию поддержки поддержки android в свои проекты и библиотеки, которые вы включили, и очистите сборку … Все будет работать …

Этот метод работал для меня. Щелкните правой кнопкой мыши свой project и выберите properties . Откроется панель «Свойства для». В меню слева перейдите в Java Build Path -> Order and Export . В списке ниже снимите флажок рядом с "Android Dependencies" . Наконец, clean your project и запустите его.

Надеюсь, что это работает

Для тех из вас, кто имеет эту проблему в Android Studio, у меня была такая же проблема после слияния, и по какой-то причине она даже сохранялась после clean и invalidate cash/restart операций с invalidate cash/restart что сводило меня с ума.

Оказывается, его можно исправить, выполнив однострочное построение графы из командной строки. Просто запустите следующую директорию проекта:

 ./gradlew assemble clean ./gradlew assemble 

Надеюсь, это сэкономит кому-то время, потраченное на то, что мне пришлось пройти.

Если вы используете Eclipse, попробуйте Project -> Clean

Это происходит, если мы изменим путь сборки APP, это может быть в любом случае с добавлением или удалением или изменением библиотек или .jar-файла. Лучшим решением является перезапуск Eclipse.

У меня была такая же проблема, это сработало для меня

1) Полный путь деятельности в mainfest вместо относительного пути.

2) Удалите папку «build» и очистите проект.

Если вы получите эту ошибку при использовании новой функции Instant Run в Android Studio 2.0 и выше, это будет своего рода ошибка на их стороне.
Чтобы исправить это, вам придется останавливать свое приложение вручную на устройстве / эмуляторе, если оно не остановлено, а затем из Android Studio выберите « Сборка» → « Перестроить проект» .
Затем нажмите кнопку « Выполнить» или « SHIFT + F10»

Для любого, у кого есть multidex enable, напишите это

внутри build.gradle

 apply plugin: 'com.android.application' android { defaultConfig { multiDexEnabled true } dexOptions { javaMaxHeapSize "4g" } } dependencies { compile 'com.android.support:appcompat-v7:+' compile 'com.google.android.gms:play-services:+' compile 'com.android.support:multidex:1.0.1' } 

написать class EnableMultiDex как EnableMultiDex ниже

 import android.content.Context; import android.support.multidex.MultiDexApplication; public class EnableMultiDex extends MultiDexApplication { private static EnableMultiDex enableMultiDex; public static Context context; public EnableMultiDex(){ enableMultiDex=this; } public static EnableMultiDex getEnableMultiDexApp() { return enableMultiDex; } @Override public void onCreate() { super.onCreate(); context = getApplicationContext(); } } 

и в AndroidManifest.xml напишите это имя classа внутри тега приложения

   

1) Создайте папку libs в корне проекта
2) Скопируйте и вставьте в него файл jar
3) Настройте путь сборки (Добавить банку)
4) Очистить и запустить

приветствия 🙂

В моем случае это был процесс миниатюризации proguard, который удалил некоторые важные classы из моего производства apk.

Решением было отредактировать файл proguard-rules.pro и добавить следующее:

 -keep class com.someimportant3rdpartypackage.** { *; } 

Поверьте мне или нет … Я опробовал почти каждый ответ, который я нашел здесь, в stackoverflow. Ничто не помогло бы, пока я не перезапустил машину. Моя Android-студия работает на Ubuntu 16.04 LTS.

Я встретил ту же проблему, и я заметил, что образец кода был помещен в каталог «java» вместо каталога «src». После перемещения кода в src проблема была решена.

Также убедитесь, что каталог приложения разделен на несколько папок. например /main/com/site/appname/ not /main/com.site.appname/

Надеюсь, это сработает ~

Недавно у меня была эта проблема, и я использую Android Studio 0.8.4

Проблема заключалась в том, что я решил переименовать файл макета XML-файла, который был вызван main.xml.

Щелкните правой кнопкой мыши по нему и выберите « Рефакторинг» -> «Переименовать» . Прежде чем переименовывать его, обязательно снимите флажок «Поиск в комментариях и строках» и нажмите « Refactor» .

Поскольку мой файл изначально был назван «основным» , он переименовал критические пути в app.iml и build.gradle, главным образом java.srcDirs в build.gradle, поскольку путь определяется как 'src/main/java' .

Я надеюсь, что это поможет любому, кто может столкнуться с этой проблемой.

У меня была эта проблема после обновления с версии 18. После обновления у меня было следующее: Project Build Target был 5.01, targetSDKVersion = 21

Но: Build Tools по-прежнему с Android 4.3.1 (18). Я заметил, что те приложения, которые извлекали свои действия из ActionBarActivity, столкнулись с вышеупомянутой ошибкой тех, которые еще не выполнялись.

Таким образом, простым решением было использовать новейшие Android SDK Build Tools 21.1.2 вместо тех, что используются в Android SDK Build Tools 18, который по-видимому как-то по умолчанию.

Таким образом, виновник кажется библиотекой Appcompat, которую я использую для обратной совместимости Actionbar.

И , кстати, с помощью библиотеки appcompat мне пришлось установить / исправить: $SDKInstallDIR$\Android\android-sdk\extras\android\support\v7\appcompat\project.properties target=android-21 (который был рекомендован в другой полезный пост и который по умолчанию имеет значение 19))

Я столкнулся с этой ошибкой один раз, когда я определил class, который расширил представление, но ссылался на этот пользовательский вид в файле макета с неправильным именем. Вместо я включил в файл макета XML.

У меня была такая же проблема в Windows. Я переименовал путь в проект в нечто, содержащее пробел.

Убедитесь, что путь к вашему проекту не содержит пробела.

Я столкнулся с той же проблемой и решил ее, выполнив следующие действия:

В меню сборки выберите

1- чистый проект.

2- Сборка АПК.

Решение, упомянутое здесь, -> Решение Multidex Issue работало для меня. Ниже приведено то, что нужно добавить в контекст приложения:

 @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } 

У меня была эта проблема, вызванная несколькими причинами, но я вижу это в вашем стеке » **Unable to instantiate activity ComponentInfo{...}: java.lang.ClassNotFoundException: Didn't find class "..." on path: DexPathList[[** “, я нашел .classpath в моем .classpath прежде чем он перестает работать.

          к          

Я ДОБАВЛЯЛ строку:

  

это окончательная версия:

           к           

Теперь это работает! знак равно

У меня был такой же точный вопрос. Как предположил @weiweia, переместите код из каталога java в src для меня. Я также удалил Android Dependencies из Project -> Properties -> Java Build Path -> Order and Export и включил только проекты библиотеки на экране Android.

У меня была эта проблема довольно долгое время, и, как и все остальные, вышеприведенные ответы не касались моего проекта.

В моем проекте я связал проект с моим проектом, и он бросал ClassDefNotFoundError каждый раз, когда исполнялся какой-то код для другого проекта.

Так это было моим решением. Я перешел к свойствам проекта моего проекта и Java Build Path. Нажав «Source» -tab и «источник ссылок» из src-папки другого проекта в свой собственный проект и назвал новую папку «core-src».

Надежды на это решение помогают кому-то

Я была такая же проблема. Я использую Xamarin.Android.

В моем случае проблема заключалась в том, что я изменил versionCode и versionName.

У меня не было проблем, когда я их задал так:

   

Проблема возникла, когда я изменил ее на это (versionCode 2 и versionName 0.0.1):

   

Я исправил проблему, перейдя на версию Code 2 и versionName 1.0.0.1, например:

   

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

Я нашел следующее на http://developer.android.com/guide/topics/manifest/manifest-element.html#vname

android: versionCode Внутренний номер версии. Этот номер используется только для определения того, является ли одна версия более поздней, чем другая, с более высокими номерами, указывающими более поздние версии. Это не номер версии, показанный пользователям; это число задается атрибутом versionName. Значение должно быть задано как целое число, например «100». Вы можете определить его, как хотите, до тех пор, пока каждая последующая версия имеет большее число. Например, это может быть номер сборки. Или вы можете перевести номер версии в формате «xy» в целое число, закодировав «x» и «y» отдельно в нижнем и верхнем 16 бит. Или вы можете просто увеличить число на каждый каждый раз, когда будет выпущена новая версия.

android: versionName Номер версии, показанный пользователям. Этот атрибут может быть задан как необработанная строка или как ссылка на ресурс строки. Строка не имеет другой цели, кроме как показывать ее пользователям. Атрибут versionCode содержит значительный номер версии, используемый внутри.

На всякий случай кто-то сталкивается с той же проблемой, что и я, и нет подсказки здесь.

Для меня причина заключалась в том, что рефакторинг студии Android не работает. Я переместил внутренний class вне classа, который был View, и поэтому также имел xml, где был установлен прямой путь. Эта студия не получит рефакторинга! И никакая ошибка не будет брошена.

Надеюсь, это поможет кому угодно. Приветствия.

В нашем случае мы хотели скомпилировать версию Vagrant и имели ту же ошибку. Мы исправили его clean project и rebuild project в меню «Построение»

Я только что перезапустил устройство и запустил приложение. Он работал без каких-либо проблем. Надеюсь, это поможет кому-то 🙂

Я нашел эту ошибку в Android Studio, когда я попытался сделать отладку на устройстве с API 23 , поэтому я проверил Android Studio, и я заметил, что я не установил эту версию API 23 . После установки я решил проблему.

У меня была эта проблема несколько раз, и часто я не делал что-то явно неправильное с зависимостями.

Всегда полезно проверить, присутствует ли этот class «не найден» в финальном apk. Если это так, как в моих случаях, проблема обычно такова:

Дело не в том, что данный class не найден, но он не может быть загружен, потому что его суперclass отсутствует.

Проверьте, доступен ли class, который вы расширяете, и затем попытайтесь исправить сценарий сборки или зависимости соответственно.

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

1- Удалите приложение.

2- Перестроить проект.

3. Очистите проект.

4- Недействить и перезапустить проект из файла -> сделать недействительным и перезапустить.

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

java.lang.RuntimeException: Не удалось создать экземпляр приложения com.android.tools.fd.runtime.BootstrapApplication: java.lang.ClassNotFoundException: не нашел class «com.android.tools.fd.runtime.BootstrapApplication» по пути: / data / app.apk (в android 4.3, 4.1)

Невозможно создать экземпляр приложения com.android.tools.fd.runtime.BootstrapApplication: java.lang.ClassNotFoundException: com.android.tools.fd.runtime.BootstrapApplication (в нижнем ледяном диске, обращенном, как эта ошибка)

Чтобы отключить Instant Run, он будет работать нормально, следуя приведенным ниже инструкциям, чтобы отключить мгновенный запуск в студии Android. 1. Перейдите в Настройки файла -> Сборка, выполнение, развертывание -> Мгновенный запуск —> снимите флажок «Включить мгновенный запуск»,

  • Как правильно переопределить toString () на Java?
  • Как отображать данные из Firestore в RecyclerView с Android?
  • Каков наилучший способ обмена данными между действиями?
  • Создайте библиотеку Jar для Android для распространения
  • Дооснащение Ожидаемое BEGIN_OBJECT, но BEGIN_ARRAY
  • Исходный ресурс Android не найден?
  • Как установить -source 1.7 в Android Studio и Gradle
  • Как получить TimeZone от мобильного телефона Android?
  • Преобразование java.util.Properties в HashMap
  • Как закодировать WAV в mp3 на устройстве Android
  • Странное поведение java с приведениями к примитивным типам
  • Давайте будем гением компьютера.