Java lang runtimeexception unable to instantiate activity android

Java.lang.RuntimeException: невозможно создать экземпляр активности ComponentInfo

Я пытался запустить образец кода При запуске приложения в эмуляторе android 1.5 я получил эти ошибки. У любого есть какой-то намек.

ОШИБКА из LogCat:

Edit Эта ошибка происходит с большинством новичков, дело в том, что вы должны добавить все свои действия в файл манифеста.

ОТВЕТЫ

Ответ 1

Это проблема вашего намерения.

Пожалуйста, добавьте Activity в свой AndroidManifest.xml .

Если вы хотите создать новую активность, вы должны зарегистрировать ее в своем AndroidManifest.xml .

Ответ 2

В моем случае я забыл добавить библиотеку карт google

Кроме того, убедитесь, что перед прохождением пути вы не пропустили предыдущую точку.

Ответ 3

Возможно, вы пытаетесь найти представление до onCreate() , которое является неправильным.

Ответ 4

Существует еще один способ получить исключение java.lang.RuntimeException: Невозможно создать экземпляр Activity ComponInfoInfo, и это действие, которое вы пытаетесь запустить, это abstract. Я сделал эту глупую ошибку один раз, и ее очень легко упустить.

Ответ 5

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

Ответ 6

Я тоже столкнулся с этой проблемой, но несколько иначе. Вот мой сценарий:

  • Использование ActionBarSherlock в качестве библиотеки
  • Использование android-support-v4-r7-googlemaps.jar в библиотеке ActionBarSherlock, чтобы я мог использовать «фрагмент карты» в своем основном проекте
  • Добавлен банку в путь сборки моего основного проекта
  • Включен в манифесты как проекта библиотеки, так и моего основного проекта (это может быть необязательно в библиотеке?)
  • манифест в основном проекте имел правильное определение активности и все соответствующие свойства
  • У меня не было абстрактного действия или каких-либо других ошибок, которые я видел при переполнении стека, относящихся к этой проблеме.

Однако я все еще сталкивался с ошибкой, описанной в исходном посте, и не мог заставить ее уйти. Однако проблема была несколько иной:

  • Это повлияло только на новую установку приложения на мое устройство. Каждый раз, когда приложение установлено в первый раз, я получаю ошибку, предшествующую нескольким «предупреждениям»: Не удается разрешить суперкласс FragmentActivity
  • Эти предупреждения восходят к библиотеке ActionBarSherlock.
  • Приложение будет принудительно закрываться и сбой.
  • Если я немедленно перестроил и переустановил приложение, он работал нормально.
  • Единственный раз, когда он разбился, был на совершенно новой установке. Если я удалю приложение, которое снова будет создано и развернуто из Eclipse, оно будет аварийно завершено. Создайте/разверните второй раз, он будет работать нормально.

Как я его исправил:

    В проекте библиотеки ActionBarSherlock я добавил файл android-support-v4-r7-googlemaps.jar в путь сборки

Этот шаг не устранил проблему

Как только кувшин был добавлен в путь сборки, я изменил порядок на пути Java Build Path > Order and Export — я установил JAR в первый элемент в списке (это было последним после /src и/gen).

Затем я перестроил и перенастроил приложение на свое устройство — он работал, как ожидалось, на новой установке. Чтобы быть уверенным, я удалил его снова 2-3 раза и переустановил — все равно работал как ожидалось.

Это может быть полная ошибка новобранец, но я потратил довольно много времени на то, чтобы разобраться в сообщениях и моем коде, чтобы понять это, поэтому, надеюсь, это может быть полезно кому-то другому. Может не исправить все ситуации, но в этом конкретном случае это стало решением моей проблемы.

Ответ 7

Это может быть не актуально для актуального вопроса, но в моем случае я попытался реализовать Kotlin и оставил apply plugin: ‘kotlin-android’ . Ошибка произошла из-за того, что не удалось распознать MainActivity в файле .kt.

Надеюсь, что это поможет кому-то.

Ответ 8

Эта ошибка также может быть окончательным признаком глупой ошибки (например, когда я — я имею в виду, кашель, как когда мой друг, который однажды показал мне свой код), где они пытаются выполнить код вне метода, например, пытаться для этого:

Ответ 9

Я избавился от этой проблемы, удалив папку Bin и Gen из проекта (которая автоматически вернется при сборке проекта), а затем очистку проекта от → Меню → Проект → очистить.

Ответ 10

В моем случае я не установил setContentView(R.layout.main);

Если вы создаете новый класс, не устанавливайте его в методе onCreate(Bundle savedInstanceState) .

Я сделал эту глупую ошибку несколько раз.

Читайте также:  Social icon pack для андроид

Ответ 11

Для меня моя строка пакета в AndroidManifest.xml была неправильной (скопирована из учебника). Убедитесь, что строка пакета в этом файле такая же, как и в вашем основном действии, например

Легкий способ сделать это — открыть файл AndroidManifest.xml на вкладке «Манифест» и ввести его в текстовое поле рядом с Пакетом или использовать кнопку «Обзор».

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

