web-dev-qa-db-ja.com

Android St​​udioにデフォルトのアクティビティが見つかりません

ちょうどAndroid St​​udio 0.2.8にアップグレードしましたが、実行構成を編集しようとすると「デフォルトのアクティビティが見つかりません」というエラーが表示されます。

Android St​​udioを起動すると、「イベントディスパッチスレッドからのみアクセスが許可されます」というエラーが表示されます

私が使用しているアクティビティはフラグメントアクティビティです。

これまでのところ、キャッシュの再構築と無効化/再起動を試みました。両方とも役に立たなかった。

問題を解決するためにできることを教えてください。

Android St​​udioで、プロジェクトを右クリックし、Open Module Settingsを選択します。次に、モジュールのSourcesタブに移動し、srcフォルダーを右クリックして、Sourcesとしてマークします(青色)。

EDIT:Android St​​udioの以降のバージョンには[ソース]タブはありませんが、build.gradle代わりにファイル: https://stackoverflow.com/a/22028681/11017 (コメントありがとうございますジョシュ)

38
Micer

ACTION_MAINインテントフィルターをメインアクティビティに追加しましたか?これを追加しないと、Androidはメインアクティビティとして起動するアクティビティを認識しません。

例:

<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>
48
Anup Cowkur

プロジェクトをAndroid St​​udioにインポートするときに同じ問題が発生しました。おそらく、現在コンピューターにインストールされているAndroid St​​udioの以前のバージョンでプロジェクトが開発されたことが原因です。

それを解決したのは単に選択することでした:

File -> Invalidate Caches / Restart...

そしてInvalidate and Restartを選択します。

26
syntagma

タブがなく、空のアクティビティから始めた場合は、これを試してください。以下にサンプルコードの例を示します。

<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>部分の後。)これが役に立てば幸いです。

15
Sedrick

実行後でも実行構成を編集しようとしたときに、「デフォルトのアクティビティが見つかりません」というエラーが引き続き表示される場合:

キャッシュを無効にして再起動

次に、Settings/Preferencesフォルダーを削除してみてください。

/< USER_HOME_DIR >/.AndroidStudioPreview3.2

またはMacの場合:

/Users/<USER_NAME>/Library/Preferences/.AndroidStudioPreview3.2
9
Phileo99

[モジュール設定を開く]をクリックしたとき[ソース]タブはありませんでした。Android Studioの新しいバージョンでは削除されたためだと思います(0.8を使用しています。 14)。だから私は代わりにこれをしなければなりませんでした:

これらの行をbuild.gradleブロック内のAndroid { ... }ファイルに追加します:

Android { ... sourceSets { main.Java.srcDirs += 'src/main/<YOUR DIRECTORY>' } }

ファイルを編集した後、 [ツール]> Android>プロジェクトをGradleファイルと同期をクリックします。

this answer および this comment に感謝します。

9
Josh

次は私のためのトリックをしました。 FromRun-> Edit Configuration.

enter image description here

6
CoDe

Android St​​udio 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>

マニフェストでランチャーアクティビティの形式を2回、3回、4回確認してください。時間を節約できる場合があります。

お役に立てれば。

編集:モジュールの設定オプション内でランチャーアクティビティを手動で選択することを示唆する答えを持たないことを強くお勧めします。これにより、Samsung Galaxy S5の両方にインストールされているアプリのリストにアプリケーションが表示されなくなりましたNeoとSamsung Galaxy S6(少なくとも私にとっては)。

2
Teun Kooijman

パッケージ名がメインアクティビティと同じであることをマニフェストで確認してください

1
U three

今日同じ問題にぶつかり、ここで答えを探していました。

私にとっての違いは、昨日は正常に機能したため、実際には構成の問題ではなく、構成もAndroid St​​udioのバージョンも変更されないことでした。

幸いなことに、他の回答を試す前にAndroid St​​udioを再起動してみましたが、幸いなことに問題は解決しました。

したがって、これに遭遇したすべての人々にとって:最初に試すことはAndroid St​​udioを再起動することであり、それが問題を解決しない場合にのみ、他の回答をここで試してください。

1
Alexander Köb
  1. Android St​​udioでプロジェクトパースペクティブに切り替えます(Androidパースペクティブではありません)。

  2. プロジェクトがgradleプラグインのデフォルト構造に従っていることを確認してください(つまりproject_dir/app/src/main/Java ...

  3. 表示されるすべてのbuildフォルダーとサブフォルダーを削除します。

  4. ツールバーでBuild-> Clean Projectをクリックしてから、Build-> Rebuild Projectをクリックします。

  5. プロジェクトを実行してみてください。

1
IgorGanapolsky

これは、マニフェストのパスを大文字にしたために起こりました。かわった:

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

そしてそれは修正されました

1
dabluck
  1. プロジェクトを右クリックして、「モジュール設定を開く」を選択します。
  2. モジュールの[ソース]タブに移動します。
  3. Srcフォルダーを見つけます。
  4. それを右クリックして、ソースとしてマークします。

これは私の場合のエラーを解決しました。

0
ConquerAndroid

あなたが取ることができる2つのステップがあります:

  1. 構成に移動し、起動するアクティビティの名前を入力します
  2. それでも動作しない場合Disable Instant Run
0
Harish Rana

「ソース」タブを見つけるのに苦労していた私のような人のために:

enter image description here

ここでは、「src」フォルダを青でマークする必要があります(最初にをクリックしてマークします:Source)、次にsrcfolder)、そして準備ができました。

[構成の編集]メニュー([Shift]を3回タップし、[構成の編集]を入力)に移動して文句を言わないAndroid St​​udioを取得し、[起動オプション]> [起動]を[なし]に変更します。

混乱を避けるために、おそらく指示を含む一般的なアクティビティを追加します。

0
Sayali

私はすべてのソリューションを試しましたが、まったく機能していません。 Androidスタジオでインスタントランを無効にしようとしたよりも。

Android St​​udioに移動設定または設定(MACの場合)-> ビルド、実行、展開-> 即時実行

インスタント実行機能のチェックを外し、クリック後gradleファイルとプロジェクトを同期ファイルメニューから

ビルドを実行します...

0
Mayur Sakhiya

たとえば、com.dir.sampleなどのディレクトリ名(クラス構造)をcom.dir.sample1に変更した場合は、パッケージcom.dir.sampleをcom.dir.sample1に変更することを忘れないでください。

0
Zafer

「Workspace.xml」を変更します(Ctrl + Shift + Rを押して検索します)

  1. プロジェクトをリロードする

  2. Reload the project

Done!

0
user582645