"Actividad predeterminada no encontrada" en la actualización de Android Studio

463

Actualicé IntelliJ Idea de 12.0.4 a 12.10.

Ahora todos los módulos en mi proyecto de Android dan el error:

Error: actividad predeterminada no encontrada

Volví a 12.0.4 y todo vuelve a funcionar.

¿Algunas ideas? Creo que podría ser un problema con un complemento que falta. Como el complemento no está instalado, no puede encontrar la actividad predeterminada. Otra cosa podría haber sido una configuración local, pero lo dudo. Eliminé la carpeta de configuración para verificar y eso no cambió nada.

Saad Farooq
fuente
3
¿Has mirado el manifiesto? tal vez el cambio de versiones lo borró o algo así? developer.android.com/guide/components/fundamentals.html
MaxOvrdrv
No ... pero conseguí que funcionara con 12.0.4 pero volví a importar el proyecto desde cero.
Saad Farooq
2
El manifiesto es la clave, probablemente un error de nombre u omisión, o un problema de espacio de nombre
slezica 05 de
¿Un problema manifiesto en los siete módulos del proyecto que 12.0.4 se ejecuta correctamente pero 12.10 no?
Saad Farooq
No, pero un cambio en un espacio de nombres o algo en el diseño del proyecto, por ejemplo, podría no estar sincronizado con el manifiesto
slezica 05 de

Respuestas:

889

Si ve que se produce ese error después de actualizar las versiones de IntelliJ IDEA o Android Studio, o después de generar un nuevo APK, es posible que deba actualizar la memoria caché del IDE.

File -> Invalidate Caches / Restart...
Sky Kelsey
fuente
2
También puede intentar presentar un error aquí: youtrack.jetbrains.com/issues/IDEA Me parece que son muy buenos para dar seguimiento a los errores que presento.
Sky Kelsey
Creo que esto fue todo ... Seguiré investigando ... No tuve tiempo de abrir el directorio nuevamente como un nuevo proyecto en cada una de las plataformas.
Saad Farooq
Estoy teniendo el mismo problema. En mi archivo de manifiesto, también aparece el error "No se puede resolver el símbolo 'MainActivity'". Importé el proyecto desde Eclipse.
Roberto
28
Esto funcionó para mí en Android Studio, pero después de reiniciar también tuve que hacer Herramientas -> Android -> Proyecto de sincronización con archivos Gradle.
vaughandroid
304

No puedo comentar por qué la actualización de IntelliJ podría causar este problema porque no lo uso.

Sin embargo, ese error: "Actividad predeterminada no encontrada" parece indicarle que no tiene una actividad declarada en AndroidManifest.xml que esté marcada como la actividad principal, que se iniciará cuando se inicie la aplicación.

Debería tener al menos una actividad que se vea así:

<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>

Si no tiene al menos una actividad con un filtro de intención como ese, lo más probable es que vea el mensaje de error que ha incluido aquí.

Debe agregar ese filtro de intención a la Actividad que desea abrir cuando inicie la aplicación, y eso debería solucionar su problema.

