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.


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)


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>

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.


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.


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

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 .


9

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

masukkan deskripsi gambar di sini


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.


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


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.


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


2

masukkan deskripsi gambar di sini

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


1

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


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.


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.


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.


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.


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.


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!


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.


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

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


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.


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



0

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

public  class SplashActivity extends AppCompatActivity {
...
}

-1
  1. Di Android Studio

  2. Pergi ke edit Konfigurasi.

  3. Pilih aplikasi.

  4. pilih jalur Aktivitas makan siang.

  5. terapkan, oke.

    Terima kasih!!


-1

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.