Aktivitas Default tidak ditemukan di Android Studio

93

Saya baru saja memutakhirkan ke Android Studio 0.2.8 dan saya mendapatkan pesan kesalahan yang mengatakan "Aktivitas Default tidak ditemukan" ketika saya mencoba mengedit konfigurasi run.

Ketika saya meluncurkan Android Studio, saya mendapatkan kesalahan ini "Akses hanya diizinkan dari thread pengiriman acara"

Aktivitas yang saya gunakan adalah aktivitas fragmen.

Sejauh ini saya sudah mencoba membangun kembali dan membatalkan cache / restart. Keduanya tidak ada gunanya.

Beri tahu saya apa yang dapat saya lakukan untuk memperbaiki masalah tersebut.

Vipassana Vijayarangan
sumber
Kemungkinan duplikat Kesalahan: Aktivitas Default Tidak Ditemukan
Sky Kelsey

Jawaban:

45

Di Android Studio, klik kanan pada proyek dan pilih Open Module Settings . Lalu pergi ke tab Sources di modul Anda, cari folder src , klik kanan padanya dan tandai sebagai Sources (warna biru).

EDIT: Tidak ada tab sumber di versi Android Studio yang lebih baru, tetapi Anda dapat mengedit file build.gradle sebagai gantinya: https://stackoverflow.com/a/22028681/1101730 (terima kasih atas komentar Josh)

Micer
sumber
27
Bagaimana saya bisa melakukan ini di 0.6.1 ? Saya tidak melihat tab Sumber .
lschlessinger
7
aku juga tidak. Ada Properti, Penandatanganan, Rasa, Jenis Bangun dan Ketergantungan
Junior Mayhé
4
Saya tidak memiliki tab "Sumber", jadi saya mengedit file build.gradle sebagai gantinya: stackoverflow.com/a/22028681
Josh
2
Sempurna! Terima kasih telah membantu @Micer. Teman-teman, di proyek IntelliJ Anda tekan 'F4', lalu Anda memiliki tiga tab (Sumber, Jalur, Ketergantungan), buka tab 'Sumber' dan periksa apakah folder 'src' (di struktur pohon) berwarna biru. Jika tidak tekan 'Alt + S' untuk memasukkan folder sumber ke dalam Struktur Proyek.
Ryan Amaral
1
@IgorGanapolsky Anda benar, sepertinya tab Sumber telah dihapus di versi Android Studio yang lebih baru. Periksa jawaban Josh.
Micer
51

Sudahkah Anda menambahkan ACTION_MAINfilter maksud ke aktivitas utama Anda? Jika Anda tidak menambahkan ini, maka android tidak akan tahu aktivitas mana yang akan diluncurkan sebagai aktivitas utama.

ex:

<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>
Anup Cowkur
sumber
1
Ya, ini sudah selesai. Saya memperbaiki "Akses diizinkan dari thread pengiriman acara saja" dengan menggunakan oracle JDK, bukan openJDK. Aktivitas default yang hilang masih berlanjut
Vipassana Vijayarangan
5
Juga namanya "com.package.name.MyActivity"bisa dihilangkan jika semua <intent-filter>elemen berada di dalam <activity>elemen yang sesuai dengan MyActivity di namespace Anda.
Xavi Montero
Hah, saya mengganti nama kelas bernama Filtertermasuk semua variabel bernama filterdan ternyata Android Studio memutuskan untuk menyertakan AndroidManifest.xmldan <intent-*filter*>. Jawaban ini membuat saya memeriksa ulang saya AndroidManifest.xmldan membantu saya menemukan bug =)
Stephan Henningsen
Di mana ini bahkan didokumentasikan? Saya tidak dapat menemukannya…
mirabilos
32

Saya mengalami masalah yang sama saat mengimpor proyek ke Android Studio, mungkin disebabkan oleh fakta bahwa proyek tersebut telah dikembangkan pada versi Android Studio yang lebih lama daripada yang saat ini diinstal di komputer saya.

