본문 바로가기
안드로이드

ActivityNotFoundException 에러 해결

by 코딩히어로 2022. 4. 6.
728x90

안드로이드에서 ActivityNotFoundException 에러의 내용을 먼저 살펴보겠습니다.

 

Unable to find explicit activity class {com.example.teeview/com.example.teeview.LoadingActivity}; have you declared this activity in your AndroidManifest.xml?

 

위에 내용을 직역하면 AndroidManifest.xml에 activity가 정의가 되어있지 않다는 것입니다.

왜 이런 에러가 발생했을까요?

 

안드로이드 시스템은 Activity 클래스를 생성 시 AndroidManifest에 정의하는 것이 원칙입니다.

즉 저는 LoadingActivity 클래스를 만들고 startAcrivity를 통해 해당 클래스를 실행했지만

AndroidManifest에 정의를 하지 않았기 때문에 안드로이드 시스템에서는 에러로 판단합니다.

 

 

MainActivity

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent loading_intent = new Intent(MainActivity.this,LoadingActivity.class);
        startActivity(loading_intent);
    }
}

 

Manifest.xml

<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/Theme.TeeView">
    <activity
        android:name=".MainActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

 

위에 Manifest 파일에서 application 태그 내부에 activity를 추가합니다.

다시 어플을 실행하면 해당 에러 없이 실행이 가능합니다.

728x90
반응형

댓글