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.
android
android-studio
android-fragmentactivity
Vipassana Vijayarangan
sumber
sumber
Jawaban:
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)
sumber
Sudahkah Anda menambahkan
ACTION_MAIN
filter 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>
sumber
"com.package.name.MyActivity"
bisa dihilangkan jika semua<intent-filter>
elemen berada di dalam<activity>
elemen yang sesuai dengan MyActivity di namespace Anda.Filter
termasuk semua variabel bernamafilter
dan ternyata Android Studio memutuskan untuk menyertakanAndroidManifest.xml
dan<intent-*filter*>
. Jawaban ini membuat saya memeriksa ulang sayaAndroidManifest.xml
dan membantu saya menemukan bug =)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
.sumber
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.
sumber
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
sumber
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.gradle
file di dalamandroid { ... }
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 .
sumber
Mengikuti triknya untuk saya. Dari Jalankan -> Edit Konfigurasi .
sumber
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.
sumber
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
sumber
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.
sumber
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).
sumber
Tekan app -> Edit Konfigurasi
Setelah itu ubah nilai di Luncurkan pada "Tidak Ada"
sumber
Harap pastikan dalam manifes bahwa nama paket sama dengan aktivitas utama Anda
sumber
Di Android Studio, beralihlah ke perspektif Proyek (bukan perspektif Android).
Pastikan project Anda mengikuti struktur default plugin gradle (yaitu project_dir / app / src / main / java ... )
Hapus semua build folder dan subfolder yang Anda lihat.
Di bilah alat klik Build -> Clean Project , lalu Build -> Rebuild Project .
Cobalah untuk menjalankan proyek tersebut.
sumber
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.
sumber
Dalam kasus saya, ini berfungsi ketika saya menghapus folder .idea dari proyek (Project / .ida) dan membuka kembali Android Studio lagi.
sumber
Ini memecahkan kesalahan dalam kasus saya.
sumber
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.
sumber
Ubah "Workspace.xml" (tekan Ctrl + Shft + R untuk mencarinya)
Ubah nama aktivitas dengan nama paket
Pastikan untuk mengubah "name =" USE_COMMAND_LINE "menjadi value =" false "
Muat ulang proyek
Selesai!
sumber
Untuk orang-orang seperti saya yang kesulitan menemukan "tab Sumber":
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.
sumber
Ada dua langkah yang bisa Anda lakukan:
sumber
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 ...
sumber
Dalam beberapa kasus, Anda dapat memiliki model dengan beberapa
category
bidang, jika Anda akan memfaktor ulangnya di semua tempat, itu mungkin memfaktor ulangnya dalam file manifes dan kemudian dan tag xml akan menjadi tidak valid.sumber
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
sumber
Periksa apakah ada tag duplikat di
AndroidManifest.xml
file Anda .sumber
Saya menemukan jawabannya. Saya salah menambahkan kata kunci terakhir dalam deklarasi aktivitas. Setelah saya menghapusnya, semuanya berfungsi!
public class SplashActivity extends AppCompatActivity { ... }
sumber
Di Android Studio
Pergi ke edit Konfigurasi.
Pilih aplikasi.
pilih jalur Aktivitas makan siang.
terapkan, oke.
Terima kasih!!
sumber
Nama Aktivitas default diubah (seperti SplashActivity -> SplashActivity1) dan berfungsi untuk saya
sumber