ちょうどAndroid Studio 0.2.8にアップグレードしましたが、実行構成を編集しようとすると「デフォルトのアクティビティが見つかりません」というエラーが表示されます。
Android Studioを起動すると、「イベントディスパッチスレッドからのみアクセスが許可されます」というエラーが表示されます
私が使用しているアクティビティはフラグメントアクティビティです。
これまでのところ、キャッシュの再構築と無効化/再起動を試みました。両方とも役に立たなかった。
問題を解決するためにできることを教えてください。
Android Studioで、プロジェクトを右クリックし、Open Module Settingsを選択します。次に、モジュールのSourcesタブに移動し、srcフォルダーを右クリックして、Sourcesとしてマークします(青色)。
EDIT:Android Studioの以降のバージョンには[ソース]タブはありませんが、build.gradle代わりにファイル: https://stackoverflow.com/a/22028681/11017 (コメントありがとうございますジョシュ)
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>
プロジェクトをAndroid Studioにインポートするときに同じ問題が発生しました。おそらく、現在コンピューターにインストールされているAndroid Studioの以前のバージョンでプロジェクトが開発されたことが原因です。
それを解決したのは単に選択することでした:
File -> Invalidate Caches / Restart...
そしてInvalidate and Restart
を選択します。
タブがなく、空のアクティビティから始めた場合は、これを試してください。以下にサンプルコードの例を示します。
<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>部分の後。)これが役に立てば幸いです。
実行後でも実行構成を編集しようとしたときに、「デフォルトのアクティビティが見つかりません」というエラーが引き続き表示される場合:
キャッシュを無効にして再起動。
次に、Settings/Preferencesフォルダーを削除してみてください。
/< USER_HOME_DIR >/.AndroidStudioPreview3.2
またはMacの場合:
/Users/<USER_NAME>/Library/Preferences/.AndroidStudioPreview3.2
[モジュール設定を開く]をクリックしたとき[ソース]タブはありませんでした。Android Studioの新しいバージョンでは削除されたためだと思います(0.8を使用しています。 14)。だから私は代わりにこれをしなければなりませんでした:
これらの行をbuild.gradle
ブロック内のAndroid { ... }
ファイルに追加します:
Android { ... sourceSets { main.Java.srcDirs += 'src/main/<YOUR DIRECTORY>' } }
ファイルを編集した後、 [ツール]> Android>プロジェクトをGradleファイルと同期をクリックします。
this answer および this comment に感謝します。
Android Studio 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(少なくとも私にとっては)。
パッケージ名がメインアクティビティと同じであることをマニフェストで確認してください
今日同じ問題にぶつかり、ここで答えを探していました。
私にとっての違いは、昨日は正常に機能したため、実際には構成の問題ではなく、構成もAndroid Studioのバージョンも変更されないことでした。
幸いなことに、他の回答を試す前にAndroid Studioを再起動してみましたが、幸いなことに問題は解決しました。
したがって、これに遭遇したすべての人々にとって:最初に試すことはAndroid Studioを再起動することであり、それが問題を解決しない場合にのみ、他の回答をここで試してください。
Android Studioでプロジェクトパースペクティブに切り替えます(Androidパースペクティブではありません)。
プロジェクトがgradleプラグインのデフォルト構造に従っていることを確認してください(つまりproject_dir/app/src/main/Java ...)
表示されるすべてのbuildフォルダーとサブフォルダーを削除します。
ツールバーでBuild-> Clean Projectをクリックしてから、Build-> Rebuild Projectをクリックします。
プロジェクトを実行してみてください。
これは、マニフェストのパスを大文字にしたために起こりました。かわった:
<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>
そしてそれは修正されました
これは私の場合のエラーを解決しました。
あなたが取ることができる2つのステップがあります:
[構成の編集]メニュー([Shift]を3回タップし、[構成の編集]を入力)に移動して文句を言わないAndroid Studioを取得し、[起動オプション]> [起動]を[なし]に変更します。
混乱を避けるために、おそらく指示を含む一般的なアクティビティを追加します。
私はすべてのソリューションを試しましたが、まったく機能していません。 Androidスタジオでインスタントランを無効にしようとしたよりも。
Android Studioに移動設定または設定(MACの場合)-> ビルド、実行、展開-> 即時実行。
インスタント実行機能のチェックを外し、クリック後gradleファイルとプロジェクトを同期ファイルメニューから
ビルドを実行します...
たとえば、com.dir.sampleなどのディレクトリ名(クラス構造)をcom.dir.sample1に変更した場合は、パッケージcom.dir.sampleをcom.dir.sample1に変更することを忘れないでください。
「Workspace.xml」を変更します(Ctrl + Shift + Rを押して検索します)
プロジェクトをリロードする
Reload the project
Done!