Активность по умолчанию не найдена в Android Studio



Я только что обновился до Android Studio 0.2.8, и я получаю сообщение об ошибке, которое говорит "активность по умолчанию не найдена", когда я пытаюсь изменить конфигурации запуска.



при запуске Android Studio я получаю эту ошибку "доступ разрешен только из потока отправки событий"



активность, которую я использую, является фрагментарной активностью.



до сих пор я пытался перестроить и аннулировать кэш / перезапуск. И то и другое было бесполезно.



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

2073   18  

18 ответов:

В Android Studio, щелкните правой кнопкой мыши на проекте и выберите Открыть Настройки Модуля. Тогда идите в источник вкладка в вашем модуле, найти src папка, щелкните правой кнопкой мыши на нем и отметьте его как источник (синий цвет).

EDIT: в более поздних версиях Android Studio нет вкладки "источники", но вы можете редактировать построить.gradle вместо файла:https://stackoverflow.com/a/22028681/1101730 (спасибо за комментарий Джош)

вы добавили ACTION_MAIN фильтр намерений для вашей основной деятельности? Если вы не добавите это, то android не будет знать, какое действие запускать в качестве основного действия.

ex:

<intent-filter>
      <action android:name="android.intent.action.MAIN"/>
      <action android:name="com.package.name.MyActivity"/>
      <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

у меня была такая же проблема при импорте проекта в Android Studio, вероятно, вызванная тем, что проект был разработан на более ранней версии Android Studio, чем в настоящее время установлен на моем компьютере.

что решило это было просто выполнение:

File -> Invalidate Caches / Restart...

и затем на Invalidate and Restart.

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

<application android:label="@string/app_name">

    <activity android:name=".HelloActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>

</application>

Теперь перейдите к вашему AndroidManifest.XML-файл. Затем скопируйте фильтр намерений из этого кода. Посмотрите на свой файл манифеста действительно хорошо и вставьте фильтр намерений в точное место, где он находится в коде выше. (после этого .yourActivityName> часть манифеста.) Надеюсь, это помогло.

когда я нажал "открыть Настройки модуля",не было никакой вкладки "источник", Я думаю, потому что это было удалено для более новых версий Android Studio (я на 0.8.14). Поэтому я должен был сделать это вместо:

добавьте эти строки в внутри android { ... } блок:

android { ... sourceSets { main.java.srcDirs += 'src/main/<YOUR DIRECTORY>' } }

после редактирования файла, нажмите кнопку инструменты > Android > синхронизация проекта с файлами Gradle.

кредит ответ и комментарий.

ниже сделал трюк для меня. От Выполнить -> Редактировать Конфигурацию.

enter image description here

Я только что испытал ту же ошибку в Android Studio 1.5.1. и нашел источник проблемы. Я не уверен, была ли причиной человеческая ошибка или какой-то странный сбой в поведении IDE, но ни один из существующих вопросов StackOverflow об этом предмете, казалось, ничего не показывал об этом, поэтому я решил, что все равно отправлю его в качестве ответа.

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

        <activity
            android:name="com.rhaebus.ui.activities.ActivitySplash"
            android:launchMode="singleInstance"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <id android:name="android.intent.id.LAUNCHER" />
            </intent-filter>
        </activity>

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

        <activity android:name="com.rhaebus.ui.activities.ActivitySplash"
            android:launchMode="singleInstance"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" /> <!-- Change Here -->
            </intent-filter>
        </activity>

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

надеюсь, что это помогает.

изменить: Я настоятельно рекомендую людям не идти с ответами, которые предлагают вручную выбрать активность запуска внутри параметров конфигурации вашего модуля, так как это вызвало приложение больше не будет отображаться в списке установленных приложений как на Samsung Galaxy S5 Neo, так и на Samsung Galaxy S6 (по крайней мере для меня).

пожалуйста, убедитесь в манифесте, что имя пакета совпадает с вашей основной деятельностью

это случилось со мной, потому что я оприходована пути в манифесте. изменено:

<intent-filter>
    <action android:name="ANDROID.INTENT.ACTION.MAIN"/>
    <category android:name="ANDROID.INTENT.CATEGORY.LAUNCHER"/>
</intent-filter>

до

<intent-filter>
  <action android:name="android.intent.action.MAIN"/>
  <category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>

и

Я столкнулся с той же проблемой сегодня и проходил ответы здесь.

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

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

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

Если вы все еще получаете сообщение об ошибке "активность по умолчанию не найдена" при попытке изменить конфигурации запуска даже после выполнения:

аннулировать кэш и перезапустить.

затем попробуйте удалить папку Настройки / Настройки:

/< USER_HOME_DIR >/.AndroidStudioPreview3.2
  1. Правой Кнопкой Мыши на проекте и выберите Настройки модуля.
  2. перейдите на вкладку источники в модуле.
  3. найдите папку src.
  4. щелкните правой кнопкой мыши на нем и отметьте его как источники.

это решило ошибку в моем случае.

Если вы изменили имя каталогов (структуру классов), например com.dir.образец для COM.dir.sample1, после этого не забудьте изменить пакет com.dir.образец для COM.dir.пример sample 1.

Изменить "Рабочую Область.xml " (нажмите Ctrl + Shft + R для поиска)

  1. изменить имя действия с именем пакета

  2. обязательно измените "name=" USE_COMMAND_LINE "на value= "false"

  3. загрузить проект

готово!

  1. в Android Studio переключитесь на проектную перспективу (а не на перспективу Android).

  2. убедитесь, что ваш проект соответствует структуре плагина gradle по умолчанию (т. е. project_dir / app/src/main / java...)

  3. удалить построить папки и подпапки, которые вы видите.

  4. на панели инструментов нажмите кнопку Build - > Clean Project, потом Построение -> Перестроить Проект.

  5. попробуйте запустить проект.

для таких, как я, которые изо всех сил пытались найти вкладку "источники":

enter image description here

здесь вы должны отметить свою папку " src " синим цветом (первый клик в отметить как: источник, затем в src), и вы хорошо идти.

есть два шага, которые вы можете предпринять:

  1. перейдите в раздел конфигурации и введите имя действия, которое будет запущено
  2. если он все еще не работает Отключить Мгновенный Запуск
  1. В Android Studio
  2. перейти к редактированию конфигурации .
  3. выбрать приложение.
  4. выберите путь активности обеда.
  5. Применить, ОК.

    спасибо!!

Comments

    Ничего не найдено.