Java lang runtime exception android

ОБНОВЛЕНО: Android: java.lang.RuntimeException: не удалось запустить Activity ComponentInfo

UPDATE **, поэтому я сделал почти все, что было сказано ниже, и до сих пор получил эту ошибку (см. Новый файл logcat). Его разные, хотя я не знаю, как это исправить. ** Хорошо, поэтому я начинаю, поэтому я действительно не знаю, что происходит. Когда я пытаюсь запустить это приложение в эмуляторе, все это «к сожалению, это приложение остановилось». Я ищу все вопросы, подобные этому, но не смог найти ответ. Кстати, это не готовое приложение или даже даже началось, но я хочу запустить его, прежде чем продолжить. Heres the log cat file thing.

Теперь heres activty_main.xml

Затем вот файл mainActivity.java

То второе действие DisplayMessageActivity.java

И, наконец, файл mainfest

Так оно и есть. Кто-то, пожалуйста, помогите спасибо!

Я заметил одно: вы не указали правильные значения id в некоторых своих xml.

И как мудрый для ваших других деклараций id.

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

Это может быть что-то другое. Но по существу у вас плохо сформировался xml.

Ошибка 2

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

Сверху вниз вы попадете на строку MainActivity.oncreateOptionsMenu () Выше того, что вы увидите, что она пытается раздуть (ваше меню опций xml), то есть loadXmlResourceParser ()

Это не значит, что вы указываете номер строки xml, но он говорит вам, что проблема с идентификатором ресурса недействительна.

Вам нужно будет опубликовать свои варианты xml в своем вопросе, если вы хотите получить ответ. Но я посмотрю, сможешь ли ты сначала разобраться с этим. Попробуйте прокомментировать элементы и верните их, чтобы посмотреть, что сломано. Я говорю это, потому что на вопрос должен ответить только один вопрос о переполнении стека.

Есть проблемы с вашим XML – вы можете сказать по строке:

Одна вещь, которую я заметил, это то, что, когда вы объявляете атрибут android: id, он должен иметь + в нем, например:

Это связано с тем, что вы создаете идентификатор, а не только для ранее существовавшего, определенного в другом месте (например, вы можете иметь строку, например, «@ string / hello» может находиться в папке значений).

В объявлении для одного из ваших TextViews вас есть:

textSize должен быть числом или размером, например:

Источник

android java lang runtimeexception не удается подключиться к службе камеры

в настоящее время я работаю над включением/выключением фонарика. Я получаю эту ошибку java.lang.RuntimeException: Fail to connect to camera service Я не знаю, почему эта ошибка возникает. Я ссылался на многие решения, но моя проблема все еще не была решена. Когда фонарик включен, ошибка не возникает, но когда фонарик выключен, то возникает ошибка.

Код Основной Код.

мое явное разрешение:

12 ответов

объявить его сверху.

У меня была та же проблема, что ни один из ответов здесь не решен, поэтому после ее решения я добавляю свой способ ее решения. Это относится к новым версиям android, которые поддерживают настройку разрешений для каждого приложения (начиная с Marshmallow, 6.0). Разрешение для камеры может быть отключено и должно быть включено в настройках приложения. Настройки — > Приложения — > [Ваше Приложение] — > Разрешения

Я также видел эту ошибку:

java.ленг.RuntimeException: не удается подключиться к службе камеры

экспериментируя с фонариком. Оказывается, я был немного небрежен с моими разрешениями и скопировал их в тело блока приложения в манифесте.XML-файл. Поэтому вам действительно нужно подчиняться синтаксису, как описано в:

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

убедитесь, что ваши разрешения и список функций содержатся только в разделе манифеста, а не похоронены в разделе приложения!

эта проблема может возникнуть в Android 6.0 если вы не включили разрешение камеры для вашего приложения. Начиная с Android 6.0 вы можете обрабатывать разрешение приложения Погода вы дадите или не конкретное разрешение для приложения.

Читайте также:  Драйвера для android note

Итак, вам нужно включить разрешение settings->apps->your_app->enable camera permission если он еще не включен.

Если ваша версия ОС 6.0 или более поздней версии попробуйте это, надеюсь, это поможет.

если вы попытаетесь открыть камеру с помощью cameraID, который не существует, вы получите ту же ошибку (java.ленг.RuntimeException: не удается подключиться к службе камеры)

посмотреть код в этом блоке

