최근 개발중인 사이드 프로젝트 앱에서 안드로이드 스튜디오를 통해 앱을 실행할 경우, 실행은 되지만 앱이 설치가 되지않는 현상이 있었다.
해당 이슈의 원인은 바로! AndroidManifest 파일에 있었는데
<activity
android:name=".ui.main.MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data
android:host="oauth"
android:scheme="kakao"/>
</intent-filter>
<meta-data
android:name="android.app.lib_name"
android:value="" />
</activity>
위의 인텐트 필터를 보면 MAIN, LAUNCHER와 함께 여러 값들이 있는데, MAIN, LAUNCHER에는 데이터 태그를 처리할 수 없다고 한다... 그래서 아래처럼 인텐트 필터를 분리시켜주면 된다고 한다.
<activity
android:name=".ui.main.MainActivity"
android:exported="true">
<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.VIEW" />
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<data
android:host="oauth"
android:scheme="kakao"/>
</intent-filter>
<meta-data
android:name="android.app.lib_name"
android:value="" />
</activity>
이제 다시 설치해보자!!
정상적으로 앱이 설치된걸 확인했다.
Reference :
https://stackoverflow.com/questions/20285496/android-application-installed-but-wont-open-on-device