mattgmg1990
fuente
hormiga lo construye bien y también lo hace IntelliJ 12.0.4
Saad Farooq
Inicié mi aplicación en Eclipse, sí, tengo una actividad predeterminada. Importé mi aplicación al estudio de Android, estuvo bien hasta que un día agregué el administrador de notificaciones y esas cosas, es decir, cuando me encontré con este error. Hice Archivo-> Invalidar cach-> Reiniciar y eso lo solucionó. Pero el error no fue causado por la falta de actividad predeterminada como usted indicó.
The_Martian
¡Trabajó para mí también! PERO NOTA: por favor escriba "android.intent.xxx" en minúsculas - mi culpa fue que la finalización de Android Studio sugirió letras mayúsculas (esto me llevó una hora) :-(
Philipp P
22
Para aquellos que son relativamente nuevos en Android y que acaba de arruinar su proyecto de Android Studio, esta es la respuesta que está buscando. La respuesta aceptada es cuando una actualización te ha arruinado las cosas.
Tom Kidd
3
He configurado esto y mi proyecto ya se ejecuta muchas veces y de repente se equivoca. No se donde está mal. Quizás, es un error potencial de AS.
Licat Julius
81

¿Su aplicación tiene actividad de inicio predeterminada?

posiblemente este podría ser tu error

ingrese la descripción de la imagen aquí

Paso 1 : Seleccione Editar configuraciones

ingrese la descripción de la imagen aquí

Paso 2 : mira esta advertencia: Actividad predeterminada no encontrada ingrese la descripción de la imagen aquí

Paso 3 : selecciona una actividad predeterminada ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Paso 3 : guarda tus cambios y termina

ingrese la descripción de la imagen aquí

Buena suerte

ingrese la descripción de la imagen aquí

David Hackro
fuente
¡Buena respuesta! Esto es lo que ayuda si no hay actividad en la aplicación. (solo servicio). necesita cambiar en "actividad" a "no iniciar actividad"
Udi Reshef
Esta es la única respuesta que funcionó para aplicaciones sin actividad. Gracias.
sephiron
¡Esto funcionó para mí! Realmente tenía una Actividad predeterminada en el Manifiesto, pero por alguna razón, Android Studio no lo encontró.
ocramot
2
Seguí los pasos mencionados anteriormente, pero ahora dice "La actividad 'MainActivity' no se declara en AndroidManifest.xml" aunque MainActivity está allí
Far
Esta respuesta fue fácil de seguir. También el comentario de @Udi Reshef gracias
Bishwas Mishra
66

La forma correcta de hacer esto es agregar lo siguiente al archivo de manifiesto:

<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>

Esto debe insertarse entre:

<application> </application>

No hay necesidad de invalidar cachés.

Yuriy
fuente
¡Trabajó para mí también! PERO NOTA: por favor escriba "android.intent.xxx" en minúsculas - mi culpa fue que la finalización de Android Studio sugirió letras mayúsculas (esto me llevó una hora) :-(
Philipp P
Punto bueno: "Esto debe insertarse entre: <aplicación> </ aplicación>". Este fue mi problema. Muchas gracias.
Dennis Mathew
Tenga mucho cuidado al refactorizar sus códigos. en mi propio caso, refactoré erróneamente 'categoría' como 'teléfono' por lo tanto, android.intent.category se cambió a android.intent.phone.
Kenny Dabiri
Utilicé el asistente de creación de proyectos de Android Studio y aún tenía que hacerlo manualmente. ¿Me equivoco al pensar que es un error?
pdoherty926 18/06/18
45

Si está trabajando en una aplicación de widgets, esta solución debería funcionar para usted:

  1. Ir Edit Configuration
  2. Establecer Launch Optionennothing
Kishan Vasoya
fuente
1
¡usted es maravilloso!
Rahul Singh
1
solo esto funciona para mi !!
Malith Ileperuma
44

Intente hacer clic derecho en el proyecto y elija Abrir configuración del módulo . Luego vaya a la pestaña Fuentes en su módulo, busque la carpeta src , haga clic derecho sobre ella y márquela como Fuentes (color azul).

EDITAR: no hay una pestaña de fuentes en versiones posteriores de Android Studio, pero puede editar el archivo build.gradle en su lugar: https://stackoverflow.com/a/22028681/1101730

Micer
fuente
Esto me ayudó, me di cuenta de que intellij eliminó muchos archivos fuente del src en la pestaña Fuentes. Saqué mi paquete del proyecto y lo volví
Jesse Black
2
Hice este mismo tipo de cosas, pero hice clic derecho en la carpeta src y fui a "Marcar directorio como ..." y luego a "Rooteo de fuentes". - Android Studio 0.8.6
elliptic1
1
Funciona de maravilla, eliminó la raíz actual y agregó nuevamente la carpeta principal de src y gen
Udi Oshi
1
una forma rápida de acceder a la configuración del módulo es hacer clic en el navegador de proyectos y presionar F4
whyoz
3
esto está en desuso ya que ya no hay una pestaña de Fuentes en Abrir Configuración del Módulo .
Amigo
23

En Android Studio, en Configuración de ejecución / depuración -> Aplicación de Android -> General -> Actividad -> seleccione la opción "No iniciar actividad".

TouchBoarder
fuente
3
Esta es la solución cuando el proyecto es un servicio o no tiene actividad predeterminada por alguna otra razón.
Aharon Manne
2
En Android Studio 2.2.3; Configuración de ejecución / depuración -> Aplicación de Android -> myApp -> General -> Opciones de
inicio
21

Nada de lo anterior me ayudó. Después de un tiempo descubrí que IDEA cambió los nombres de las acciones a mayúsculas. Me gusta:

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

Después de volver a la normalidad, IDEA reconoce la actividad predeterminada:

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

En primer lugar, asegúrese de haber incluido la actividad predeterminada en el manifiesto.

Ejemplo:

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

Si ha intentado todo y nada parece funcionar, entonces

  • Elimine el caché de su% Home% \. Gradle \ caches y sincronice el proyecto nuevamente.

O mira esta respuesta

https://stackoverflow.com/a/53476487/5507705

Salman
fuente
1
Android Studio 3.2.1: Archivo -> Proyecto de sincronización con archivos Gradle ::: Tuve que hacer esto después de invalidar el caché y reiniciar antes de que el problema desapareciera.
Kreebog
1
Esto funcionó para mí. Lo que creo que causó esto fue mover mi actividad principal a un directorio diferente, aguas abajo de la raíz.
Shn_Android_Dev
11

Este método funciona para mí Haga clic en el ícono de la aplicación y luego elija editar configuraciones. En la configuración de edición, elija la actividad especificada en lugar de la actividad predeterminada. Luego, indique la ruta de la actividad a continuación.

Haga clic en la aplicación y edite la configuración

Elija la actividad especificada y el directorio

Al final sincronizar con los archivos gradle.

Durgaprasad Nagarkatte
fuente
11

En mi caso File -> Invalidate Caches / Restart... no ayudó

Todo estaba bien con mi proyecto y, por supuesto, tenía el siguiente filtro de intención para mi actividad

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

Lo que realmente me ayudó es eliminar las carpetas de caché de Android / Gradle (pueden crecer hasta 10-30 GB)

Ir C:\Users\YOUR_USER_WINDOWS_NAMEy eliminar las siguientes carpetas

  • .androide
  • .AndroidStudio3.2
  • .gradle

(puede guardar algunas configuraciones de Android de .AndroidStudio3.2 antes de eliminarlas si lo desea)

Puede crear un archivo bat CLEAR_CACHE.cmdcomo este para eliminar carpetas sin la Papelera de reciclaje

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

funcionaría mucho más rápido y no tiene que eliminarlo también de la Papelera de reciclaje

ps puesto CLEAR_CACHE.cmdenC:\Users\YOUR_USER_WINDOWS_NAME

también es una buena idea eliminar la carpeta de Android Studio y descargarla nuevamente

usuario924
fuente
8

Cambié mi filtro de intención a

<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>

Simplemente agregue la opción DEFAULT también. Estaba usando la biblioteca Process Phoenix y me pidió que definiera una intención predeterminada. Esta adición resolvió mi problema.

Rorschach
fuente
7

Tengo este error

Y descubrí que en el archivo de manifiesto en la actividad del iniciador no puse actiony categoryen el filtro de intención.

El equivocado:

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

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

</activity>

El correcto:

<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>
mehmoodnisar125
fuente
7

Salga de Android Studio.

Ir al camino C:\Users\YOUR_WINDOW_USER_NAME\.AndroidStudio3.3\system

Eliminar la carpeta / cachés y la carpeta / tmp

Abhishek Garg
fuente
6

@TouchBoarder casi lo tuvo. Aunque al seleccionar "No iniciar actividad" no se inicia nada.

En Android Studio, en Configuración de ejecución / depuración -> Aplicación de Android -> General -> Actividad -> seleccione la opción "Iniciar:"

Elige tu actividad. Esto no soluciona exactamente el comportamiento deseado, sino que lo anula correctamente.

Edite las configuraciones de ejecución / depuración y especifique la actividad de inicio

Juan
fuente
4

En caso de que su aplicación no tenga una Actividad (solo un servicio, por ejemplo), cambie la opción 'Iniciar' de configuración de ejecución / depuración a Nada.

negro
fuente
4

Encontré esto en mi código:

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

Si miras con mucho cuidado, debería ser <activity android:name=".MainActivity"> .

Aparentemente, modifiqué una "actividad" en alguna parte, y también cambió los nombres en el Manifiesto de Android.

Muz
fuente
en mi caso, el cambio de nombre de FilterClasses condujo a las etiquetas <intent-filterList> :)
Emanuel
2
Tenga mucho cuidado al refactorizar sus códigos. en mi propio caso, refactoré erróneamente 'categoría' como 'teléfono' por lo tanto, android.intent.category se cambió a android.intent.phone.
Kenny Dabiri
4

Todas las respuestas anteriores no me ayudaron. Intenta eliminar esto

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

en tu AndroidManifest. Entonces:

File > Sync Project with Gradle Files
Vladislaw Vivaldy
fuente
Me di cuenta de que Syncing Project With Gradle Filesfuncionaba bien como vino. Por cierto, mi error ocurrió de la nada.
jonrón el
4

En mi caso, refactoricé una variable miembro que se llamaba "actividad", la renombré a "contexto" ... descubrí que el refactorizador se hizo a las etiquetas de actividad en manifiesto, y en su lugar las encontré etiquetas de contexto ... ¡Esto es realmente estúpido de Android Studio!

Ahmed Adel Ismail
fuente
2
esto es un error del estudio de Android, tienes razón @tere bentikh
mayank_droid
3

Tengo el mismo problema en Android Studio 3.3 Canary 3. El proyecto de la versión estable de Android Studio 3.0 funciona en primer lugar correctamente, que después de algunas limpiezas / reconstrucciones comienza a mostrar el error Sin actividad predeterminada. Traté de reinstalar esta versión alfa de Android Studio: error nuevamente. Pero luego lo inició en el viejo Android estable, y usando la instalación de apk, y esta apk funciona correctamente.

Además, mi proyecto fue creado con Instant App (base, función, instantáneo, subdirectorios de aplicaciones). Creo que este Android Studio tiene algunos problemas con los archivos Manifest.xml separados en estos directorios múltiples.

Así que he cambiado la configuración a esto: ingrese la descripción de la imagen aquí

Michał Ziobro
fuente
3

Desde Android Studio 3.5 or 3.6comencé a tener Default Activity not foundy me cansé de Invalidating Caches & Restartreconstruir proyectos, etc.

Resultó que la forma en que manejo los módulos múltiples y los manifiestos era errónea. Solo tenía el Manifiesto de actividad predeterminado en el módulo de biblioteca, pero debería haber estado en ambos módulos de la aplicación.

Asumiendo librarymodule appmodule1 appmodule2

  1. Retirar HomeActivitydel librarymodulemanifiesto en absoluto.
  2. Añadir:
class AppModuleActivity1 : HomeActivity() to appmodule1
class AppModuleActivity2 : HomeActivity() to appmodule2
  1. Para appmodule1Manifest inside applicationtag, agregué:
        <activity
            android:name="com.app.name.AppModuleActivity1">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
  1. Lo mismo, appmodule2pero cambia 2 por 1 en los nombres.
Przemo
fuente
2
  1. Build -> Rebuild Project
  2. File -> Invalidate Caches.. -> Invalidate and restart

Esto funciona para mi. Reconstruya el proyecto para asegurarse de que no haya errores en el proyecto. Entonces podemos invalidar el caché.

Artyom
fuente
2

Error: actividad predeterminada no encontrada

Resolví de esta manera
Ejecutar >> Editar configuración >> Aplicación de Android >> Ingrese la ruta de su clase de actividad predeterminada en el cuadro de edición "Iniciar".

Lokesh Tiwari
fuente
2

Acabo de enfrentar este error en Android Studio 2.1.2. se resolvió agregando el filtro de intención PRINCIPAL / LANZADOR a la actividad predeterminada en el manifiesto de sabor , aunque el filtro ya estaba en la actividad predeterminada en el manifiesto predeterminado. Incluso estaba en un manifiesto combinado, pero el estudio no puede encontrarlo hasta que duplique el filtro en ambos manifiestos.

mjollneer
fuente
2

mi experiencia: asegúrese de que todo su archivo java haya sido identificado, si IDEA no identifica su archivo java, de modo que no pueda entender qué significa "Actividad"

buena suerte :)