вызов release() чтобы освободить камеры для использования другими приложениями. Приложения должны немедленно освободить камеру в onPause() (и повторно открыть () его в onResume().

в приведенном выше коде сразу после выпуска вы помещаете null в камера

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

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

попробуйте использовать эту строку, когда вы выходите из приложения:

Я только что получил код приложения фонарик откуда-то. Он использовал System.exit(0) закрыть приложение. Я убрал его, зная, что это не лучшая практика. Затем я начал получать эти ошибки. Я попробовал решение принятого ответа, но затем я начал получать некоторые другие ошибки. Поэтому, вместо того, чтобы решать их, я просто положил это System.exit(0) линия спины. И он начал работать нормально. Я знаю, что это не очень хороший способ, но для небольшого приложения для фонарика вы можете попробовать это быстрое решение.

Если весь ваш код в порядке, вы должны проверить, есть ли какое-либо другое приложение с помощью камеры. Затем вы должны закрыть другое приложение, которое в настоящее время использует вашу камеру.

вам нужно stopPreview() и release() Как только вы вернулись с камеры, так что другое приложение может получить к нему доступ. Сделайте класс» Camera » статическим и назовите его null на onPause() . Это решает мою проблему.

в моем Android peoject имеет ту же проблему. Это моя ошибка Logcat

03-29 19:26:04.194 224-608/? V / EmulatedCamera_BaseCamera: getCameraInfo 03-29 19:26: 04.196 224-224/? I / CameraService: CameraService:: подключение вызова (PID -1 «com.proitzen.staffapp», ID камеры 1) для версии по умолчанию HAL и версии API камеры 1 03-29 19: 26:04.196 224-224/? W / ServiceManager: ошибка разрешения: андроид.разрешение.Камера от uid=10067 pid=1776 03-29 19: 26: 04.196 224-224/? E / CameraService: отказ в разрешении: невозможно использовать камеру pid=1776, uid=10067 03-29 19:26:04.196 1776-1776/com.proitzen.staffapp W / CameraBase: произошла ошибка при подключении к камере 1: сервис недоступно 03-29 19: 26: 04.200 1776-1776 / com.proitzen.staffapp D / AndroidRuntime: завершение работы VM

никакие вышеуказанные решения не работали для меня. Мое приложение для android работало на физических устройствах android и давало вышеуказанную ошибку только в Как Genymotion.

решение: запустите эмулятор Genumotion Настройки — > приложения — — — > выберите приложение — > разрешения — > включить камеру и микрофон и хранение.

Источник

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

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

ОШИБКА из LogCat:

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

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

Добавьте свою Activity в свой AndroidManifest.xml .

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

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

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

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

Есть еще один способ получить java.lang.RuntimeException: Невозможно создать экземпляр активности. Исключение ComponentInfo и это действие, которое вы пытаетесь запустить, является абстрактным . Однажды я сделал эту глупую ошибку, и ее очень легко упустить.

Читайте также:  Button long click android

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

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

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

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

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

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

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

Только этот шаг не устранил проблему

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Загрузчик слетел с андроида

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

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

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

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

Перейдите в «Свойства -> Android» и убедитесь, что вы правильно добавляете библиотеки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поэтому мой совет состоит в том, чтобы выполнить всю инициализацию в методе onCreate не непосредственно в ваших полях

Это также может произойти, если у вас есть два проекта с одним и тем же именем пакета, и вы запустили один из них перед другим, поэтому я предполагаю, что это смущает Eclipse. Для меня это произошло, когда я скопировал учебник Android в eclipse в том же рабочем пространстве и оставил имена пакетов одинаковыми, но добавил ActionBarSherlock (ABS) к нему, например

Таким образом, в моем файле AndroidManifest.xml оба проекта учебника, которые были в моей рабочей области и скопированном учебном проекте, имели как строку пакета:

Просто измените имя пакета с помощью рефакторинга (в eclipse, щелкните правой кнопкой мыши на пакете на вкладке «Проводник пакета»> выберите Refractor> select Rename …), а затем измените его в файле AndroidManifest.xml и в любом другом месте, где вам нужно (например, как и все ваши .java файлы)

Также, если вы извлекаете что-то из intent другого действия с использованием getIntent в текущем getIntent и устанавливаете эти извлеченные данные до / выше onCreate это исключение вызывается.

Напр. Если я получаю строку, подобную этой

И поместите эту строку кода выше / выше onCreate тогда это исключение будет onCreate .

В моем случае у меня была две версии ссылок «android-support-v4.jar» в проекте. После решения этой проблемы (снята дополнительная / некорректная ссылка) решена проблема.

Источник

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