programing

Android Studio 업그레이드 시 "기본 활동을 찾을 수 없음"

muds 2023. 7. 5. 21:06
반응형

Android Studio 업그레이드 시 "기본 활동을 찾을 수 없음"

IntelliJ IDEA를 12.0.4에서 12.10으로 업그레이드했습니다.

이제 Android 프로젝트의 모든 모듈에 다음 오류가 표시됩니다.

오류: 기본 활동을 찾을 수 없습니다.

12.0.4로 되돌리고 모든 것이 다시 작동합니다.

아이디어 있어요?플러그인 누락으로 인한 문제일 수 있습니다.플러그인이 설치되어 있지 않기 때문에 기본 작업을 찾을 수 없습니다.또 다른 것은 로컬 구성일 수도 있지만, 저는 의심스럽습니다.확인하기 위해 구성 폴더를 삭제했지만 변경된 내용은 없습니다.

IntelliJ IDEA 또는 Android Studio 버전을 업그레이드한 후 또는 새 APK 파일을 생성한 후 오류가 발생하는 경우 IDE의 캐시를 새로 고쳐야 할 수 있습니다.

메뉴 파일 → 캐시를 무효화하고 다시 시작...

저는 IntelliJ IDEA 업그레이드를 사용하지 않기 때문에 이 문제가 발생할 수 있는 이유에 대해 언급할 수 없습니다.

그러나 이 오류: "기본 활동을 찾을 수 없음"은 응용 프로그램이 시작될 때 시작되도록 기본 활동으로 표시된 AndroidManifest.xml 파일에 선언된 활동이 없음을 알려주는 것 같습니다.

다음과 같은 활동이 하나 이상 있어야 합니다.

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

이러한 의도 필터가 있는 활동이 하나 이상 없는 경우, 여기에 포함된 오류 메시지가 표시될 가능성이 높습니다.

응용프로그램을 시작할 때 열려고 하는 활동에 해당 의도 필터를 추가하여 문제를 해결해야 합니다.

추가내역

(Android Studio 4.1.2) 프로젝트가 EmptyApplication으로 생성된 경우 개발자가 Default Activity Not Found 오류를 방지하기 위해 다음 세 개의 파일을 수동으로 생성해야 합니다.

파일 AndroidManifest.xml

Enter image description here

파일 기본 활동.java

Enter image description here

파일 활동_main.xml

Enter image description here

앱에 기본 실행 활동이 있는 경우 이는 실수일 수 있습니다.

Enter image description here

1단계: 구성 편집 선택

Enter image description here

2단계: 이 경고를 확인하십시오. 기본 활동을 찾을 수 없습니다.

Enter image description here

3단계: 기본 활동 선택

Enter image description here

Enter image description here

3단계: 변경 내용 저장 후 완료

Enter image description here

행운을 빌어요

Enter image description here

위젯 앱에서 작업하는 경우 이 솔루션은 다음과 같이 유용합니다.

  1. 구성 편집으로 이동
  2. 시작 옵션을 없음으로 설정

올바른 방법은 다음을 매니페스트 파일에 추가하는 것입니다.

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

다음 사이에 삽입해야 합니다.

<application> </application>

캐시를 무효화할 필요가 없습니다.

프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Open Module Settings(모듈 설정 열기)를 선택합니다.그런 다음 모듈의 소스 탭으로 이동하여 src 폴더를 찾은 다음 마우스 오른쪽 단추로 클릭하여 소스(파란색)로 표시합니다.

이후 버전의 Android Studio에는 sources 탭이 없지만 대신 build.gradle 파일을 편집할 수 있습니다.Android Studio에서 연결된 소스 폴더를 추가하는 방법은 무엇입니까?

Android Studio 4.0에서 Launch를 Nothing으로 변경하십시오.

실행/디버깅 구성Android App일반실행 옵션 → 실행을 없음으로 설정합니다.

Enter image description here

Android Studio의 Run/Debug Configuration -> Android Application -> General -> Activity ->에서 "Do not launch Activity" 옵션을 선택합니다.

이전 답변에서 도움이 되지 않았습니다.시간이 흐른 후에 저는 IntelliJ IDEA가 액션 이름을 대문자로 바꾼 것을 발견했습니다.예:

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

정상으로 돌아온 후 IDEA는 기본 활동을 인식합니다.

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

먼저 매니페스트에 기본 활동이 포함되어 있는지 확인합니다.

예:

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

모든 것을 시도했지만 아무 것도 작동하지 않는 것 같으면 그때

  • %Home%\.gradle\caches에서 캐시를 삭제하고 프로젝트를 다시 동기화합니다.

또는 다음 답변을 확인합니다.

Android Studio에 잘못된 파일 내용이 표시됨

이 솔루션은 100% 작동합니다.

다음과 같은 정보가 표시됩니다.

Enter image description here

