"Atividade padrão não encontrada" na atualização do Android Studio


463

Atualizei o IntelliJ Idea de 12.0.4 para 12.10.

Agora todos os módulos no meu projeto Android dão o erro:

Erro: atividade padrão não encontrada

Voltei para a versão 12.0.4 e tudo voltou a funcionar.

Alguma ideia? Eu acho que pode ser um problema com um plugin ausente. Como o plug-in não está instalado, ele não consegue encontrar a atividade padrão. Outra coisa poderia ter sido uma configuração local, mas duvido. Excluí a pasta de configuração para verificar e isso não mudou nada.


3
você olhou para o manifesto? talvez mudar versões limpou ou algo assim? developer.android.com/guide/components/fundamentals.html
— MaxOvrdrv

Não ... mas consegui trabalhar com a 12.0.4, mas reimporte o projeto do zero.
— Saad Farooq

2
De manifesto a chave, provavelmente um erro de nome ou omissão, ou um problema de namespace
— slezica

Um problema manifesto nos sete módulos do projeto que 12.0.4 é executado corretamente, mas 12.10 não é?
— precisa saber é o seguinte

Não, mas uma mudança em um layout de espaço de nomes ou algo projeto, por exemplo, poderia ter ido fora de sincronia com o manifesto
— slezica

Respostas:


889

Se o erro ocorrer após a atualização das versões do IntelliJ IDEA ou Android Studio ou após a geração de um novo APK, talvez seja necessário atualizar o cache do IDE.

File -> Invalidate Caches / Restart...

2
Você também pode tentar registrar um bug aqui: youtrack.jetbrains.com/issues/IDEA Acho que eles são muito bons no acompanhamento de bugs que eu arquivo.
— quer

Acho que foi isso ... vou continuar investigando ... não tive tempo de abrir o diretório novamente como um novo projeto em cada uma das plataformas.
— Saad Farooq

Estou tendo o mesmo problema. No meu arquivo de manifesto, também recebo o erro "Não é possível resolver o símbolo 'MainActivity'". Importei o projeto do Eclipse.
— Roberto

28
Isso funcionou para mim no Android Studio, mas depois de reiniciar, eu também tive que fazer Ferramentas -> Android -> Projeto de sincronização com arquivos Gradle.
— vaughandroid


304

Não posso comentar por que a atualização do IntelliJ pode causar esse problema porque eu não o uso.

No entanto, esse erro: "Atividade padrão não encontrada" parece indicar que você não possui uma atividade declarada no AndroidManifest.xml marcada como a atividade principal, a ser iniciada quando o aplicativo for iniciado.

Você deve ter pelo menos uma atividade parecida com esta:

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

Se você não tiver pelo menos uma atividade com um filtro de intenção como esse, provavelmente verá a mensagem de erro incluída aqui.

Você deve adicionar esse filtro de intenção à Atividade que deseja abrir ao iniciar o aplicativo e isso deve resolver o seu problema.


formiga constrói-lo bem e assim que faz IntelliJ 12.0.4
— Saad Farooq

Iniciei meu aplicativo no Eclipse, sim, tenho uma atividade padrão. Como importei meu aplicativo para o Android studio, tudo correu bem até que um dia eu adicionei o gerenciador de notificações e outras coisas, ou seja, quando deparei com esse erro. Eu fiz Arquivo-> Invalidar cache-> Reiniciar e isso foi corrigido. Mas o erro não foi causado pela falta de atividade padrão, como você afirmou.
— The_Martian

