Android Studio에서 기본 활동을 찾을 수 없습니다.


93

방금 Android Studio 0.2.8로 업그레이드했는데 실행 구성을 편집하려고 할 때 "Default Activity not found"라는 오류가 표시됩니다.

Android Studio를 시작할 때 "액세스는 이벤트 디스패치 스레드에서만 허용됩니다."라는 오류가 발생합니다.

내가 사용하는 활동은 조각 활동입니다.

지금까지 캐시를 재 구축하고 무효화 / 재시작을 시도했습니다. 둘 다 소용이 없었습니다.

문제를 해결하기 위해 무엇을 할 수 있는지 알려주세요.


답변:


45

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

편집 : 안드로이드 스튜디오의 이후 버전에는 소스 탭 없다, 그러나 당신은 편집 할 수 있습니다 build.gradle의 대신 파일 : https://stackoverflow.com/a/22028681/1101730 (코멘트 조쉬에 대한 감사)


27
0.6.1 에서 어떻게 할 수 있습니까? 소스 탭 이 보이지 않습니다 .
lschlessinger 2014-06-27

7
나도. 속성, 서명,
플레이버

4
"Sources"탭이 없어서 대신 build.gradle 파일을 편집했습니다. stackoverflow.com/a/22028681
Josh

2
완전한! @Micer를 도와 주셔서 감사합니다. 여러분, IntelliJ 프로젝트에서 'F4'를 누르면 세 개의 탭 (Sources, Paths, Dependencies)이 있고 'Sources'탭으로 이동하여 'src'폴더 (트리 구조에서)가 파란색인지 확인합니다. 그렇지 않은 경우 'Alt + S'를 눌러 프로젝트 구조에 소스 폴더를 포함합니다.
Ryan Amaral 2014

1
@IgorGanapolsky 맞습니다. Android Studio의 최신 버전에서 소스 탭이 제거 된 것 같습니다. Josh의 대답을 확인하십시오.
Micer

51

ACTION_MAIN주요 활동 에 인 텐트 필터를 추가 했습니까 ? 이것을 추가하지 않으면 Android는 어떤 활동을 기본 활동으로 시작할지 알 수 없습니다.

전의:

<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
네, 끝났습니다. openJDK 대신 oracle JDK를 사용하여 "액세스는 이벤트 디스패치 스레드에서만 허용됨"을 수정했습니다. 아직 행방 불명 기본 활동은하지만 지속
위빠사나 Vijayarangan

5
또한 "com.package.name.MyActivity"모든 <intent-filter>요소가 <activity>네임 스페이스의 MyActivity에 해당 하는 요소 내부에있는 경우 이름 을 생략 할 수 있습니다 .
Xavi Montero 2014

하, 나는 Filter모든 변수를 포함 하는 클래스의 이름 을 바꾸었고 filter분명히 Android Studio는 AndroidManifest.xml<intent-*filter*>. 이 대답은 내 한 번 확인 내를 만들어 AndroidManifest.xml나를 버그 =) 찾을 도움이
스테판 헤 닝센

이 문서는 어디에 있습니까? 찾을 수 없습니다…
mirabilos

32

프로젝트를 Android Studio로 가져 오는 동안 동일한 문제가 발생했습니다. 아마도 프로젝트가 현재 내 컴퓨터에 설치된 것보다 이전 버전의 Android Studio에서 개발 되었기 때문일 것입니다.

해결 된 것은 단순히 다음을 선택하는 것입니다.

File -> Invalidate Caches / Restart...

다음을 선택 Invalidate and Restart합니다.


1
@syntagma 대단히 감사합니다. 귀하의 지침은 몇 시간의 노력 끝에 내 문제를 해결했습니다.
MMG

16

탭이없고 빈 활동으로 시작한 경우 이것을 시도하십시오. 다음은 샘플 코드 예입니다.

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

이제 AndroidManifest.xml 파일로 이동하십시오. 다음으로이 코드에서 인 텐트 필터를 복사합니다. 매니페스트 파일을 정말 잘보고 위 코드의 정확한 위치에 인 텐트 필터를 붙여 넣으십시오. (매니페스트의 .yourActivityName> 부분 뒤) 도움이 되었기를 바랍니다.


13

실행 한 후에도 실행 구성을 편집하려고 할 때 "기본 활동을 찾을 수 없음"이라는 오류가 계속 발생하는 경우 :

캐시를 무효화하고 다시 시작합니다 .

그런 다음 Settings / Preferences 폴더를 삭제 해보십시오.

/< USER_HOME_DIR >/.AndroidStudioPreview3.2

또는 Mac :

/Users/<USER_NAME>/Library/Preferences/.AndroidStudioPreview3.2

