Android Studioのアップグレードで「デフォルトのアクティビティが見つかりません」


463

IntelliJ Ideaを12.0.4から12.10にアップグレードしました。

Androidプロジェクトのすべてのモジュールでエラーが発生します。

エラー:デフォルトのアクティビティが見つかりません

12.0.4に戻したところ、すべて正常に動作しました。

何か案は?プラグインが欠落している場合の問題かもしれません。プラグインがインストールされていないため、デフォルトのアクティビティを見つけることができません。もう1つはローカル構成である可能性がありますが、私はそれを疑っています。確認するために構成フォルダを削除しましたが、何も変更されませんでした。


3
マニフェストを見ましたか?バージョンを切り替えると、それがクリアされたのでしょうか?developer.android.com/guide/components/fundamentals.html
MaxOvrdrv 2013

いいえ...しかし、12.0.4で動作するようになりましたが、プロジェクトを最初から再インポートしました。
Saad Farooq、2013

2
マニフェストがカギ、おそらく名前の誤りか省略、または名前空間の問題
slezica

12.0.4は正しく実行されますが、12.10は実行されないというプロジェクトの7つのモジュールすべてでのマニフェストの問題??
Saad Farooq 2013

いいえ、ただし名前空間やプロジェクトレイアウトなどの変更がマニフェストと同期しなくなった可能性があります
slezica

回答:


889

IntelliJ IDEAまたはAndroid Studioのバージョンをアップグレードした後、または新しいAPKを生成した後にエラーが発生する場合は、IDEのキャッシュを更新する必要があります。

File -> Invalidate Caches / Restart...

2
ここでバグを報告することもできます:youtrack.jetbrains.com/issues/IDEAバグをフォロー するのに非常に優れていることがわかりました。
スカイケルシー2013

これはそれだと思います...調査を続けます...各プラットフォームで新しいプロジェクトとしてディレクトリを再び開く時間はありませんでした。
Saad Farooq 2013

私も同じ問題を抱えています。マニフェストファイルで、「シンボル 'MainActivity'を解決できません」というエラーも表示されます。Eclipseからプロジェクトをインポートしました。
Roberto

28
これはAndroid Studioで機能しましたが、再起動後、[ツール]-> [Android]-> [プロジェクトをGradleファイルと同期]も実行する必要がありました。
vaughandroid 2014


304

IntelliJのアップグレードでこの問題が発生する理由については、私が使用していないのでコメントできません。

ただし、「デフォルトのアクティビティが見つかりません」というエラーは、AndroidManifest.xmlでメインアクティビティとしてマークされ、アプリケーションの起動時に起動されるアクティビティが宣言されていないことを示しているようです。

次のようなアクティビティが少なくとも1つ必要です。

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

このようなインテントフィルターを使用したアクティビティが1つもない場合は、ここに含めたエラーメッセージが表示される可能性が高くなります。

アプリケーションを起動するときに開きたいアクティビティにそのインテントフィルターを追加する必要があります。これで問題が解決します。


antはそれをうまく構築し、IntelliJ 12.0.4もそうです
Saad Farooq

私はEclipseでアプリを起動しました、はい、デフォルトのアクティビティがあります。私のアプリをAndroidスタジオにインポートしました。通知マネージャーなどを追加した日まで問題ありませんでした。この日、このエラーが発生しました。私はFile-> Invalidate cach-> Restartを行い、それを修正しました。しかし、あなたが述べたように、エラーはデフォルトのアクティビティの欠如によって引き起こされたのではありません。
The_Martian 2015