먼저 매니페스트를 열고 이게 있는지 확인하고,

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

없는 경우 추가

위와 같은 작업이 있지만 기본 작업을 찾을 수 없는 경우 다음 단계를 수행합니다.

  1. 구성 편집 클릭

    Enter image description here

  2. 구성 편집을 클릭하면 시작 옵션이 기본 활동에 설정되어 있는 것을 볼 수 있습니다.

    Enter image description here

  3. 로 변경합니다.

    enter image description here

문제가 해결되었습니다!

메모

매니페스트 파일의 루트에 패키지 이름을 입력하십시오.

        <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
        package="com.package.name">

내 경우 메뉴 File → Invalidate Cache / Restart...도움이 되지 않았습니다.

프로젝트에 문제가 없었고 당연히 활동에 대한 다음과 같은 의도 필터가 있었습니다.

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

Android/Gradle 캐시 폴더(최대 10-30GB까지 확장 가능)를 삭제하는 데 큰 도움이 되었습니다.

에 가다C:\Users\YOUR_USER_WINDOWS_NAME합니다.

  • .tg.
  • 안드로이드 스튜디오 3.2
  • .gradle

Android 은 에서 할 수 .).AndroidStudio3.2삭제하기 전에 필요한 경우 삭제합니다.)

이 방법은 저에게 효과가 있습니다.앱 아이콘을 클릭한 다음 구성 편집을 선택합니다.

편집 환경설정에서 기본 활동 대신 지정된 활동을 선택합니다.그런 다음 아래 활동 경로를 지정합니다.

Click on app and edit configuration

Choose the specified activity and the directory

결국 Gradle 파일과 동기화합니다.

Android Studio를 종료합니다.

경로 C로 이동합니다.\사용자\사용자_WINDOW_USER_NAME.Android Studio 3.3\system

/cachs 폴더와 /tmp 폴더를 제거합니다.

이 질문은 매니페스트와 관련된 수많은 문제에 대한 "랜딩 페이지"이기 때문에 기본 활동을 찾을 수 없으므로, 이 문제가 있는지 확인해야 할 또 다른 사항이 있습니다.

매니페스트를 열고 병합된 매니페스트 탭으로 전환합니다.

프로젝트의 모든 매니페스트를 하나로 병합하는 것과 관련된 문제가 발생할 수 있으며, 이로 인해 오류가 발생하여 "기본 작업을 찾을 수 없습니다"가 발생할 수 있습니다.문제는 이 Merged Manifest 탭 외에는 이 오류가 표시되지 않는다는 것입니다.

예: 프젝트서에서minSdkVersion 10build.gradle 파일의 구현 버전을 다운그레이드합니다.25.4.025.3.1이 문제를 해결합니다.

