Android Studio yükseltmesinde "Varsayılan Etkinlik Bulunamadı"


465

IntelliJ Idea'yı 12.0.4'ten 12.10'a yükselttim.

Şimdi Android projemdeki tüm modüller hata veriyor:

Hata: Varsayılan Etkinlik Bulunamadı

12.0.4'e geri döndüm ve her şey tekrar çalışıyor.

Herhangi bir fikir? Bence eksik bir eklenti ile ilgili bir sorun olabilir. Eklenti yüklü olmadığından, varsayılan etkinliği bulamıyor. Başka bir şey yerel bir yapılandırma olabilirdi, ama bundan şüpheliyim. Doğrulamak için yapılandırma klasörünü sildim ve bu hiçbir şeyi değiştirmedi.


3
Manifest'e baktın mı? belki anahtarlama sürümleri temizledi ya da bir şey? developer.android.com/guide/components/fundamentals.html
MaxOvrdrv

Hayır ... ama 12.0.4 ile çalışmayı başardım ama projeyi sıfırdan tekrar içe aktardım.
Saad Farooq

2
Manifest anahtar, muhtemelen bir ad hatası veya ihmal veya bir ad alanı sorunu
slezica

Projenin yedi modülünün tamamında 12.0.4 doğru çalışan ancak 12.10'da olmayan bir Manifest sorunu ??
Saad Farooq

Hayır, ancak bir ad alanında veya bir şey proje düzeninde bir değişiklik, örneğin, manifest ile senkronize olmayabilir
slezica

Yanıtlar:


890

Bu hatanın IntelliJ IDEA veya Android Studio sürümlerini yükselttikten veya yeni bir APK oluşturduktan sonra oluştuğunu görürseniz, IDE'nin önbelleğini yenilemeniz gerekebilir.

File -> Invalidate Caches / Restart...

2
Ayrıca burada bir hata dosyalamak için deneyebilirsiniz: youtrack.jetbrains.com/issues/IDEA Ben hataları I dosya ile takip çok iyi olduklarını bulabilirsiniz.
Sky Kelsey

Sanırım bu buydu ... Araştırmaya devam edeceğim ... Her platformda yeni bir proje olarak dizini tekrar açmak için zamanım yoktu.
Saad Farooq

Bendede aynı sorun var. Manifest dosyamda "MainActivity" sembolü çözülemiyor "hatası da alıyorum. Eclipse'den projeyi aldım.
Roberto

29
Bu benim için Android Studio'da çalıştı, ancak yeniden başlattıktan sonra Araçlar -> Android -> Projeyi Gradle Dosyaları ile Senkronize Etmek zorunda kaldım.
vaughandroid


303

IntelliJ'in yükseltmesinin neden bu soruna neden olabileceği hakkında yorum yapamıyorum çünkü kullanmıyorum.

Ancak, bu hata: "Varsayılan Etkinlik Bulunamadı", AndroidManifest.xml dosyasında, uygulama başlatıldığında başlatılacak olan ana etkinlik olarak işaretlenmiş bir etkinliğiniz olmadığını söylüyor gibi görünüyor.

Şuna benzeyen en az bir etkinliğiniz olmalıdır:

<activity
        android:name="com.your.package.name.YourActivity"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

Böyle bir niyet filtresine sahip en az bir etkinliğiniz yoksa, büyük olasılıkla buraya eklediğiniz hata mesajını görürsünüz.

Bu niyet filtresini, uygulamayı başlattığınızda açmak istediğiniz Etkinliğe eklemelisiniz ve bu da sorununuzu çözmelidir.


karınca iyi inşa ve IntelliJ 12.0.4
Saad Farooq

Uygulamam Eclipse'de başladım, evet varsayılan bir etkinliğim var. Uygulamamı Android stüdyosuna aktardım, bir güne kadar bildirim yöneticisi ve şeyler ekleyene kadar, bu hatayla karşılaştığımda iyi oldu. File-> Inachidate cach-> Restart ı ve bunu düzelttim. Ancak hata, belirttiğiniz gibi varsayılan etkinlik eksikliğinden kaynaklanmadı.
The_Martian