Yang menyelesaikannya hanyalah memilih:

File -> Invalidate Caches / Restart...

dan kemudian memilih Invalidate and Restart.

syntagma
sumber
1
Terima kasih banyak @syntagma, bimbingan Anda menyelesaikan masalah saya setelah berjam-jam berusaha.
MMG
16

Jika Anda tidak memiliki tab dan Anda memulai dengan aktivitas kosong, coba ini. Di bawah ini adalah contoh kode contoh:

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

Sekarang buka file AndroidManifest.xml Anda. Selanjutnya salin filter maksud dari kode ini. Lihat file manifes Anda benar-benar bagus dan tempelkan filter maksud di tempat yang tepat di kode di atas. (setelah .yourActivityName> bagian dari manifes.) Saya harap ini membantu.

Sedrick
sumber
13

Jika Anda masih mendapatkan pesan kesalahan yang mengatakan "Aktivitas Default tidak ditemukan" saat Anda mencoba mengedit konfigurasi proses bahkan setelah menjalankan:

Cache tidak valid dan Mulai Ulang .

Kemudian coba hapus folder Pengaturan / Preferensi:

/< USER_HOME_DIR >/.AndroidStudioPreview3.2

atau di Mac:

/Users/<USER_NAME>/Library/Preferences/.AndroidStudioPreview3.2
Phileo99
sumber
Jika Anda telah mengganti nama paket Anda atau Anda beralih cabang dari kontrol versi Anda, terkadang Android Studio tidak mengenali semua file dan mengacaukan banyak hal. Satu-satunya solusi yang berhasil bagi saya adalah menutup AS, lalu menghapus .AndroidStudioXY (XY adalah nomor versi Anda) yang ditunjukkan @ Phileo99.
Zbarcea Christian
1
Kau menyelamatkan hidupku! Lakukan saja ini / <USER_HOME_DIR> /.
AndroidStudioPreview3.2
sama-sama @nadafafif! tolong beri suara positif pada jawaban saya jika itu membantu Anda.
Phileo99
@ Phileo99 Sudah melakukan itu. Tidak bisa menahan diri untuk melakukannya. :) Bersulang. Tetap membantu seperti itu.
nadafafif
Itu membantu, tetapi ketahuilah bahwa Anda akan mengunduh banyak barang. Butuh waktu sekitar 15 menit untuk mengunduh
Valgaal
10

Ketika saya mengklik "Open Module Settings", tidak ada tab "Source" , saya rasa karena itu telah dihapus untuk versi Android Studio yang lebih baru (saya menggunakan 0.8.14). Jadi saya harus melakukan ini sebagai gantinya:

Tambahkan baris berikut ke build.gradlefile di dalam android { ... }blok:

android { ... sourceSets { main.java.srcDirs += 'src/main/<YOUR DIRECTORY>' } }

Setelah mengedit file, klik Tools> Android> Sync Project with Gradle Files .

Penghargaan untuk jawaban ini dan komentar ini .

Josh
sumber
9

Mengikuti triknya untuk saya. Dari Jalankan -> Edit Konfigurasi .

masukkan deskripsi gambar di sini

Kode
sumber
Saya akan menyarankan solusi ini karena menyebabkan aplikasi tidak lagi ditampilkan dalam daftar aplikasi yang tersedia di Samsung Galaxy S5 Neo dan Samsung Galaxy S6.
Teun Kooijman
3

Masalah saya adalah kesalahan tambahan yang terkadang muncul, yang menyatakan

Manifest Merger failed with multiple errors in Android Studio

Apa yang akhirnya menyebabkan masalah saya adalah kenyataan bahwa ada beberapa manifes (Manifes debug, dan manifes dalam modul baru yang baru saja saya impor), dan mereka tidak bergabung dengan benar karena hal ini. Setelah melihat jawaban ini , saya dapat menganalisis manifes gabungan dan menemukan penyebab masalah dan memperbaikinya.

ConcernedHobbit
sumber
2

ini terjadi pada saya karena saya memanfaatkan jalan dalam manifes. berubah:

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