패키지의 이름을 변경했거나 버전 제어에서 분기를 전환 한 경우 Android 스튜디오가 모든 파일을 인식하지 못하고 문제를 해결하는 경우가 있습니다. 나를 위해 일한 유일한 해결책은 AS를 닫은 다음 @ Phileo99가 지적한 .AndroidStudioXY (여기서 XY는 버전 번호)를 삭제하는 것입니다.
Zbarcea Christian

1
당신은 내 생명을 구했습니다! / <USER_HOME_DIR> /. AndroidStudioPreview3.2
nadafafif

천만에요 @nadafafif! 그것이 당신을 도왔다면 내 대답을 찬성하십시오.
Phileo99

@ Phileo99 이미 그랬습니다. 내 자신을 멈출 수 없었습니다. :) 건배. 계속 그렇게 도와주세요.
nadafafif

도움이되었지만 많은 항목을 다운로드 할 수 있습니다. 그것은 다운로드 15 분 주위에 tooks
Valgaal

10

"Open Module Settings (모듈 설정 열기)"를 클릭했을 때 "Source"탭이 없었습니다. Android Studio의 최신 버전 (0.8.14에 있습니다)에서 제거 되었기 때문이라고 생각합니다. 그래서 대신 이렇게해야했습니다.

블록 build.gradle내부의 파일에 다음 행을 추가하십시오 android { ... }.

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

파일을 수정 한 후 Tools> Android> Sync Project with Gradle Files를 클릭 합니다.

에 신용 이 답변 하고 이 댓글 .


9

다음은 나를 위해 트릭을했습니다. 에서 실행 -> 편집 구성 .

여기에 이미지 설명 입력


이 솔루션으로 인해 응용 프로그램이 더 이상 Samsung Galaxy S5 Neo 및 Samsung Galaxy S6에서 사용 가능한 응용 프로그램 목록에 표시되지 않기 때문에이 솔루션에 대해 조언하고 싶습니다.
Teun Kooijman

3

내 문제는 때때로 나타나는 추가 오류로 인해 발생했습니다.

Manifest Merger failed with multiple errors in Android Studio

궁극적으로 내 문제를 일으키는 것은 여러 매니페스트 (디버그 매니페스트 및 방금 가져온 새 모듈의 매니페스트)가 있고 이로 인해 올바르게 병합되지 않았다는 사실이었습니다. 이 답변을 확인한 후 병합 된 매니페스트를 분석하고 문제의 원인을 찾아 수정할 수있었습니다.


2

이것은 내가 매니페스트의 경로를 대문자로했기 때문에 나에게 일어났습니다. 변경됨 :

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

...에

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

그리고 그것은 수정되었습니다


당신은 내 하루를 구했습니다! 감사합니다
시바 쿠마

2

오늘도 같은 문제가 발생하여 여기에서 답변을 살펴 보았습니다.

나에게 차이점은 어제 잘 작동했기 때문에 실제로 구성 문제가 될 수 없다고 생각했으며 구성이나 Android Studio 버전이 변경되지 않았습니다.

다행히도 다른 답변을 시도하기 전에 Android Studio를 다시 시작했는데 다행히 문제가 해결되었습니다.

따라서이 문제를 겪는 모든 사람들을 위해 가장 먼저 시도해야 할 것은 Android Studio를 다시 시작하는 것이며 문제가 해결되지 않는 경우에만 여기에서 다른 답변을 시도하십시오.


2

Android Studio 1.5.1에서 동일한 오류가 발생했습니다. 문제의 원인을 찾았습니다. 원인이 사람의 실수인지 IDE 동작의 이상한 결함인지 확실하지 않지만이 주제에 대한 기존의 StackOverflow 질문 중 어떤 것도 이에 대해 아무것도 표시하지 않는 것 같았으므로 어쨌든 답변으로 게시 할 것이라고 생각했습니다.

나를 위해 팀 구성원 중 하나 또는 IDE 자체가 런처 활동 매니페스트 항목을 변경하여 다음과 같이 보이도록했습니다.

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

실제로는 다음과 같아야합니다.

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

따라서 매니페스트에서 런처 활동의 형식을 두 배, 세 배, 네 배로 확인하면 시간을 절약 할 수 있습니다.

도움이 되었기를 바랍니다.

편집 : 사람들이 모듈의 구성 옵션 내에서 실행기 활동을 수동으로 선택하도록 제안하는 답변을 사용하지 말 것을 강력히 제안합니다. 이로 인해 응용 프로그램이 삼성 Galaxy S5의 설치된 앱 목록에 더 이상 표시되지 않기 때문입니다. 네오와 삼성 갤럭시 S6 (적어도 나에게는).


2

여기에 이미지 설명 입력

앱을 누르십시오 -> 구성 편집 "Nothing"
에서 Launch 값을 변경 한 후


1

매니페스트에서 패키지 이름이 주요 활동과 동일한 지 확인하세요.