私も働いた!ただし、「android.intent.xxx」は小文字で書いてください-私の欠点は、Android Studioの完了で大文字が提案されたことでした(これには1時間かかりました):-(
Philipp P

22
Androidを比較的始めたばかりで、Android Studioプロジェクトを台無しにしたばかりの人にとって、これはあなたが探している答えです。受け入れられた答えは、アップグレードがあなたのために物事を台無しにしたときのためのものです。
トムキッド2016年

3
私はこれを設定しましたが、私のプロジェクトはすでに何度も実行されており、突然間違ってしまいます。どこが悪いのか分かりません。おそらく、それはASの潜在的なバグです。
リカットジュリアス2018

81

アプリに起動アクティビティのデフォルトがありますか?

おそらくこれはあなたの間違いかもしれません

ここに画像の説明を入力してください

手順1:[構成の編集]を選択します

ここに画像の説明を入力してください

ステップ2:この警告を見る:デフォルトのアクティビティが見つかりません ここに画像の説明を入力してください

ステップ3:デフォルトのアクティビティを選択する ここに画像の説明を入力してください

ここに画像の説明を入力してください

ステップ3:変更を保存して終了します

ここに画像の説明を入力してください

幸運を

ここに画像の説明を入力してください


いい答えです!これは、アプリにアクティビティがない場合に役立ちます。(サービスのみ)。「アクティビティ」を「アクティビティを起動しない」に変更する必要がある
Udi Reshef 2016

これは、アクティビティのないアプリで機能した唯一の答えです。ありがとうございました。
2016年

これは私のために働いた!私は実際にはマニフェストにデフォルトアクティビティがありましたが、何らかの理由でAndroid Studioはそれを見つけられませんでした。
ocramot

2
前述の手順を実行しましたが、MainActivityがあるにもかかわらず「アクティビティ 'MainActivity'はAndroidManifest.xmlで宣言されていません」と表示されます
Far

この答えは簡単でした。@Udi Reshefからのコメント
Bishwas Mishra

66

これを行う正しい方法は、次のものをマニフェストファイルに追加することです。

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

キャッシュを無効にする必要はありません。


私も働いた!ただし、「android.intent.xxx」は小文字で書いてください-私の欠点は、Android Studioの完了で大文字が提案されることでした(これには1時間かかりました):-(
Philipp P

良い点:「これは<application> </ application>の間に挿入する必要があります」。これは私の問題でした。どうもありがとう。
Dennis Mathew 2017

コードをリファクタリングするときは十分注意してください。私自身の場合、誤って「カテゴリ」を「電話」としてリファクタリングしたため、android.intent.categoryはandroid.intent.phoneに変更されました。
ケニーダビリ2017年

私はAndroid Studioのプロジェクト作成ウィザードを使用しましたが、それでも手動で行う必要がありました。それをバグだと思うのは間違っていますか?
pdoherty926

45

あなたがウィジェットアプリで作業しているなら、このソリューションはあなたのために働くはずです:

  1. に行く Edit Configuration
  2. 設定するLaunch Optionにはnothing

1
あなたは素晴らしいです!
Rahul Singh

1
これだけでうまくいきます!!
Malith Ileperuma

44

プロジェクトを右クリックして、[ モジュール設定開く]を選択してみてください。次に、モジュールの[ ソース ]タブに移動し、srcフォルダーを見つけて右クリックして、ソース(青色)としてマークします。

編集:それ以降のバージョンのAndroid Studioにはソースタブはありませんが、代わりにbuild.gradleファイルを編集できます:https : //stackoverflow.com/a/22028681/1101730


これは私を助けてくれました、私はintellijがSourcesタブのsrcからたくさんのソースファイルを落としたことに気づきました。パッケージをプロジェクトの外に移動し、元に戻しました。これで問題が解決しました
Jesse Black

2
これと同じようなことをしましたが、srcフォルダーを右クリックして[Mark Directory As ...]に移動し、次に[Sources Root]に移動しました。-Android Studio 0.8.6
elliptic1

1
チャームのように機能し、現在のルートを削除し、srcとgenの親フォルダーを再度追加しました
Udi Oshi

1
モジュール設定にアクセスする簡単な方法は、プロジェクトナビゲーターをクリックしてF4
キー

3
Open Module SettingsにSourcesタブがないため、これは非推奨です。
バディ

23

Android Studioの[実行/デバッグ構成]-> [Androidアプリケーション]-> [一般]-> [アクティビティ]-> [アクティビティを起動しない]オプションを選択します。


3
これは、プロジェクトがサービスである場合、またはその他の理由でデフォルトのアクティビティがない場合の解決策です。
Aharon Manne

2
Android Studio 2.2.3; 実行/デバッグ構成-> Androidアプリ->
myApp-

21

上記のことは何の助けにもなりませんでした。しばらくして、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>

19

まず、マニフェストにデフォルトのアクティビティが含まれていることを確認してください。

例:

<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からキャッシュを削除して、プロジェクトを再度同期します。

またはこの答えを確認してください

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


1
Android Studio 3.2.1:ファイル->プロジェクトをGradleファイルと同期:::キャッシュを無効にして再起動した後、問題がなくなる前にこれを実行する必要がありました。
Kreebog、

1
これでうまくいきました。これの原因は、ルートの下流にある別のディレクトリにメインアクティビティを移動したためと考えられます。
Shn_Android_Dev

11

この方法は私にとっては機能しますアプリのアイコンをクリックしてから、構成の編集を選択します。編集構成で、デフォルトのアクティビティではなく、指定されたアクティビティを選択します。次に、以下のアクティビティのパスを指定します。

アプリをクリックして設定を編集

指定したアクティビティとディレクトリを選択します

最後に、gradleファイルと同期します。


11

私の場合 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 GBまで大きくなる可能性があります)。

C:\Users\YOUR_USER_WINDOWS_NAME次のフォルダに移動して削除します

  • 。アンドロイド
  • .AndroidStudio3.2
  • .gradle

(いくつかのAndroid構成を .AndroidStudio3.2に応じて、削除する前にできます)

CLEAR_CACHE.cmdこのようなbatファイルを作成してごみ箱なしでフォルダを削除できます

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

それははるかに速く動作し、ごみ箱からも削除する必要はありません

PS入れCLEAR_CACHE.cmdC:\Users\YOUR_USER_WINDOWS_NAME

Android Studioフォルダーを削除して再度ダウンロードすることもお勧めします


8

インテントフィルターを

<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ライブラリを使用していて、デフォルトのインテントを定義するように求められました。この追加で問題が解決しました。


7

このエラーが発生しました。

そして、ランチャー活動のマニフェストファイルで、私は入れていないことが判明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>

7

Android Studioを終了します。

パスに移動 C:\Users\YOUR_WINDOW_USER_NAME\.AndroidStudio3.3\system

/ cachesフォルダーと/ tmpフォルダーを削除する


6

@TouchBoarderはほとんどそれを持っていました。「アクティビティを起動しない」を選択しても、何も起動しません。

Android Studioの[Run / Debug Configuration]-> [Android Application]-> [General]-> [Activity]-> [Launch:]オプションを選択します。

アクティビティを選択してください。これは、意図した動作を正確に修正するのではなく、正しくオーバーライドします。

実行/デバッグ構成を編集し、起動アクティビティを指定する


4

アプリケーションにアクティビティがない場合(たとえば、サービスのみ)、実行/デバッグ構成の「起動」オプションをNothingに変更します。


4

私はこれを私のコードで見つけました:

<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でも名前を変更しました。


私の場合、FilterClassesの名前を変更すると、<intent-filterList>タグが作成されました:)
Emanuel