Trabalhou para mim também! MAS OBSERVAÇÃO: escreva "android.intent.xxx" em letras minúsculas - minha culpa foi que a conclusão do Android Studio sugeriu letras maiúsculas (isso levou uma hora) :-(
— Philipp P

22
Para quem é relativamente novo no Android e acabou de estragar seu projeto do Android Studio, esta é a resposta que você está procurando. A resposta aceita é quando uma atualização estraga tudo para você.
— Tom Kidd

3
Eu configurei isso e meu projeto já é executado várias vezes e de repente ele sai errado. Não sei onde está errado. Talvez seja um bug potencial do AS.
— Licia Julius 26/10/18

81

Seu aplicativo tem a atividade de inicialização padrão?

possivelmente este poderia ser seu erro

insira a descrição da imagem aqui

Etapa 1 : Selecione Editar configurações

insira a descrição da imagem aqui

Etapa 2 : observe este aviso: Atividade padrão não encontrada insira a descrição da imagem aqui

Etapa 3 : selecione uma atividade padrão insira a descrição da imagem aqui

insira a descrição da imagem aqui

Etapa 3 : salve suas alterações e finalize

insira a descrição da imagem aqui

Boa sorte

insira a descrição da imagem aqui


Boa resposta! Isso ajuda se não houver atividade no aplicativo. (apenas serviço). você precisa mudar em "atividade" para "fazer não a atividade de lançamento"
— Udi Reshef

Esta é a única resposta que funcionou para aplicativos sem atividade. Obrigado.
— sephiron

Isso funcionou para mim! Na verdade, eu tive uma atividade padrão no manifesto, mas por algum motivo o Android Studio não encontrou isso.
— Ocramot 14/03/19

2
Segui os passos acima mencionados, mas agora ele diz que "A atividade 'MainActivity' não está declarado no AndroidManifest.xml" embora MainActivity está lá
— Far

Essa resposta foi fácil de seguir. Também o comentário de @Udi Reshef graças
— Bishwas Mishra

66

A maneira correta de fazer isso é adicionar o seguinte ao arquivo de manifesto:

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

Deve ser inserido entre:

<application> </application>

Não há necessidade de invalidar caches.


Trabalhou para mim também! MAS NOTE: escreva "android.intent.xxx" em letras minúsculas - minha culpa foi que a conclusão do Android Studio sugeriu letras maiúsculas (isso me levou uma hora) :-(
— Philipp P

Bom ponto: "Isso deve ser inserido entre: <application> </application>". Este foi o meu problema. Muito obrigado.
— Dennis Mathew

Tenha muito cuidado ao refatorar seus códigos. no meu próprio caso, refatorei erroneamente 'categoria' como 'telefone', assim, android.intent.category foi alterado para android.intent.phone.
— Kenny Dabiri

Usei o assistente de criação de projetos do Android Studio e ainda precisava fazer isso manualmente. Estou errado em pensar que isso é um bug?
— pdoherty926


44

Tente clicar com o botão direito do mouse no projeto e escolha Abrir configurações do módulo . Em seguida, vá para a guia Fontes no seu módulo, localize a pasta src , clique com o botão direito do mouse e marque-a como Fontes (cor azul).

EDIT: Não há guia de fontes nas versões posteriores do Android Studio, mas você pode editar o arquivo build.gradle : https://stackoverflow.com/a/22028681/1101730


Isso me ajudou, percebi que o intellij retirou muitos arquivos de origem do src na guia Fontes. Mudei meu pacote para fora do projeto e volta em que resolveu o meu problema.
— Jesse Preto

2
Fiz o mesmo tipo de coisa, mas cliquei com o botão direito do mouse na pasta src e fui para "Marcar o diretório como ..." e depois "Sources Root". - Android Estúdio 0.8.6
— elliptic1

1
Funciona como um encanto, removido a raiz atual, e acrescentou a pasta pai do src e gen novamente
— Udi Oshi

1
uma maneira rápida de acessar as configurações do módulo é clicar no navegador do projeto e pressionar F4
— whyoz

3
isso foi descontinuado, pois não há mais a guia Fontes em Configurações do módulo aberto .
— amigos

23

No Android Studio, em Executar / Depurar Configuração -> Aplicativo Android -> Geral -> Atividade -> selecione a opção "Não iniciar Atividade".


3
Essa é a solução quando o projeto é um serviço ou não possui atividade padrão por algum outro motivo.
— Aharon Manne

2
No Android Studio 2.2.3; Configuração de execução / depuração -> Aplicativo para Android -> myApp -> Geral -> Opções de lançamento -> Lançamento: Nothing
— liteflier

21

Nada acima me ajudou. Depois de algum tempo, descobri que a IDEA alterava os nomes das ações para maiúsculas. Gostar:

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

Depois de voltar ao normal, o IDEA reconhece a atividade padrão:

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

19

Primeiro, verifique se você incluiu a atividade padrão no manifesto.

Exemplo:

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

Se você já tentou de tudo e nada parece funcionar, então

  • Exclua o cache do% Home% \. Gradle \ caches e sincronize o projeto novamente.

Ou verifique esta resposta

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


1
Android Studio 3.2.1: Arquivo -> Projeto de sincronização com arquivos Gradle ::: Foi necessário fazer isso após invalidar o cache e reiniciar antes que o problema desaparecesse.
— Kreebog

1
Isso funcionou para mim. O que eu acredito que causou isso foi mover minha atividade principal para um diretório diferente, a jusante da raiz.
— Shn_Android_Dev 16/04/19

11

Este método funciona para mim Clique no ícone do aplicativo e escolha editar configurações. Na configuração de edição, escolha a atividade especificada em vez da atividade padrão. Em seguida, forneça o caminho da atividade abaixo.

Clique no aplicativo e edite a configuração

Escolha a atividade especificada e o diretório

No final, sincronize com os arquivos gradle.


11

No meu caso File -> Invalidate Caches / Restart... não ajudou

Tudo estava bem com o meu projeto e, claro, eu tinha o próximo filtro de intenção para minha atividade

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

O que realmente me ajudou foi a exclusão de pastas de cache do Android / Gradle (elas podem crescer de 10 a 30 GB)

Vá para C:\Users\YOUR_USER_WINDOWS_NAMEe exclua as próximas pastas

  • .android
  • .AndroidStudio3.2
  • .gradle

(você pode salvar algumas configurações do Android em .AndroidStudio3.2 antes de excluí-lo, se quiser)

Você pode criar um arquivo bat CLEAR_CACHE.cmdcomo este para excluir pastas sem a Lixeira

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

funcionaria muito mais rápido e você não precisa excluí-lo também da Lixeira

ps colocar CLEAR_CACHE.cmd emC:\Users\YOUR_USER_WINDOWS_NAME

Também é uma boa idéia excluir a pasta do Android Studio e fazer o download novamente


8

Mudei meu filtro de intenção para

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

Apenas adicione a opção PADRÃO também. Eu estava usando a biblioteca Process Phoenix e isso me levou a definir uma intenção padrão. Esta adição resolveu meu problema.


7

Eu recebi esse erro.

E descobriu que no arquivo manifesto na atividade do iniciador eu não coloquei actione categoryno filtro de intenção.

O errado:

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

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

</activity>

O certo:

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

7

Saia do Android Studio.

Ir para o caminho C:\Users\YOUR_WINDOW_USER_NAME\.AndroidStudio3.3\system

Remover / caches pasta e pasta / tmp


6

@TouchBoarder quase conseguiu. Embora a seleção de "Não iniciar atividade" resulte em nada é iniciado.

No Android Studio, em Configuração de Execução / Depuração -> Aplicativo Android -> Geral -> Atividade -> selecione a opção "Iniciar:"

Escolha sua atividade. Isso não corrige exatamente o comportamento pretendido, mas substitui-o corretamente.

Edite as configurações de execução / depuração e especifique a atividade de inicialização


4

Caso seu aplicativo não possua uma Atividade (apenas um serviço, por exemplo), altere a opção 'Iniciar' da configuração de execução / depuração para Nada.


4

Encontrei isso no meu 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>

Se você olhar com muito cuidado, deve ser <activity android:name=".MainActivity"> .

Aparentemente, refatorei uma "atividade" em algum lugar e ela também mudou os nomes no AndroidManifest.


no meu caso a renomeação de FilterClasses levaram à <intenção filterlist> marcas :)
— Emanuel

2
Tenha muito cuidado ao refatorar seus códigos. no meu próprio caso, refatorei erroneamente 'categoria' como 'telefone', assim, android.intent.category foi alterado para android.intent.phone.
— Kenny Dabiri


4

Todas as respostas acima não me ajudaram. Tente remover isso

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

no seu AndroidManifest. Então:

File > Sync Project with Gradle Files

Eu descobri que Syncing Project With Gradle Filesfuncionava bem como vinho. A propósito, meu erro ocorreu do nada.
— Homerun

4

No meu caso, refatorei uma variável de membro denominada "atividade", renomei-a para "contexto" ... descobri que o refator foi feito para as tags de atividade no manifesto e, em vez disso, encontrei essas tags de contexto ... isso é realmente estúpido no Android Studio!


2
este é um bug do estúdio Android, você está certo @tere bentikh
— mayank_droid

3

Eu tenho o mesmo problema no Android Studio 3.3 Canary 3. O projeto da versão estável do Android Studio 3.0 funciona primeiro corretamente, do que após algumas limpezas / reconstruções, ele começa a mostrar o erro Sem atividade padrão. Tentei reinstalar esta versão alfa do Android Studio: erro novamente. Mas, em seguida, iniciá-lo no antigo Android estável e usando a instalação do apk, e este apk funciona corretamente.

Além disso, meu projeto foi criado com o Instant App (subdiretórios base, recurso, instantâneo, aplicativo). Acho que este Android Studio tem alguns problemas com os arquivos Manifest.xml separados nesses vários diretórios.

Então, eu mudei nas configurações para isso: insira a descrição da imagem aqui


3

Desde o Android Studio 3.5 or 3.6, comecei a Default Activity not foundme cansar Invalidating Caches & Restart, reconstruindo o projeto etc.

Acabou que a maneira como eu manuseio multi-módulos e manifestos era errônea. Eu tinha o Manifesto da atividade padrão apenas no módulo de biblioteca, mas deveria estar nos dois módulos de aplicativo.

Assumindo librarymodule appmodule1 appmodule2

  1. Remova HomeActivitydo librarymodulemanifesto qualquer.
  2. Adicionar:
class AppModuleActivity1 : HomeActivity() to appmodule1
class AppModuleActivity2 : HomeActivity() to appmodule2
  1. Para appmodule1manifestar a applicationtag interna , adicionei:
        <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. O mesmo acontece com a appmodule2alteração de 2 por 1 na nomeação.

2
  1. Build -> Rebuild Project
  2. File -> Invalidate Caches.. -> Invalidate and restart

Funciona para mim. Recrie o projeto para garantir que não haja erros no projeto. Então podemos invalidar o cache.


2

Erro: atividade padrão não encontrada

Eu resolvi desta maneira
Execute >> Editar Configuração >> Aplicativo Android >> Digite o caminho da sua classe de atividade padrão na caixa de edição "Iniciar".


2

acabou de enfrentar esse erro no android studio 2.1.2. resolvido adicionando filtro de intenção MAIN / LAUNCHER à atividade padrão no manifesto de sabor , embora o filtro já estivesse na atividade padrão no manifesto padrão. Até estava no manifesto mesclado, mas o estúdio não o encontrou até que eu duplicasse o filtro nos dois manifestos.


2

minha experiência: verifique se todo o seu arquivo java foi identificado, se a IDEA não identificar o seu arquivo java, para que ele não seja capaz de entender o que significa "Atividade"

boa sorte :)

