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

Я обновил IntelliJ Idea с 12.0.4 до 12.10.

Теперь все модули в моем проекте Android выдают ошибку:

Ошибка: Действия по умолчанию не найдены

Я вернулся к 12.0.4, и все снова работает.

Есть идеи? Я думаю, что это может быть проблема с отсутствующим плагином. Поскольку плагин не установлен, он не может найти активность по умолчанию. Другой вещью мог быть локальный конфиг, но я сомневаюсь в этом. Я удалил папку конфигурации, чтобы проверить, и это ничего не изменило.

Ответ 1

Если вы видите, что эта ошибка возникает после обновления версий IntelliJ IDEA или Android Studio или после создания нового APK, вам может понадобиться обновить кеш IDE.

File -> Invalidate Caches / Restart...

Ответ 2

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

Однако эта ошибка: "Функция по умолчанию не найдена", похоже, говорит вам, что у вас нет активности, объявленной в AndroidManifest.xml, которая помечена как основное действие, которое будет запущено при запуске приложения.

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

<activity
        android:name="com.your.package.name.YourActivity"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

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

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

Ответ 3

У приложения есть активность запуска по умолчанию?

возможно, это может быть вашей ошибкой

введите описание изображения здесь

Шаг 1: выберите "Редактировать конфигурации"

введите описание изображения здесь

Шаг 2: обратите внимание на это предупреждение: по умолчанию активность не найдена введите описание изображения здесь

Шаг 3: выберите действие по умолчанию введите описание изображения здесь

введите здесь описание изображения

Шаг 3: сохраните изменения и завершите

введите описание изображения здесь

Удача

введите описание изображения здесь

Ответ 4

Правильный способ сделать это - добавить в файл манифеста следующее:

    <activity
        android:name="FULL_NAME_OF_YOUR_ACTIVITY"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

Это должно быть вставлено между:

<application> </application>

Нет необходимости в недействительности кешей.

Ответ 5

Попробуйте щелкнуть правой кнопкой мыши по проекту и выбрать Открыть настройки модуля. Затем перейдите на вкладку Источники в своем модуле, найдите папку src, щелкните ее правой кнопкой мыши и пометьте ее как Источники (синий цвет).

РЕДАКТИРОВАТЬ: В последующих версиях Android Studio нет вкладки источников, но вместо этого вы можете редактировать файл build.gradle: fooobar.com/questions/28783/...

Ответ 6

Если вы работаете над виджетами, это решение должно работать на вас:

  • Перейдите к Edit Configuration
  • Установите Launch Option в nothing

Ответ 7

В Android Studio в разделе "Конфигурация запуска/отладки" → Приложение для Android → Общие → Активность → выберите параметр "Не запускать активность".

Ответ 8

Ничто не помогло мне. Через некоторое время я обнаружил, что IDEA изменила имена действий на верхний регистр. Как:

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

После возвращения в нормальное состояние, IDEA распознает действие по умолчанию:

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

Ответ 9

Сначала убедитесь, что вы включили активность по умолчанию в манифест.

Пример:

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

Если вы все перепробовали и ничего не работает

  • Удалите кеш из своего% Home% \. Gradle\caches и снова синхронизируйте проект.

Или проверьте этот ответ

fooobar.com/questions/16736856/...

Ответ 10

Я получил эту ошибку.

И обнаружил, что в файле манифеста в активности запуска я не поместил action и category в фильтр намерений.

Неправильный:

<activity
android:name=".VideoAdStarter"
android:label="@string/app_name">

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

</activity>

Правильный:

<activity
android:name=".VideoAdStarter"
android:label="@string/app_name">

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

</activity>

Ответ 11

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

Click on app and edit configuration

Choose the specified activity and the directory

В конце синхронизирую с файлами Gradle.

Ответ 12

В моем случае File → Invalidate Caches/Restart... не помогло

Все было в порядке с моим проектом, и, конечно, у меня был следующий фильтр намерений для моей деятельности

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

Что мне действительно помогло, так это удаление папок кеша Android/Gradle (они могут расти до 10-30 ГБ)

Перейдите в C:\Users\YOUR_USER_WINDOWS_NAME и удалите следующие папки

  • .android
  • .AndroidStudio3.2
  • .gradle

(вы можете сохранить некоторые конфиги Android из .AndroidStudio3.2 перед удалением, если хотите)

Вы можете создать файл bat CLEAR_CACHE.cmd чтобы удалить папки без корзины.

rmdir /S /Q .android
rmdir /S /Q .AndroidStudio3.2
rmdir /S /Q .gradle

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

ps поместите CLEAR_CACHE.cmd в C:\Users\YOUR_USER_WINDOWS_NAME

Это также хорошая идея, чтобы удалить папку Android Studio и загрузить ее снова

Ответ 13

Выход из Android Studio.

Перейдите по пути C:\Users\YOUR_WINDOW_USER_NAME\.AndroidStudio3.3\system

Удалить папку /caches и папку /tmp

Ответ 14

@TouchBoarder почти имел это. Хотя выбор "Не запускать активность" не приводит к запуску ничего.

