일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Swift
- 문제해결
- 초보개발자
- Developer
- SwiftUI
- WorkManager
- 상태관리
- Java
- coroutines
- 앱심사경험
- 문제개선
- EncryptedSharedPreferences
- chatGPT
- Jitpack
- 코루틴
- 안드로이드
- SharedPreference
- Google Play
- Kotlin
- ios
- 앱개발
- 개발자도전기
- Android Studio
- Android
- 앱심사대응
- 개발시작
- compose
- targetsdk
- foregroundservice
- 클래스 설계
- Today
- Total
개발린생
[안드로이드] 앱 빌드 후 앱 아이콘이 안보이는 문제 본문
안드로이드 스튜디오에서 Run 'app'을 실행하여 앱 빌드 시 앱 설치 후 실행이 된다.
자동으로 실행이 되니 구현한 화면까지는 볼 수 있는데... 목록에서 찾을 수 없는 앱!
해당 프로젝트에서 여러번 빌드하면서 앱 아이콘이 사라진 적이 없는데
어느 시점 이후로 앱 빌드 시 앱이 설치되지 않은 것 마냥 앱 아이콘이 사라지는 문제가 발생했다.
바로 카카오 로그인 기능 구현 후 아이콘이 사라졌다.
정확히는 AndroidManifest.xml에 어느 코드를 추가한 후 발생한 문제!
기존 코드
<activity
android:name=".view.activity.MainActivity"
android:exported="true"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
문제 원인 코드
기존 코드에 카카오 로그인 기능 구현을 위한 Redirect URI 설정을 위해 scheme 을 추가하여 아래와 같은 코드를 작성하였다.
<activity
android:name=".view.activity.MainActivity"
android:exported="true"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<!-- kakao login -->
<data
android:host="oauth"
android:scheme="kakao${KAKAO_NATIVE_KEY}" />
</intent-filter>
</activity>
<data ~ /> 부분 코드를 추가하여 해당 문제가 발생된 것 같아
'안드로이드 앱 빌드 아이콘 사라짐'을 키워드로 검색 후 블로그 내용을 참고하여 문제를 해결했다.
문제 해결 코드
scheme 적용 코드를 기존에 있던 <intent-filter> 코드 안에 넣지 않고
아래 새로운 <intent-filter> 코드를 만들고 그 안에 scheme 적용 코드를 작성하였다.
<activity
android:name=".view.activity.MainActivity"
android:exported="true"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<!-- kakao login -->
<data
android:host="oauth"
android:scheme="kakao${KAKAO_NATIVE_KEY}" />
</intent-filter>
</activity>
참고한 블로그 내용에서는
한 <intent-filter> 안에 MAIN과 VIEW를 같이 넣을 시, MAIN이 아닌 VIEW로 인식이 되어 앱이 설치는 되지만 앱 아이콘이 보이지 않는 것이라 주장하고 있다.
비슷한 맥락으로.. 한 <intent-filter> 안에 MAIN과 scheme을 같이 넣어 VIEW로 인식이 되는건지..
문제가 비슷하지만 정확하게 같은 내용은 아니기에 원인은 서치로 더 알아봐야겠다.
앞으로 <intent-filter> 안에 추가할 코드는 <intent-filter>를 하나 더 추가해서 적용해야겠다.
참고 블로그
https://gogorchg.tistory.com/entry/Android-Scheme-설정-시-앱이-안보이는-현상
https://velog.io/@skyepodium/안드로이드-스튜디오-빌드-후-스마트폰에서-앱-아이콘-안보일때