Benim için de çalıştı! AMA NOT: lütfen "android.intent.xxx" küçük harflerle yazın - benim hatam Android Studio tamamlama büyük harfler önerdi (bu beni bir saat sürdü) :-(
Philipp P

22
Android için nispeten yeni olan ve Android Studio projenizi yeni bitirmiş olanlar için aradığınız cevap budur. Kabul edilen cevap, bir yükseltme sizin için bir şeyleri mahvettiği zamandır.
Tom Kidd

3
Bunu ayarladım ve projem zaten birçok kez çalışıyor ve aniden yanlış gidiyor. Nerede yanlış olduğunu bilmiyorum. Belki de potansiyel bir AS hatasıdır.
Licat Julius

81

Uygulamanızın başlatma etkinliği varsayılanı var mı?

muhtemelen bu senin hatan olabilir

resim açıklamasını buraya girin

1. Adım : Yapılandırmaları Düzenle'yi seçin

resim açıklamasını buraya girin

2.Adım : Bu uyarıyı izleyin: Varsayılan Etkinlik bulunamadı resim açıklamasını buraya girin

3.Adım : Varsayılan bir etkinlik seçin resim açıklamasını buraya girin

resim açıklamasını buraya girin

3. Adım : Değişikliklerinizi kaydedin ve tamamlayın

resim açıklamasını buraya girin

İyi şanslar

resim açıklamasını buraya girin


İyi cevap! Bu uygulamada herhangi bir etkinlik yoksa yardımcı olur. (sadece hizmet). "aktiviteyi" "aktiviteyi başlatmayın" olarak değiştirmeniz gerekir
Udi Reshef

Bu, etkinliği olmayan uygulamalar için çalışan tek yanıttır. Teşekkür ederim.
Sephiron

Bu benim için çalıştı! Aslında Manifest'te Varsayılan Etkinliğim vardı, ancak Android Studio bunu bir nedenden dolayı bulamadı.
Ekim'de

2
Ben yukarıda belirtilen adımları izledim ama şimdi "MainActivity 'etkinliği AndroidManifest.xml'de bildirilmedi" diyor, ancak MainActivity orada
Far

Bu cevabı takip etmek kolaydı. Ayrıca @Udi Reshef teşekkür
Yorum Bishwas Mishra

66

Bunu yapmanın doğru yolu Manifest dosyasına aşağıdakileri eklemektir:

<activity
    android:name="FULL_NAME_OF_YOUR_ACTIVITY"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

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

Bu aşağıdakiler arasına eklenmelidir:

<application> </application>

Önbellekleri geçersiz kılmaya gerek yok.


Benim için de çalıştı! AMA NOT: lütfen "android.intent.xxx" küçük harflerle yazın - benim hatam Android Studio tamamlama büyük harfler önerdi (bu beni bir saat sürdü) :-(
Philipp P

İyi bir nokta: "Bu, <uygulama> </application> arasına eklenmelidir". Bu benim sorunumdu. Çok teşekkürler.
Dennis Mathew

Kodlarınızı yeniden düzenlerken çok dikkatli olun. kendi durumumda, yanlışlıkla 'kategori' ifadesini 'telefon' olarak değiştirdim, bu nedenle android.intent.category android.intent.phone olarak değiştirildi.
Kenny Dabiri

Android Studio'nun proje oluşturma sihirbazını kullandım ve yine de bunu manuel olarak yapmak zorunda kaldım. Bunun bir hata olduğunu düşündüğüm için yanlış mıyım?
pdoherty926

46

Bir widget uygulaması üzerinde çalışıyorsanız, bu çözüm sizin için çalışmalıdır:

  1. Adresine git Edit Configuration
  2. Set Launch Optioniçinnothing

1
Harikasın!
Rahul Singh

1
sadece bu benim için çalışıyor !!
Malith Ileperuma

44

Projeye sağ tıklayın ve Modül Ayarlarını Aç'ı seçin . Ardından , modülünüzdeki Kaynaklar sekmesine gidin , src klasörünü bulun , sağ tıklayın ve Kaynaklar (mavi renk) olarak işaretleyin .

EDIT: Android Studio'nun sonraki sürümlerinde kaynak sekmesi yoktur, ancak bunun yerine build.gradle dosyasını düzenleyebilirsiniz : https://stackoverflow.com/a/22028681/1101730


Bu bana yardımcı oldu, intellij'in Kaynaklar sekmesindeki src'den çok fazla kaynak dosyası bıraktığını fark ettim. Paketimi projeden çıkardım ve tekrar içeri girdim. Sorunumu çözdü
Jesse Black

2
Bu tür bir şey yaptım, ancak src klasörünü sağ tıklatıp "Dizin Olarak İşaretle ..." ve ardından "Kaynaklar Kökü" ne gittim. - Android Studio 0.8.6
elliptic1

1
Bir cazibe gibi çalışır, Mevcut kök kaldırıldı ve src ve
gen'in

1
Modül ayarlarına erişmenin hızlı bir yolu proje navigatörüne tıklayıp F4'e
basmaktır

3
artık Açık Modül Ayarlarında Kaynaklar sekmesi olmadığından bu kullanımdan kaldırılmıştır .
Buddy

23

Android Studio'da Çalıştırma / Hata Ayıklama Yapılandırması -> Android Uygulaması -> Genel -> Etkinlik -> altında "Etkinliği başlatma" seçeneğini seçin.


3
Proje bir hizmet olduğunda veya başka bir nedenden ötürü varsayılan bir etkinliği olmadığında çözüm budur.
Aharon Manne

2
Android Studio 2.2.3'te; Çalıştır / Hata Ayıkla Yapılandırma -> Android Uygulaması -> myApp -> Genel -> Başlatma Seçenekleri -> Başlat: Hiçbir şey
liteflier

21

Yukarıdaki hiçbir şey bana yardımcı olmadı. Bir süre sonra IDEA'nın eylem adlarını büyük harfe çevirdiğini gördüm. Sevmek:

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

Normale döndükten sonra, IDEA varsayılan etkinliği tanır:

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

19

Öncelikle manifest'e varsayılan etkinliği eklediğinizden emin olun.

Misal:

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

Her şeyi denediyseniz ve hiçbir şey işe yaramazsa

  • % Home% \. Gradle \ cache'lerinizden önbelleği silin ve projeyi tekrar senkronize edin.

Veya bu cevabı kontrol et

https://stackoverflow.com/a/53476487/5507705


1
Android Studio 3.2.1: Dosya -> Projeyi Gradle Dosyaları ile Senkronize Et ::: Önbelleği geçersiz kıldıktan ve sorun giderilmeden önce yeniden başlattıktan sonra bunu yapmak zorunda kaldım.
Kreebog

1
Bu benim için çalıştı. Bunun neden olduğuna inandığım, ana faaliyetimi kökten aşağı doğru farklı bir dizine taşımaktı.
Shn_Android_Dev

12

Benim durumumda File -> Invalidate Caches / Restart...yardım etmedi

Projemde her şey yolundaydı ve tabii ki aktivitem için bir sonraki niyet filtresi vardı

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

Bana gerçekten yardımcı olan şey Android / Gradle önbellek klasörlerini silmektir (10-30 GB'a kadar büyüyebilirler)

C:\Users\YOUR_USER_WINDOWS_NAMESonraki klasörlere git ve sil

  • .android
  • .AndroidStudio3.2
  • .gradle

(isterseniz bazı Android yapılandırmalarını .AndroidStudio3.2silmeden önce kaydedebilirsiniz )

CLEAR_CACHE.cmdGeri Dönüşüm Kutusu olmadan klasörleri silmek için böyle bir bat dosyası oluşturabilirsiniz

rmdir /S /Q .android
rmdir /S /Q .AndroidStudio3.2
rmdir /S /Q .gradle

çok daha hızlı çalışır ve Geri Dönüşüm Kutusu'ndan da silmenize gerek yoktur

ps CLEAR_CACHE.cmdiçine koymakC:\Users\YOUR_USER_WINDOWS_NAME

Android Studio klasörünü silmek ve tekrar indirmek de iyi bir fikirdir


11

Bu yöntem benim için çalışıyor Uygulama simgesini tıklayın ve ardından yapılandırmaları düzenle'yi seçin. Düzenleme yapılandırmasında, varsayılan etkinlik yerine belirtilen etkinliği seçin. Ardından, aşağıdaki etkinliğin yolunu belirtin.

Uygulamayı tıklayın ve yapılandırmayı düzenleyin

Belirtilen etkinliği ve dizini seçin

Sonunda gradle dosyalarıyla senkronize edin.


8

Amaç filtremi olarak değiştirdim

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

DEFAULT seçeneğini de eklemeniz yeterlidir. Ben kullanıyordum Süreç Phoenix kütüphane ve bir varsayılan niyet tanımlamak için istenir. Bu ekleme sorunumu çözdü.


7

Bu hatayı aldım.

Ve başlatıcı etkinliğindeki manifest dosyaya koymadım actionve categoryfiltre koymadım.

Yanlış olan:

<activity
android:name=".VideoAdStarter"
android:label="@string/app_name">

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

</activity>

Sağdaki:

<activity
android:name=".VideoAdStarter"
android:label="@string/app_name">

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

</activity>

7

Android Studio'dan çıkın.

Yola git C:\Users\YOUR_WINDOW_USER_NAME\.AndroidStudio3.3\system

/ Caches klasörünü ve / tmp klasörünü kaldır


6

@TouchBoarder neredeyse vardı. "Etkinliği başlatma" seçeneğinin seçilmesi, hiçbir şeyin başlatılmasına neden olmaz.

Android Studio'da Çalıştır / Hata Ayıklama Yapılandırması -> Android Uygulaması -> Genel -> Etkinlik -> altında "Başlat:" seçeneğini belirleyin

Etkinliğinizi seçin. Bu , amaçlanan davranışı tam olarak düzeltmez , aksine doğru bir şekilde geçersiz kılar.

Çalıştırma / hata ayıklama yapılandırmalarını düzenleme ve başlatma etkinliğini belirtme


4

Uygulamanızın bir Etkinliği yoksa (yalnızca bir hizmet), çalıştırma / hata ayıklama yapılandırması 'Başlat' seçeneğini Hiçbir şey olarak değiştirin.


4

Bunu kodumda buldum:

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

Çok dikkatli bakarsanız, bunun <activity android:name=".MainActivity">yerine olmalı .

Görünüşe göre, bir yerlerde bir "etkinliği" yeniden düzenledim ve AndroidManifest'te de isimleri değiştirdi.


benim durumumda FilterClasses yeniden adlandırılması <intent-filterList> etiketleri yol açtı :)
Emanuel

2
Kodlarınızı yeniden düzenlerken çok dikkatli olun. kendi durumumda, yanlışlıkla 'kategori' ifadesini 'telefon' olarak değiştirdim, bu nedenle android.intent.category android.intent.phone olarak değiştirildi.
Kenny Dabiri


4

Yukarıdaki tüm cevaplar bana yardımcı olmadı. Bunu kaldırmayı deneyin

<?xml version="1.0" encoding="utf-8"?>

AndroidManifest'inizde. Sonra:

File > Sync Project with Gradle Files

Ben sadece Syncing Project With Gradle Filesşarap olarak iyi çalıştı anladım . Bu arada hatam hiçbir yerden oluşmadı.
homerun

4

Benim durumumda "etkinlik" adlı bir üye değişkeni yeniden düzenledi, ben bunu "bağlam" olarak yeniden adlandırdım ... Refactor manifest faaliyet etiketleri için yapıldığını öğrendim ve bunun yerine onları bağlam etiketleri bulundu ... Bu Android Studio'dan gerçekten aptalca!


2
Bu Android stüdyosundan bir hata, haklısın @tere bentikh
mayank_droid

3

Ben Android Studio 3.3 Canary 3 aynı sorunu var. Android Studio 3.0 kararlı sürümü proje ilk önce düzgün çalışır, bazı temizler / yeniden inşa sonra Varsayılan Etkinlik hatası göstermeye başlar. Android Studio'nun bu alfa sürümünü yeniden yüklemeye çalıştım: hata. Ama sonra eski kararlı Android'de başladı ve apk yüklemesini kullanarak ve bu apk düzgün çalışıyor.

Ayrıca projem Instant App (temel, özellik, anlık, uygulama alt dizinleri) ile oluşturuldu. Bu Android Studio'nun bu çoklu dizinlere ayrılmış Manifest.xml dosyalarıyla bazı sorunları olduğunu düşünüyorum.

Bu yüzden ayarlarda bunu değiştirdim: resim açıklamasını buraya girin


3

Android Studio'dan beri 3.5 or 3.6almaya başladım Default Activity not foundve bıktımInvalidating Caches & Restart projeyi , projeyi yeniden inşa vs.

Anlaşıldı, çoklu modülleri ve tezahürleri işleme biçimim yanlıştı. Yalnızca varsayılan modülün kütüphane modülünde Manifest'i vardı, ancak her iki uygulama modülünde de olmalıydı.

varsayarsak librarymodule appmodule1 appmodule2

  1. Kaldır HomeActivitydan librarymoduleolursa olsun Manifest.
  2. Ekle:
class AppModuleActivity1 : HomeActivity() to appmodule1
class AppModuleActivity2 : HomeActivity() to appmodule2
  1. To appmodule1Manifest içi applicationetiketi, ben ekledi:
        <activity
            android:name="com.app.name.AppModuleActivity1">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
  1. Aynı hakkında appmodule2ama adlandırma 1 için 2 değiştirin.

2
  1. Build -> Rebuild Project
  2. File -> Invalidate Caches.. -> Invalidate and restart

Benim için çalışıyor. Projede hiçbir hata olmadığından emin olmak için projeyi yeniden oluşturun. Sonra önbelleği geçersiz kılabiliriz.


2

Hata: Varsayılan Etkinlik Bulunamadı

Bu şekilde
çözdüm Çalıştır >> Yapılandırmayı Düzenle >> Android Uygulaması >> Varsayılan aktivite sınıfınızın yolunu "Başlat" Düzenleme Kutusuna girin.


2

sadece android studio 2.1.2 bu hatayla karşılaştı. lezzet manifestinde varsayılan aktiviteye MAIN / LAUNCHER niyet filtresi ekleyerek çözüldü , ancak filtre zaten varsayılan manifestte varsayılan aktivitedeydi. Birleştirilmiş manifestte bile vardı, ancak her iki manifestte de filtre kopyalayana kadar studio bulamadı.


2

deneyimlerim: IDEA java dosyanızı tanımlamıyorsa tüm java dosyanızın kimliğinin belirtildiğinden emin olun, böylece "Etkinlik" in ne anlama geldiğini anlayamaz

iyi şanslar :)

resim açıklamasını buraya girin


2

Ben de bu hatayı aldım,

Hata: Varsayılan Etkinlik Bulunamadı

benim durumumda bu aşınma modülü için oldu .. Ben orada bir Faaliyet gerekmez bu yüzden ne yaptığım sadece

  1. yapılandırmaya git -> giy-> Başlat Seçenekleri-> Başlat-> Hiçbir şey.
  2. Değişiklikleri uygulayın.
  3. Varsayılan etkinlik için var olan kodu bildirim dosyanızdan kaldırın.

Not: Project'i Temizlemeyi ve Gradle Dosyalarını Eşitlemeyi unutmayın.


2

Androidmanifest.xml dosyasını düzenle

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.java2">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivityName">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

bu cevabı genişletebilir misin? Sadece bir kod bloğu çok yararlı değil
Azsgy

2

Bazen dahili önbellek ve proje oluşturma sistemi nedeniyle android stüdyo yanlış davranışı nedeniyle bu hata. Biz bile her şeyi varsayılan aktivite için mükemmel olarak ayarladık. Böyle bir sorun için bir çözüm buldum ve benim için çalışıyor.

Adım 1. Android Studio ---> Dosya -> Geçersiz Önbellek ve kapalı android stüdyo.

Adım 2. C: \ Users \ USER.AndroidStudio3.2 \ system yoluna gidin

Adım 3. Aşağıdaki klasörün uzantısı .back uzantısıyla adı değiştirin Örnek: compiler compiler.back olmalıdır

  • derleyici
  • derleyici-sunucu
  • dönüştürmek
  • Dış-build_system
  • iskelet
  • gradle
  • resource_folder_cache

4. Adım: Android stüdyosunu başlatın ve projenizi açın.

Umarım senin için çalışır.


1
Bu benim için işe yarayan tek yanıttı, ancak burada açıklanan işleme ek olarak, "sistem / önbellek" klasörünün içeriğini kaldırmanız gerekir, aksi takdirde işlemi ilk kez yaptıktan ve Android Studio'yu yeniden başlattıktan sonra çalışır, sonra aynı, Varsayılan Etkinlik Bulunamadı.
Gerrard

Benim için işe yarayan tek seçenek. Sabit bir bilgisayar sıfırlamasından sonra oldu, muhtemelen söylediğin gibi bazı dosyaları bozdu. Diğer seçenek android studio'yu yeniden yüklemekti, ancak neyse ki belirttiğiniz klasörleri temizlemek yeterlidir.
RJFares

2

Proje Gradle Files ile senkronize edilir bazen çalışır, Bu Genel sorunu düzeltmek için

  1. Android Studio'dan çıkın
  2. KULLANICI'ya gidin -> AndroidStudio -> sistem -> önbellekler
  3. Bu klasörü sil
  4. Android Studio'yu başlatın.

Dosyalarınızı yeniden endeksleyecek ve işe yarayacak

Benzer bir sorudan kirtan403'e teşekkürler .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.