untuk

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

dan itu sudah diperbaiki

dabluck
sumber
Anda menyelamatkan hari saya! Terima kasih
Siva Kumar
2

Saya mengalami masalah yang sama hari ini dan sedang mencari jawabannya di sini.

Bagi saya perbedaannya adalah kemarin itu berfungsi dengan baik, jadi saya pikir itu tidak bisa menjadi masalah konfigurasi, baik konfigurasi maupun Versi Android Studio tidak berubah.

Untungnya, saya mencoba memulai ulang Android Studio sebelum mencoba salah satu jawaban lain, dan untungnya itu menyelesaikan masalah.

Jadi untuk semua orang di luar sana yang mengalami ini: hal pertama yang harus dicoba adalah memulai ulang Android Studio dan hanya jika itu tidak menyelesaikan masalah, coba jawaban lain di sini.

Alexander Köb
sumber
2

Saya baru saja mengalami kesalahan yang sama di Android Studio 1.5.1. dan baru saja menemukan sumber masalahnya. Saya tidak yakin apakah penyebabnya adalah kesalahan manusia atau kesalahan aneh dalam perilaku IDE, tetapi tidak ada pertanyaan StackOverflow yang ada tentang subjek ini yang tampaknya menunjukkan sesuatu tentang hal ini, jadi saya pikir saya mempostingnya sebagai jawaban.

Bagi saya, salah satu anggota tim saya atau IDE itu sendiri, telah mengubah entri manifes aktivitas peluncur, menyebabkannya terlihat seperti ini:

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

Padahal seharusnya terlihat seperti ini:

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

Jadi, periksa dua kali, tiga kali lipat, empat kali lipat, periksa format aktivitas peluncur Anda di manifes dan Anda mungkin bisa menghemat waktu.

Semoga ini membantu.

EDIT: Saya sangat menyarankan orang untuk tidak menggunakan jawaban yang menyarankan untuk secara manual memilih aktivitas peluncur di dalam opsi konfigurasi modul Anda, karena ini menyebabkan aplikasi tidak lagi ditampilkan dalam daftar aplikasi yang diinstal pada kedua Samsung Galaxy S5 Neo dan Samsung Galaxy S6 (setidaknya untuk saya).

Teun Kooijman
sumber
2

masukkan deskripsi gambar di sini

Tekan app -> Edit Konfigurasi
Setelah itu ubah nilai di Luncurkan pada "Tidak Ada"

Valentin
sumber
1

Harap pastikan dalam manifes bahwa nama paket sama dengan aktivitas utama Anda

U tiga
sumber
1
  1. Di Android Studio, beralihlah ke perspektif Proyek (bukan perspektif Android).

  2. Pastikan project Anda mengikuti struktur default plugin gradle (yaitu project_dir / app / src / main / java ... )

  3. Hapus semua build folder dan subfolder yang Anda lihat.

  4. Di bilah alat klik Build -> Clean Project , lalu Build -> Rebuild Project .

  5. Cobalah untuk menjalankan proyek tersebut.

IgorGanapolsky
sumber
1

Anda bisa membuat Android Studio tidak mengeluh dengan membuka menu "Edit Konfigurasi" (ketuk "Shift" tiga kali, ketik "Edit Konfigurasi"), lalu ubah Opsi Peluncuran> Luncurkan ke "Tidak Ada".

Saya mungkin akan menambahkan aktivitas umum yang berisi instruksi, hanya untuk menghindari kebingungan.

Sayali
sumber
Ini menghemat waktu saya
Sayali
1

Dalam kasus saya, ini berfungsi ketika saya menghapus folder .idea dari proyek (Project / .ida) dan membuka kembali Android Studio lagi.