2
コードをリファクタリングするときは十分注意してください。私自身の場合、誤って「カテゴリ」を「電話」としてリファクタリングしたため、android.intent.categoryはandroid.intent.phoneに変更されました。
ケニーダビリ2017年

4

私の場合、この問題を本当に修正したこのブログを見つけました。ある種の意図を追加する必要があることがわかりました:

<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


4

上記のすべての答えは私を助けませんでした。これを削除してみてください

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

あなたのAndroidManifestで。次に:

File > Sync Project with Gradle Files

私はそれがSyncing Project With Gradle Filesワインとしてうまく機能することを理解しました。ちなみに私のエラーはどこからともなく発生しました。
ホームラン

4

私の場合、「activity」という名前のメンバー変数をリファクタリングし、名前を「context」に変更しました...リファクタリングがマニフェストのアクティビティタグに対して行われたことがわかりました。代わりに、コンテキストタグを見つけました...これはAndroid Studioから本当にバカです!


2
これはAndroidスタジオのバグです。あなたは正しい@tere bentikh
mayank_droid

3

Android Studio 3.3 Canary 3でも同じ問題が発生します。AndroidStudio 3.0 stabileバージョンのプロジェクトは最初に正しく機能しますが、一部のクリーンアップ/再構築の後に、デフォルトのアクティビティがないというエラーが表示されます。このアルファ版のAndroid Studioを再インストールしようとしました。もう一度エラーが発生しました。しかし、それから古い安定したAndroidで起動し、apkインストールを使用すると、このapkは正しく動作します。

さらに、私のプロジェクトはInstant App(base、feature、instant、appサブディレクトリ)で作成されました。このAndroid Studioには、この複数のディレクトリに分離されたManifest.xmlファイルに問題があると思います。