В Android Studio в разделе "Конфигурация запуска/отладки" → Приложение для Android → Общие → Активность → выберите параметр "Запуск:"

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

Редактировать конфигурации запуска/отладки и указать активность запуска

Ответ 15

В случае, если ваше приложение не имеет Activity (только для службы), измените параметр "Запуск" на запуск/отладку "Нет".

Ответ 16

Я изменил свой фильтр Intent на

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

Просто добавьте параметр DEFAULT. Я использовал библиотеку Process Phoenix, и это побудило меня определить намерение по умолчанию. Это дополнение решило мою проблему.

Ответ 17

Я нашел это в своем коде:

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

Если вы посмотрите очень осторожно, оно должно быть <activity android:name=".MainActivity">.

По-видимому, я где-то реорганизовал "активность", и он также изменил имена в AndroidManifest.

Ответ 18

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

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

Это было определенно просто. Ссылка:

https://www.aboutonline.info/2018/08/error-running-app-default-activity-not-found-on-android-with-kotlin.html

Ответ 19

Все ответы выше не помогли мне. Попробуйте убрать это

<?xml version="1.0" encoding="utf-8"?>

в вашем AndroidManifest. Затем:

File > Sync Project with Gradle Files

Ответ 20

Ну, я тоже получил эту ошибку,

Ошибка: активность по умолчанию не найдена

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

  • перейти в edit configuaration → wear- > Launch Options- > Launch- > Nothing.
  • Применить изменения. Нажмите "ОК".
  • Удалите существующий код для активности по умолчанию из файла манифеста.

Примечание. Не забудьте очистить проект и синхронизировать файлы Gradle.

Ответ 21

в моем случае я реорганизовал переменную-член, которая была названа "активностью", я переименовал ее в "контекст"... я узнал, что рефактор был сделан тегами activity в манифесте, и я нашел теги context вместо этого... это действительно глупо от Android Studio!!

Ответ 22

У меня та же проблема в Android Studio 3.3 Canary 3. Проект из стабильной версии Android Studio 3.0 вначале работает правильно, а после некоторых очисток/перекомпоновок начинает отображаться ошибка "Нет активности по умолчанию". Я попытался переустановить эту альфа-версию Android Studio: ошибка снова. Но потом запустил его в старом стабильном Android и с помощью apk install, и этот apk работает правильно.

Кроме того, мой проект был создан с помощью Instant App (базовые, функциональные, мгновенные, подкаталоги приложений). Я думаю, что в этой Android Studio есть некоторые проблемы с файлами Manifest.xml, разделенными на эти несколько каталогов.

Поэтому я изменил настройки в этом: enter image description here

Ответ 23

  • Build -> Rebuild Project
  • File -> Invalidate Caches.. -> Invalidate and restart

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

Ответ 24

просто столкнулся с этой ошибкой в ​​студии Android 2.1.2. разрешен путем добавления MAIN/LAUNCHER умывальника к действию по умолчанию в манифесте flavor, хотя фильтр уже был включен по умолчанию в манифесте по умолчанию. Это даже было в объединенном манифесте, но студия не может найти его, пока я не дублирую фильтр в обоих проявлениях.

Ответ 25

мой опыт: убедитесь, что весь ваш java файл был indentify, если IDEA не указывает ваш java файл, поэтому он не может понять, что означает "Активность"

удачи:)

enter image description here

Ответ 26

Android Manifest.xml установите начальную операцию следующим образом

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

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

Ответ 27

Редактировать androidmanifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.java2">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivityName">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Ответ 28

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

Шаг 1. Android Studio ---> File--> Неверный кэш и закрытая андроид студия.

Шаг 2. Перейти к пути C:\Users\USER.AndroidStudio3.2\system

Шаг 3. Измените имя с расширением .back нижеуказанной папки Пример: компилятор должен быть compiler.back

  • компилятор
  • компилятор-сервер
  • преобразование
  • внешний build_system
  • фреймворк
  • Gradle
  • resource_folder_cache

Шаг 4: Запустите Android studio и откройте свой проект.

Я надеюсь, что это будет работать для вас.

Ответ 29

В моем случае была ошибка в AndroidManifest.xml, как показано ниже. Удаление буквы "o" над тегом приложения разрешено. По-видимому, Android Studio не обнаруживает ошибки типа в AndroidMainfest.xml

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

o
<application android:name=".AppName"
             android:allowBackup="false"
             android:icon="@drawable/ic_launcher"
             android:label="@string/app_name"
             android:theme="@android:style/Theme.Light.NoTitleBar">

Ответ 30

Я начал с демонстрационного приложения и изменил его. Я изменяю путь java внутри источника из com → example → foo в свой собственный и редактирует манифест; однако Android Studio (0.8.7) очень запутался.

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

Моим окончательным решением было отредактировать <projectname>.iml в подкаталоге .idea, открыв его в Android Studio (также известный как текстовый редактор).

До:

<content url="file://$MODULE_DIR$">
  <sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
</content>

I (re) добавлен каталог src (2-я строка). После того, как:

<content url="file://$MODULE_DIR$">
  <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
  <sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
</content>

После сохранения Android Studio перезагрузился и начал функционировать, как ожидалось.