ingrese la descripción de la imagen aquí

jianwei-x
fuente
2

Bueno, también recibí este error,

Error: actividad predeterminada no encontrada

bueno, en mi caso fue para el módulo de desgaste. No necesito una actividad allí, así que lo que hago es simplemente

  1. vaya a editar la configuración -> desgaste-> Opciones de inicio-> Inicio-> Nada.
  2. Aplicar cambios. Haga clic en Aceptar.
  3. Elimine el código existente para la actividad predeterminada de su archivo de manifiesto.

Nota: No olvide limpiar proyectos y sincronizar archivos Gradle.

PN10
fuente
2

Editar 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>
Tasdemir
fuente
¿podría ampliar esta respuesta? Solo un bloque de código no es muy útil
Azsgy
2

A veces, este error se debe al mal comportamiento del estudio de Android debido a la memoria caché interna y al sistema de construcción de proyectos. Incluso hemos establecido todo perfecto para la actividad predeterminada. Para tal problema, encontré una solución y está funcionando para mí.

Paso 1. Android Studio ---> Archivo -> Caché no válido y estudio de Android cerrado.

Paso 2.Vaya a la ruta C: \ Users \ USER.AndroidStudio3.2 \ system

Paso 3. Cambie el nombre con la extensión .back de la carpeta siguiente Ejemplo: el compilador debe ser compiler.back

  • compilador
  • servidor compilador
  • conversión
  • external-build_system
  • marco de referencia
  • gradle
  • recurso_carpeta_caché

Paso 4: Inicie Android Studio y abra su proyecto.

Espero que funcione para ti.

Abhay Bhusari
fuente
1
Esta fue la única respuesta que funcionó para mí, pero además del proceso descrito aquí, debe eliminar el contenido de la carpeta "sistema / cachés", de lo contrario, solo funciona la primera vez después de haber realizado el proceso y reiniciar Android Studio, luego volvió a suceder lo mismo, Actividad predeterminada no encontrada.
Gerrard
La única opción que funcionó para mí. Sucedió después de un restablecimiento completo de la computadora, que probablemente corrompió algunos archivos como usted dijo. La otra opción era reinstalar el estudio de Android, pero afortunadamente borrar las carpetas que especificó es suficiente.
RJFares
2

El proyecto de sincronización con archivos Gradle funciona a veces. Para solucionar este problema general, debe

  1. Salga de Android Studio
  2. Vaya a USUARIO -> AndroidStudio -> sistema -> cachés
  3. Eliminar esa carpeta
  4. Inicia Android Studio.

Volverá a indexar sus archivos y eso debería funcionar

Gracias a kirtan403 de una pregunta similar.

carrera
fuente