dependencies {
    implementation 'com.android.support:appcompat-v7:25.3.1'
    implementation 'com.android.support:design:25.3.1'
    implementation 'com.android.support:mediarouter-v7:25.3.1'

Merged Manifest

Intent-filter를 다음으로 변경했습니다.

<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 옵션도 추가하면 됩니다.Process Phoenix 라이브러리를 사용하던 중 기본 의도를 정의하라는 메시지가 표시되었습니다.이 추가는 제 문제를 해결했습니다.

PC가 예기치 않게 다시 시작된 후 이 문제가 발생했습니다.이상하게도, 저는 아무런 변경도 하지 않았고 여전히 이 오류가 발생했습니다.

위의 어떤 것도 나를 도와주지 않았습니다.제 문제를 해결한 것은 이것이었습니다.

1단계:

Enter image description here

2단계:

Enter image description here

3단계:

Enter image description here

이 방법으로 문제가 해결되지 않으면 다른 방법으로 시도해 보십시오.

시도 1:

메뉴 파일 → 캐시 무효화/다시 시작...

시도 2:

다음 두 줄이 맞는지 확인합니다.

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

파일 manifest.xml의 런처 활동 선언에 있습니다.

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

3번 시도:

  1. 그림과 같이 클릭합니다.

    Enter image description here

  2. 실행/디버깅 구성이 열립니다.

    Enter image description here

이 방법으로도 도움이 되지 않는 경우:

시도 4:

  1. 메뉴 파일 → ZIP으로 내보내기.

그리고.

  1. 새 프로젝트로 가져옵니다.

저는 이 오류를 받았습니다.

를 넣지 않은 것을 했습니다.action그리고.category인텐트 필터에 있습니다.

잘못된 것:

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

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

</activity>

올바른 것:

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

터치보더가 거의 다 먹었어요."활동 시작 안 함"을 선택해도 실행되지 않습니다.

Android Studio의 Run/Debug Configuration → Android Application → General → Activity → "Launch:" 옵션을 선택합니다.

활동을 선택합니다.이것은 의도된 동작을 정확하게 수정하는 것이 아니라 정확하게 재정의합니다.

Edit run/debug configurations and specify launch activity

이전의 모든 답변들이 저에게 도움이 되지 않았습니다.

제거 시도

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

Android Manifest에서 확인할 수 있습니다.

그런 다음 File → Sync Project with Gradle Files 메뉴를 선택합니다.

응용 프로그램에 활동이 없는 경우(예: 서비스만 해당) 실행/디버그 구성 '실행' 옵션을 없음으로 변경합니다.

내 코드에서 이걸 발견했습니다.

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

만약 당신이 매우 주의깊게 본다면, 그것은<activity android:name=".MainActivity">대신.

분명히, 저는 어딘가에서 "활동"을 리팩터링했고, 그것은 Android Manifest에서도 이름을 바꿨습니다.

저의 경우, "activity"라는 이름의 멤버 변수를 리팩터링했습니다.이름을 '상황'으로 바꿨습니다

리팩터가 매니페스트의 활동 태그에 만들어졌다는 것을 알게 되었고, 대신 컨텍스트 태그라는 것을 알게 되었습니다.이것은 안드로이드 스튜디오 쪽에서 보면 정말 바보 같습니다!

  1. 메뉴 빌드 → 프로젝트 재구성
  2. 메뉴 파일 → 캐시 무효화...무효화다시 시작

저한테는 효과가 있어요.

프로젝트를 다시 빌드하여 프로젝트에 오류가 없는지 확인합니다.그러면 캐시를 무효화할 수 있습니다.

안드로이드 스튜디오 3.3 카나리아 3에서도 같은 문제가 발생했습니다.

Android Studio 3.0 안정적인 버전의 프로젝트는 처음에는 올바르게 작동하지만 일부 정리/재구축 후에는 No Default Activity 오류가 표시되기 시작합니다.

나는 이 알파 버전의 Android Studio: 오류를 다시 설치하려고 했습니다.하지만 예전의 안정적인 Android에서 APK 설치를 사용하여 시작했고, 이 APK 파일은 올바르게 작동합니다.

또한 제 프로젝트는 인스턴트 앱(기본, 기능, 인스턴트 및 앱 하위 디렉터리)으로 만들어졌습니다.이 Android Studio는 Manifest.xml 파일을 여러 개의 디렉토리로 분리하는 데 문제가 있는 것 같습니다.

그래서 설정에서 다음과 같이 변경했습니다.

Enter image description here

프로젝트를 Gradle 파일과 동기화할 수 있습니다.

이 전체적인 문제를 해결하려면 다음을 수행해야 합니다.

  1. Android Studio 종료
  2. USER → AndroidStudio시스템캐시 폴더로 이동합니다.
  3. 해당 폴더 삭제
  4. Android Studio를 시작합니다.

파일을 다시 인덱싱하면 작동합니다.

비슷한 질문의 kirtan403 덕분입니다.

Android Studio 3.5 또는 3.6 이후 Default Activity를 찾을 수 없게 되었고 캐시 무효화재시작, 프로젝트 재구축 등에 싫증이 났습니다.

제가 다중 모듈과 매니페스트를 다루는 방식이 잘못된 것으로 드러났습니다.라이브러리 모듈에만 기본 Activity's Manifest가 있었지만 두 앱 모듈 모두에 있어야 했습니다.

가정하면librarymodule appmodule1 appmodule2

  1. 제거한다.HomeActivity부터librarymodule어떤 것이든 명백합니다.

  2. 추가:

    class AppModuleActivity1 : HomeActivity() to appmodule1
    class AppModuleActivity2 : HomeActivity() to appmodule2
    
  3. 로.appmodule1내부 매니페스트application태그, 추가했습니다.

    <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>
    
  4. 에 대해서도 마찬가지입니다.appmodule2이름을 지을 때 2를 1로 변경합니다.

이 문제는 Android Studio 4.0에서도 발생하므로 이 문제를 해결하려면 다음 폴더를 삭제해야 합니다.

C:\Users\my_user_name.Android Studio 4.0\system\details

저의 경우 아래와 같이 AndroidManifest.xml에 오타가 있었습니다.응용 프로그램 태그 위의 "o" 문자를 제거하면 해결됩니다.

Android Studio가 AndroidMainfest.xml에서 유형 오류를 감지하지 못하는 것 같습니다.

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

o
<application android:name=".AppName"
             android:allowBackup="false"
             android:icon="@drawable/ic_launcher"
             android:label="@string/app_name"
             android:theme="@android:style/Theme.Light.NoTitleBar">

오류: 기본 활동을 찾을 수 없습니다.

저는 이렇게 해결했습니다.

실행 → 구성 편집Android 응용 프로그램 → *"실행" 편집 상자에 기본 활동 클래스의 경로를 입력합니다.

언급URL : https://stackoverflow.com/questions/15825081/default-activity-not-found-on-android-studio-upgrade

반응형