반응형
  • 테스트 목적으로 빌드한 apk를 디바이스에 설치했을 때 발생한 이슈
  • flutter로 프로젝트 생성 후 android의 AndroidManifest.xml을 확인해보면 아래 코드가 기본값으로 설정 되어 있음.
<intent-filter>
    <action android:name="android.intent.action.MAIN"/>
    <category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
  • 앱을 만들기 위해 외부 라이브러리를 사용하다보면 AndroidManifest.xml의  intent-filter에 정보를 넣게 되는 경우가 발생하게 됨.
<intent-filter>
   <action android:name="android.intent.action.MAIN"/>
   <category android:name="android.intent.category.LAUNCHER"/>
   <action android:name="android.intent.action.VIEW" />
   <category android:name="android.intent.category.DEFAULT" />
   <category android:name="android.intent.category.BROWSABLE" />
   <data
       android:host="arandom.page.link"
       android:scheme="https" />
</intent-filter>
  • 위 코드 상태로 build를 하여 apk를 생성 후 디바이스에 설치해보면 설치 완료 후 열기버튼이 비활성화가 되고 앱 아이콘도 생성되지 않는 문제가 발생함
  • 애플리케이션 리스트에는 설치되어 있다고 뜨지만 실행할 방법이 없음
  • 해결방법
<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.DEFAULT" />
   <category android:name="android.intent.category.BROWSABLE" />
   <data
       android:host="arandom.page.link"
       android:scheme="https" />
</intent-filter>
  • 프로젝트 생성시 기본값으로 생성되는 코드는 건드리지 않고  <intent-filter>블록을 추가 하면 해결됨
  • 네이티브에 대한 이해도가 낮다보니 문제는 해결했으나 이유를 정확히 모르고 있기때문에 추가적으로 공부가 필요하다는 결론......
728x90
반응형

+ Recent posts