1
  1. Android Studio에서 Project Perspective (Android Perspective 아님)로 전환하십시오.

  2. 프로젝트가 gradle 플러그인의 기본 구조 (예 : project_dir / app / src / main / java ... )를 따르는 지 확인하십시오.

  3. 표시되는 모든 빌드 폴더와 하위 폴더를 삭제합니다 .

  4. 툴바에서 Build-> Clean Project를 클릭 한 다음 Build-> Rebuild Project를 클릭 합니다.

  5. 프로젝트를 실행 해보십시오.


1

'구성 수정'메뉴 ( 'Shift'를 세 번 탭하고 '구성 수정'입력)로 이동 한 다음 실행 옵션> 실행을 '없음'으로 변경하면 Android 스튜디오가 불평하지 않도록 할 수 있습니다.

혼란을 피하기 위해 지침이 포함 된 일반 활동을 추가 할 것입니다.


이것은 내 시간을 저장
Sayali

1

제 경우에는 프로젝트 (Project / .ida)에서 .idea 폴더를 제거하고 Android Studio를 다시 열었을 때 작동했습니다.


.idea 폴더를 제거하면 제 경우에 도움이되었습니다. 감사합니다! 설명을 위해 확장명이 ".iml"인 모든 파일은 .idea 폴더에있었습니다. 다른 오류가 발생할 수 있으므로 .iml 파일 만 제거하지 마십시오!
Cordis Audax Agrinova

0
  1. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 모듈 설정 열기를 선택합니다.
  2. 모듈의 소스 탭으로 이동하십시오.
  3. src 폴더를 찾으십시오.
  4. 그것을 마우스 오른쪽 버튼으로 클릭하고 소스로 표시하십시오.

이것은 내 경우의 오류를 해결했습니다.


0

예를 들어 com.dir.sample과 같이 디렉토리 이름 (클래스 구조)을 com.dir.sample1로 변경 한 경우 com.dir.sample 패키지를 com.dir.sample1로 변경하는 것을 잊지 마십시오.


0

"Workspace.xml"수정 (Ctrl + Shft + R을 눌러 검색)

  1. 패키지 이름으로 활동 이름 수정

  2. "name ="USE_COMMAND_LINE "을 value ="false "로 변경하십시오.

  3. 프로젝트 다시로드

끝난!


Ctrl + Shft + F, + R = 대체 F = 찾기로 검색합니다.
Shishdem 2015 년

0

"소스 탭"을 찾는 데 어려움을 겪고있는 저와 같은 사람들을 위해 :

여기에 이미지 설명 입력

여기에서 "src"폴더를 파란색으로 표시해야합니다 (먼저 Mark as : Source를 클릭 한 다음 src 폴더에서).


0

다음 두 단계를 수행 할 수 있습니다.

  1. 구성으로 이동하여 시작할 활동 이름을 입력하십시오.
  2. 여전히 작동 하지 않는 경우 Instant Run 비활성화

0

모든 솔루션을 시도했지만 전혀 작동하지 않습니다. 내 안드로이드 스튜디오에서 Instant run을 비활성화하려고 시도한 것보다.

Android Studio 설정 또는 기본 설정 (MAC 용)-> 빌드, 실행, 배포 -> Instant Run으로 이동 합니다.

즉시 실행 기능을 선택 취소하고 파일 메뉴에서 gradle 파일과 프로젝트 동기화 를 클릭 한 후

이제 빌드를 실행하십시오 ...


이것은 더 이상 4.0 이상 안드로이드 스튜디오 유효하지 않습니다
호르헤 E. 에르난데스

0

어떤 경우에는 일부 category필드 가있는 모델을 가질 수 있으며 , 모든 위치에서 리팩토링하면 매니페스트 파일에서 리팩터링 할 수 있으며 태그 xml이 유효하지 않게됩니다.


0

이런 종류의 경우에 많은 가능성이 발생할 수 있습니다 (기본 활동을 찾을 수 없음) 모든 코드, 특히 Manifest에서 문제가없는 경우 캐시를 무효화하고 스튜디오를 다시 시작하기 만하면됩니다.

그러나 때로는 매니페스트에 중복 된 활동 선언이있을 때 발생합니다. Main 활동뿐만 아니라 하위 활동에 의해서도 트리거됩니다.

나에게 일어난 일, 매니페스트에 중복 하위 활동이 있기 때문에 기본 활동을 찾을 수 없습니다. 삭제 후 모든 것이 잘됩니다.



0

나는 그것을 알아. 활동 선언에 최종 키워드를 실수로 추가했습니다. 일단 제거하면 모든 것이 작동합니다!

public  class SplashActivity extends AppCompatActivity {
...
}

-1
  1. Android Studio에서

  2. 구성 편집으로 이동합니다.

  3. 앱을 선택하십시오.

  4. 점심 활동 경로를 선택하십시오.

  5. 적용합니다.

    감사!!


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.