insira a descrição da imagem aqui


2

Bem, eu também tenho esse erro,

Erro: atividade padrão não encontrada

Bem, no meu caso, foi para o módulo de desgaste. Não preciso de uma atividade lá, então o que faço é simplesmente

  1. vá para editar a configuração -> usar -> Opções de Lançamento -> Iniciar -> Nada.
  2. Aplicar alterações. Clique em Ok.
  3. Remova o código existente da atividade padrão do seu arquivo de manifesto.

Nota: Não esqueça de limpar o projeto e sincronizar arquivos gradle.


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>

você poderia expandir essa resposta? Apenas um bloco de código não é muito útil
— Azsgy 30/03

2

Às vezes, esse erro ocorre devido ao mau comportamento do android studio devido ao cache interno e ao sistema de criação de projetos. Mesmo nós definimos tudo perfeito para a atividade padrão. Para esse problema, encontrei uma solução e está funcionando para mim.

Etapa 1. Android Studio ---> Arquivo -> Cache inválido e Android Studio fechado.

Passo 2. Vá para o caminho C: \ Users \ USER.AndroidStudio3.2 \ system

Etapa 3. Altere o nome com a extensão .back da pasta abaixo Exemplo: o compilador deve ser compiler.back

  • compilador
  • compilador-servidor
  • conversão
  • external-build_system
  • estrutura
  • gradle
  • resource_folder_cache

Passo 4: inicie o Android studio e abra seu projeto.

Espero que funcione para você.


1
Essa foi a única resposta que funcionou para mim, mas, além do processo descrito aqui, você deve remover o conteúdo da pasta "system / caches", caso contrário, ela só funcionará na primeira vez após o processo e reiniciar o Android Studio, em seguida, voltou a acontecer a mesma atividade padrão não encontrada.
— Gerrard

A única opção que funcionou para mim. Isso aconteceu após uma reinicialização do computador, que provavelmente corrompeu alguns arquivos, como você disse. A outra opção era reinstalar o android studio, mas, felizmente, limpar as pastas especificadas é suficiente.
— RJFares 15/03/19

2

Às vezes, sincronizar projeto com arquivos Gradle. Para corrigir esse problema geral, você deve

  1. Sair do Android Studio
  2. Vá para USER -> AndroidStudio -> system -> caches
  3. Excluir essa pasta
  4. Inicie o Android Studio.

Ele irá re-indexar seus arquivos e isso deve funcionar

Graças a kirtan403 de uma pergunta semelhante.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.