Android java.lang.RuntimeException: не удалось создать экземпляр активности ComponentInfo
Хорошо, ребята, это вообще не имеет смысла для меня, и я не понимаю, почему я получаю эту ошибку в своем приложении. Я зарегистрировал класс активности в android manifestrest xml ..
Вот и androidmanifest.xml. Да, класс .Battery также расширяет активность.
Вы пытались очистить рабочее пространство. Перейти к проекту-> Очистить и выбрать свой проект. По какой-то причине eclipse не создает мой манифест автоматически.
Вы разместили стороннюю библиотеку в папке библиотеки и ссылаетесь на нее. Перейдите в раздел «Свойства / путь / библиотеки сборки Java / добавьте внешние JAR-файлы».
Проверьте файлы Jar в пути / порядке сборки и экспорта объектов / Java
Вы пытались инициализировать что-либо в своем классе до вызова OnCreate?
Если вы инициализируете статические переменные (например), это может дать вам эту (беспричинно туповатую) ошибку.
На самом деле я нашел свой ответ на эту же проблему здесь: java.lang.ClassNotFoundException в рабочем приложении
Вы не указываете имя для тега Application, только Activity. Поэтому, если ваша проблема была такой же, как у меня, вы должны убрать следующее, и все будет работать:
У меня такая же проблема. Это была довольно запутанная ошибка, пока я не нашел выход. Перейдите в «Свойства»> «Путь сборки Java»> «Заказ и экспорт» и переместите поддержку android-v4.jar вверх. Это сработало для меня. Попробуйте.
Либо ваш пакет манифеста не является com.mobile.batteryhelper, либо нет класса com.mobile.batteryhelper.Battery в вашем коде. Возможно, у вас нет открытого конструктора для класса, или класс не объявлен общедоступным (хотя я думаю, что в этом случае вы получите немного другое сообщение об ошибке).
Убедитесь, что вы не используете ProGuard для разметки кода. Убедитесь, что класс общедоступен, в правильном пакете (как и в пакете манифеста) и не имеет конструктора. Также было бы полезно увидеть весь обход стека ошибок, если в нем есть что-то полезное.
Щелкните правой кнопкой мыши на вашем классе батареи> BuildPath> Исключить, затем щелкните правой кнопкой мыши на вашем классе батареи> BuildPath> Включите свой класс снова
Я получил эту проблему и исправил ее, переместив все файлы .jar (файлы внешней библиотеки), которые помещены в папку «lib» в папку «libs». Так или иначе, eclipse знает только файлы .jar, помещенные в папку libs
У меня была та же проблема, и я решил ее, обновив плагин ADT.
См. Журнал аварий:
Здесь mnt означает внешнюю SD-карту.
Обычно, когда android:installLocation=»auto» установлен в AndroidManifest.xml, если на устройстве не будет достаточно памяти телефона, приложение будет сохранено на SD-карте. Как только вы удалите SD-карту с устройства, приложение не сможет найти местоположение APK, после чего приложение выйдет из строя.
Шаги по сбою:
Проблема может быть воспроизведена в версии 2.3.4 HTC Sensation.
- Переместите приложение на SD-карту, выбрав Настройки -> Управление приложениями -> Нажмите приложение -> Переместить на SD-карту
- Удалите SD-карту с устройства и откройте приложение.
Если вы попытаетесь использовать устройство Samsung, оно не будет разбиваться, но приложение не отобразит приложение, если вы удалите SD-карту. Это поведение относится только к нескольким устройствам.
Вы можете просто удалить приложение со своего мобильного телефона или своего эмулятора
То, что сработало для меня, – это удаление самых внутренних файлов внутри папки «build», которые являются файлами внутри сгенерированных, промежуточных продуктов, выходов и tmp.
Источник
Ява.ленг.RuntimeException: не удается создать экземпляр activity ComponentInfo
Я пытался запустить пример кода При запуске приложения в эмуляторе Android 1.5 , я получил эти ошибки. У любого есть какой-то намек.
ошибка от LogCat:
Edit Эта ошибка случается с большинством новичков, дело в том, что вы должны добавить все свои действия в файл манифеста.
30 ответов:
пожалуйста, добавьте свой Activity в своем AndroidManifest.xml .
когда вы хотите сделать новую операцию, вы должны зарегистрировать его в AndroidManifest.xml .
в моем случае я забыл добавить библиотеку карт google
кроме того, убедитесь, что вы не пропустили предыдущую точку перед путем активности
возможно, вы пытаетесь найти смотреть перед onCreate() , что является неверным.
есть еще один способ получить java.ленг.RuntimeException: не удается создать экземпляр activity ComponentInfo исключение и это действие, которое вы пытаетесь запустить аннотация. Я сделал эту глупую ошибку один раз, и ее очень легко не заметить.
Это также происходит из-за этой проблемы. Я снял флажки с банок, которые нужно было экспортировать в apk, и то же самое произошло. Пожалуйста, отметьте банки, которые ваше приложение должно запустить.
Я тоже столкнулся с этой проблемой, но немного по-другому. Вот мой сценарий:
- использование ActionBarSherlock в качестве библиотеки
- использование android-поддержка-v4-r7-googlemaps.jar в библиотеке ActionBarSherlock, чтобы я мог использовать «фрагмент карты» в моем основном проекте
- добавил Jar в путь сборки моего основного проекта
- включил в манифестах как проекта библиотеки, так и моего первичный проект (это может быть не нужно в библиотеке?)
- манифест в основном проекте имел правильное определение активности и все соответствующие свойства
- у меня не было абстрактной активности или каких-либо других gotchas, которые я видел в Stack Overflow, относящихся к этой проблеме.
тем не менее, я все еще столкнулся с ошибкой, описанной в исходном сообщении, и не смог заставить ее уйти. Проблема, однако, была немного другой в одно замечание:
- это повлияло только на новую установку приложения на мое устройство. Каждый раз, когда приложение устанавливается в первый раз, я получаю ошибку, предшествующую нескольким «предупреждениям»: не удается разрешить суперкласс FragmentActivity
- эти предупреждения прослеживаются до библиотеки ActionBarSherlock
- приложение будет принудительно закрыть и аварии.
- если я сразу же перестроил и перераспределил приложение, оно отлично работало.
- единственный раз он разбился на совершенно новой установки. Если я удалил приложение, построил и развернул его снова из Eclipse, он рухнет. Сборка / развертывание во второй раз, это будет работать нормально.
Как я это исправил:
- в проекте библиотеки ActionBarSherlock я добавил android-support-v4-r7-googlemaps.Jar в путь сборки
этот шаг сам по себе не исправил проблему
Как только jar был добавлен в путь сборки, у меня был измените порядок на вкладке путь сборки Java > порядок и экспорт-я установил JAR на первый элемент в списке (он был последним после элементов /src и /gen).
затем я перестроил и передислоцировал приложение на свое устройство-он работал, как ожидалось, на новой установке. Просто чтобы быть уверенным, я удалил его снова 2-3 раза и переустановил — все еще работал, как ожидалось.
это может быть полная ошибка новичка, но я провел довольно много времени, копаясь сообщения и мой код, чтобы понять это, поэтому, надеюсь, это может быть полезно кому-то еще. Может быть, не все ситуации исправлены, но в данном конкретном случае это стало решением моей проблемы.
эта ошибка также может быть окончательным признаком глупой ошибки (например, когда я — я имею в виду, кашель, например, когда мой друг, который показал мне свой код однажды), где они пытаются выполнить код вне метода, такого как попытка сделать это:
это может не иметь отношения к фактическому вопросу, но в моем случае я попытался реализовать Kotlin и оставил apply plugin: ‘kotlin-android’ . Ошибка произошла потому, что он не мог распознать MainActivity в качестве .файл КТ.
надеюсь, что это поможет кому-то.
Я избавился от этой проблемы путем удаления Bin и Gen папка из проекта (которая автоматически возвращается, когда проект будет построен), а затем очистка проекта из ->меню -> проект -> очистить.
в моем случае я не поставил setContentView(R.layout.main);
Если вы создаете новый класс не foget, чтобы установить это в on onCreate(Bundle savedInstanceState) метод.
Я сделал эту глупую ошибку несколько раз.
просто очистите свой рабочий проект или перезапустите eclipse. Затем запустите свой проект. это сработает.
для меня, моя строка пакет в AndroidManifest.xml было неверно (скопировано из учебника). Убедитесь, что строка пакета в этом файле совпадает с тем, где находится ваша основная деятельность, например
простой способ сделать это-открыть AndroidManifest.xml-файл на вкладке «манифест» и введите его в текстовое поле рядом с пакетом или используйте кнопку Обзор.
кроме того, строка пакета для моей деятельности была неправильной, например
Я (тупо) получил ту же ошибку несколько недель спустя, когда я переименовал свое имя пакета. Если вы сделаете это, убедитесь, что вы обновить тоже.
хорошо, я довольно опытный на iPhone, но новый для android. Я получил эту проблему, когда у меня было:
эта строка кода выше:
может быть, я лишен сна: P
Я недавно столкнулся с этим со свежей переустановкой Eclipse. Оказывается, мой уровень соответствия компилятора был установлен на Java 1.7, а проект требовал 1.6.
В Eclipse: Проект — > свойства — > компилятор Java — > соответствие JDK
получил эту проблему и исправил ее, установив свойство «режим запуска» действия.
еще одной причиной этой проблемы может быть отсутствие библиотеки.
перейдите в свойства — > Android и проверьте, что вы правильно добавляете библиотеки
У меня была та же проблема, но у меня была объявлена моя активность в файле манифеста с правильным именем.
моя проблема заключалась в том, что мне не нужно было импортировать сторонние библиотеки в папку «libs», и мне нужно было ссылаться на них в моем проекте (щелкните правой кнопкой мыши, Свойства, путь сборки Java, библиотеки, добавить Jar. ).
Это может произойти, если ваш класс активности находится внутри пакета по умолчанию. Я исправил это, переместив класс activity в новый пакет. и изменение манифеста.xml
это происходит со мной довольно часто при использовании NDK. Я обнаружил, что мне необходимо сделать «чистый» в Eclipse после каждого раза, когда я делаю ndk-build . Надеюсь, это поможет кому-нибудь:)
эта ошибка также возникает при использовании ActionBarActivity но присвоено не AppCompat стиль.
чтобы исправить это, просто установите родительский стиль приложения в Theme.AppCompat один такой.:
щелкните правой кнопкой мыши на проекте > свойства > android > и попробуйте с другой версией android ранее я делал с android 4.4, затем я перешел на android 4.3, и это сработало !
у меня была та же проблема (невозможно создать экземпляр Activity) :
таким образом, правильный способ сделать это, сначала откройте камеру, а затем доступ к параметрам.
вторая причина: объявите свою деятельность в файле манифеста
третья причина : Объявите разрешение камеры в файле манифеста.
надеюсь, что это помогает
в моем случае, я пытался вставить Facebook SDK и я был неправ идентификатор приложения; таким образом, ошибка выскакивает. В файле манифеста вы должны иметь соответствующие метаданные:
Если у вас установлена Android Studio 2.3.3 и Android Studio 3.0.0, то переключение между двумя программами для разработки вызовет эту ошибку. Это связано с тем, что существуют ситуации, когда классы, поддерживаемые в одной программе, не поддерживаются другой и наоборот. Важно поддерживать согласованность в том, какая версия Android Studio используется для разработки проекта.
Это случилось со мной, когда я пытался запустить Activity на 2.2, который использовал импорт из Honeycomb, недоступный в более старых версиях Android и не включенный в пакет поддержки v4.
Ваша новая деятельность добавить AndroidManifest.xml как «.NewActivity»
вы должны убедиться, что все действия в вашем приложении правильно определены в AndroidManifest.XML-файл.
кроме того, если они начинаются с пути убедитесь, что этот путь существует.
например, это не будет работать:
Если имя вашего приложения com.example.networkusage (обратите внимание на отсутствие .андроид.)
или еще лучше, не включайте пути при определении действия внутри манифеста. Только поставьте свое имя (с точкой перед он.)
вы можете иметь некоторые ошибки в областях, таких как
поэтому мой совет-выполнить всю инициализацию в методе onCreate не непосредственно в Ваших полях
Это также может произойти, если у вас есть два проекта с одинаковым именем пакета, и вы запустили один из них перед другим, поэтому я думаю, что это смущает Eclipse. Для меня это произошло, когда я скопировал учебник Android в eclipse в том же рабочем пространстве и оставил имена пакетов одинаковыми, но добавил к нему ActionBarSherlock (ABS), например
Так что в моем AndroidManifest.xml-файл, как проект учебника, который был в моей рабочей области, так и скопированный проект учебника, оба имели в качестве пакета строка:
просто измените имя пакета путем рефакторинга (в eclipse щелкните правой кнопкой мыши на пакете на вкладке проводник пакетов > выберите рефрактор > выберите Переименовать. ) а затем изменить его в вашем AndroidManifest.xml-файл и в любом другом месте вам нужно (например, как все ваши .java-файлы)
также, если вы извлекаете что-то из intent другой деятельности с помощью getIntent в текущей деятельности и установка этих полученных данных перед/выше onCreate то это исключение.
например. если я получаю строку, как это
и поставить эту строку кода перед/выше onCreate то это исключение.
Источник