Я (тупо) получил ту же ошибку спустя несколько недель, когда переименовал имя своего пакета. Если вы это сделаете, убедитесь, что вы также обновили файл AndroidManifest.xml .

Ответ 12

Просто очистите рабочий проект или перезапустите eclipse. Затем запустите проект. он будет работать.

Ответ 13

Хорошо, я довольно опытен на iPhone, но новичок в android. Я получил эту проблему, когда у меня было:

эта строка кода выше:

Может быть, я лишен сна: P

Ответ 14

Недавно я столкнулся с новой переустановкой Eclipse. Оказывается, мой уровень соответствия компиляторам установлен на Java 1.7, а для проекта требуется 1.6.

В Eclipse: Project → Свойства → Компилятор Java → Соответствие JDK

Ответ 15

Получил эту проблему и исправил ее, установив свойство «запуска» для этой операции.

Ответ 16

Другой причиной этой проблемы может быть недостающая библиотека.

Перейдите в раздел Свойства → Android и убедитесь, что вы правильно добавили библиотеки.

Ответ 17

У меня была та же проблема, но у меня была заявленная активность в файле манифеста с правильным именем.

Моя проблема заключалась в том, что мне не пришлось импортировать библиотеки сторонних разработчиков в папку «libs», и мне нужно было ссылаться на них в моем proyect (правая кнопка мыши, свойства, путь сборки Java, библиотеки, добавление Jar. ).

Ответ 18

Это может произойти, если ваш класс активности находится в пакете по умолчанию. Я исправил это, переместив класс активности в новый пакет. и изменение manifest.xml

Ответ 19

Это происходит со мной довольно часто при использовании NDK. Я обнаружил, что мне нужно делать «Очистить» в Eclipse после каждого раза, когда я делаю ndk-build . Надеюсь, это поможет любому:)

Ответ 20

Эта ошибка также возникает, когда вы используете ActionBarActivity , но назначаете стиль AppCompat .

Чтобы исправить это, просто установите родительский стиль вашего приложения в Theme.AppCompat , например:

Ответ 21

Щелкните правой кнопкой мыши по проекту > properties > android > и попробуйте с другой версией андроида раньше, чем я занимался с android 4.4, затем я изменил на android 4.3, и он сработает!

Ответ 22

У меня была такая же проблема (не удалось создать экземпляр Activity):

Итак, правильный способ: сначала открыть камеру, а затем получить доступ к параметрам.

ВТОРАЯ причина: объявите свою активность в файле манифеста

ТРЕТЬЯ причина: Объявите разрешение камеры в файле манифеста.

Надеюсь, что это поможет

Ответ 23

В моем случае я пытался внедрить Facebook SDK, и у меня был неправильный Application ID; таким образом, ошибка всплывала. В вашем файле манифеста вы должны иметь соответствующие метаданные:

Ответ 24

Если у вас установлены Android Studio 2.3.3 и Android Studio 3.0.0, то переключение между двумя программами для разработки приведет к этой ошибке. Это связано с тем, что существуют ситуации, когда классы, поддерживаемые в одной программе, не поддерживаются другой и наоборот. Важно поддерживать согласованность, в которой версия Android Studio используется для разработки проекта.

Ответ 25

Как было предложено djjeck в комментарии в этом, я пропустил, чтобы добавить модификатор public для моего класса.

Это должно быть

Это может помочь некоторым вроде меня.

Ответ 26

Я испробовал все вышеупомянутое решение, но у меня ничего не получалось. после того, как я просто добавил extend активности вместо AppCompatActivity и работает нормально.

я не знаю, в чем дело.

Ответ 27

В моем случае я пытался инициализировать компоненты (UI) еще до onCreate для Activity.

Убедитесь, что компоненты пользовательского интерфейса инициализируются/связаны в onCreate метод после setContentView

NB: Это моя первая ошибка при изучении программирования на Android.

Ответ 28

Это случилось со мной, когда я попытался запустить Activity на 2.2, который использовал импорт из Honeycomb, недоступный в старых версиях Android и не включенный в пакет поддержки v4.

Ответ 29

Ваша новая активность добавляет AndroidManifest.xml как «.NewActivity»

Ответ 30

Вы должны убедиться, что все действия в вашем приложении правильно определены в файле AndroidManifest.xml.

Кроме того, если они начинаются с пути, убедитесь, что этот путь существует.

например. это не сработает:

Если ваше имя приложения com.example.networkusage (обратите внимание на отсутствующий .android.)

Или еще лучше, не включайте пути при определении активности внутри манифеста. Введите только свое имя (с точкой перед ним).

Источник

Ява.ленг.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-файл на вкладке «манифест» и введите его в текстовое поле рядом с пакетом или используйте кнопку Обзор.

Читайте также:  Android отладка по adb

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

Я (тупо) получил ту же ошибку несколько недель спустя, когда я переименовал свое имя пакета. Если вы сделаете это, убедитесь, что вы обновить тоже.

хорошо, я довольно опытный на 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 то это исключение.

Источник

Оцените статью