だから私はこれを設定に変更しました: ここに画像の説明を入力してください


3

Android Studio以来3.5 or 3.6、私はを取得し始めて、Default Activity not foundInvalidating Caches & Restartプロジェクトの再構築などに飽きてきました。

それは、判明私は、マルチモジュールとマニフェストを扱う方法が誤っていました。デフォルトのアクティビティのマニフェストはライブラリモジュールのみにありましたが、両方のアプリモジュールにあるはずです。

想定 librarymodule appmodule1 appmodule2

  1. マニフェストHomeActivityから削除してくださいlibrarymodule
  2. 追加:
class AppModuleActivity1 : HomeActivity() to appmodule1
class AppModuleActivity2 : HomeActivity() to appmodule2
  1. appmodule1マニフェスト内のapplicationタグ、私が追加しました:
        <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. ほぼ同じですappmodule2が、命名の2を1に変更します。

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

わたしにはできる。プロジェクトを再ビルドして、プロジェクトにエラーがないことを確認します。次に、キャッシュを無効化できます。


2

エラー:デフォルトのアクティビティが見つかりません

私はこのように解決しました。
実行>>構成の編集>> Androidアプリケーション>>「起動」編集ボックスにデフォルトのアクティビティクラスのパスを入力します。


2

Android Studio 2.1.2でこのエラーに直面しました。MAIN / LAUNCHERインテントフィルターをフレーバーマニフェストのデフォルトアクティビティに追加することで解決しましたが、フィルターは既にデフォルトマニフェストのデフォルトアクティビティにありました。マージされたマニフェストにさえありましたが、両方のマニフェストでフィルターを複製するまで、スタジオはそれを見つけることができません。


2

私の経験:IDEAがJavaファイルを識別していない場合は、すべてのJavaファイルが識別されていることを確認してください。したがって、彼は「アクティビティ」の意味を理解できません。

幸運を :)

ここに画像の説明を入力してください


2

まあ、私もこのエラーが発生しました、

エラー:デフォルトのアクティビティが見つかりません

私の場合、それは摩耗モジュールのためのものでした。私はそこにアクティビティは必要ないので、私がすることは単に

  1. 編集設定->ウェア->起動オプション->起動->なしに移動します。
  2. 変更を適用します。[OK]をクリックします。
  3. マニフェストファイルからデフォルトアクティビティの既存のコードを削除します。

注:プロジェクトのクリーンアップとGradleファイルの同期を忘れないでください。


2

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>

この答えを詳しく説明してもらえますか?コードのブロックだけではあまり役に立ちません
Azsgy 2018年

2

内部キャッシュとプロジェクト構築システムによるAndroid Studioの誤動作が原因で、このエラーが発生することがあります。デフォルトのアクティビティに最適なものをすべて設定しました。そのような問題について、私は解決策を見つけました、そしてそれは私のために働いています。

ステップ1. Android Studio ---> File-> Invalid Cache and closed android studio。

ステップ2。パスC:\ Users \ USER.AndroidStudio3.2 \ systemに移動します

ステップ3.以下のフォルダーの拡張子.backで名前を変更します例:コンパイラーはcompiler.backである必要があります

  • コンパイラ
  • コンパイラサーバー
  • 変換
  • 外部ビルドシステム
  • フレームワーク
  • グラドル
  • resource_folder_cache

ステップ4: Android Studioを起動してプロジェクトを開きます。

うまくいくと思います。


1
これは私にとってうまくいった唯一の答えでしたが、ここで説明されているプロセスに加えて、「system / caches」フォルダーの内容を削除する必要があります。そうしないと、プロセスを完了してAndroid Studioを再起動した後で初めて機能しますその後、同じことが発生し、デフォルトのアクティビティが見つかりませんでした。
ジェラード

私のために働いた唯一のオプション。これは、コンピューターをハードリセットした後に発生しました。もう1つのオプションは、android studioを再インストールすることでしたが、幸いにも、指定したフォルダーをクリアするだけで十分です。
RJFares

2

Gradleファイルとプロジェクトの同期は時々機能します。この全体的な問題を修正するには、

  1. Android Studioを終了する
  2. USER-> AndroidStudio-> system-> cachesに移動します
  3. そのフォルダを削除
  4. Android Studioを起動します。

ファイルのインデックスが再作成され、機能するはずです

同様の質問からのkirtan403に感謝します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.