Yousef Gamal
sumber
Menghapus folder .idea membantu dalam kasus saya, Terima kasih! Untuk klarifikasi, semua file dengan ekstensi ".iml" berada di dalam folder .idea. Harap JANGAN menghapus file .iml saja karena ini dapat menyebabkan kesalahan lain!
Cordis Audax Agrinova
0
  1. Klik kanan pada proyek dan pilih Buka Pengaturan Modul.
  2. Buka tab Sumber di modul Anda.
  3. Temukan folder src Anda.
  4. Klik kanan padanya dan tandai sebagai Sumber.

Ini memecahkan kesalahan dalam kasus saya.

ConquerAndroid
sumber
0

Jika Anda mengganti nama direktori (struktur kelas) misalnya com.dir.sample menjadi com.dir.sample1, setelah itu jangan lupa untuk mengubah paket com.dir.sample menjadi com.dir.sample1.

Zafer
sumber
0

Ubah "Workspace.xml" (tekan Ctrl + Shft + R untuk mencarinya)

  1. Ubah nama aktivitas dengan nama paket

  2. Pastikan untuk mengubah "name =" USE_COMMAND_LINE "menjadi value =" false "

  3. Muat ulang proyek

Selesai!

pengguna582645
sumber
Saya akan mencari dengan Ctrl + Shft + F, + R = ganti di mana F = temukan.
Shishdem
0

Untuk orang-orang seperti saya yang kesulitan menemukan "tab Sumber":

masukkan deskripsi gambar di sini

Di sini Anda harus menandai folder "src" Anda dengan warna biru (klik pertama di Mark as: Source , lalu di folder src Anda ), dan Anda siap melakukannya.

Rocío García Luque
sumber
0

Ada dua langkah yang bisa Anda lakukan:

  1. Buka konfigurasi dan masukkan nama aktivitas yang akan diluncurkan
  2. Jika masih tidak berfungsi Nonaktifkan Instant Run
Harish Rana
sumber
0

Saya telah mencoba semua solusi, tetapi tidak berhasil sama sekali. daripada yang saya coba nonaktifkan Instant run di studio android saya.

Buka Pengaturan atau Preferensi Android Studio (untuk MAC) -> Build, Execution, Deployment -> Instant Run .

hapus centang pada fungsi Instant run dan kemudian klik sinkronkan proyek dengan file gradle dari menu file

sekarang jalankan build Anda ...

Mayur Sakhiya
sumber
Ini tidak lagi berlaku untuk Android Studio 4.0+
Jorge E. Hernández
0

Dalam beberapa kasus, Anda dapat memiliki model dengan beberapa categorybidang, jika Anda akan memfaktor ulangnya di semua tempat, itu mungkin memfaktor ulangnya dalam file manifes dan kemudian dan tag xml akan menjadi tidak valid.

Pavel Poley
sumber
0

Banyak kemungkinan bisa terjadi untuk kasus seperti ini (Default Activity not Found) Jika semua kode baik-baik saja, terutama pada Manifest, tinggal Invalidate Cache dan restart studio,

Namun terkadang hal itu terjadi ketika Anda memiliki deklarasi aktivitas duplikat pada manifes, tidak hanya untuk aktivitas Utama, tetapi juga dipicu oleh aktivitas anak.

Itu terjadi pada saya, Aktivitas default tidak ditemukan karena saya memiliki aktivitas anak duplikasi di manifes, setelah dihapus, semuanya baik-baik saja

masbayu
sumber
0

Periksa apakah ada tag duplikat di AndroidManifest.xmlfile Anda .

Devansh Maurya
sumber
0

Saya menemukan jawabannya. Saya salah menambahkan kata kunci terakhir dalam deklarasi aktivitas. Setelah saya menghapusnya, semuanya berfungsi!

public  class SplashActivity extends AppCompatActivity {
...
}
Asad35Waheed
sumber
-1
  1. Di Android Studio

  2. Pergi ke edit Konfigurasi.

  3. Pilih aplikasi.

  4. pilih jalur Aktivitas makan siang.

  5. terapkan, oke.

    Terima kasih!!

Mstack
sumber
-1

Nama Aktivitas default diubah (seperti SplashActivity -> SplashActivity1) dan berfungsi untuk saya

Mehmet Agah Balbay
sumber