300x250
안드로이드 폰에 어플을 기기테스트 형태(app-debug.apk)로 설치 실행하려니 이런 오류가 뜹니다.
The application could not be installed : INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
이 오류메시지는 SDK API 31(Android12)이상의 기기에서 발생하는 오류메시지입니다.
SDK API 31이상을 타겟팅하는 앱
SDK API 31 즉, Android 12버전으로 Target SDK를 31이상으로 설정한 앱은 intent-filter를 선언한 Activity에 exported를 true로 명시해야한다고 합니다. false로 하면 해당 Activity는 공개하지 않겠다는 뜻이기 때문에 구글이 이를 제한한것으로 보입니다.
SDK API 30이하를 타겟팅하는 앱
현재 업데이트를 새로 배포하시는 분들이라면, SDK API 30이하를 타겟팅 할 수 없는것으로 압니다. 그래도 혹시나 적어보면, Android 11 이하에서는 exported가 기본값으로 자동 설정되어 true 값을 명시해주지 않아도 됩니다.
그럼 SDK API
단, intent-filter가 없는 컴포넌트(Activity 등)의 경우는 exported 선언을 생략할 수 있습니다.
제 앱의 경우는 MainActivity가 시작하자마자 열리는 액티비티이기 때문에, activity의 name설정하는 같은 공간에 exported를 위와같이 선언해서 오류를 없애고 빌드할 수 있었습니다.
300x250
반응형
'App Dev > Android' 카테고리의 다른 글
JAVA, Android Studio 설치하기 (0) | 2023.01.05 |
---|---|
[안드로이드 앱 배포] 타겟층 및 콘텐츠 설정은 이렇게 하세요! (0) | 2022.12.21 |
[Android] 앱번들 삭제하기(프로모션 앱 버전 삭제하기) (0) | 2022.12.08 |
[Android] Toast 출력 안될때 (일정 기기에서 토스트 안뜰때) (0) | 2022.12.08 |
[Android] 안드로이드 앱 올리기(타겟층 및 콘텐츠) 어린이 앱이 아니라면? (0) | 2022.12.08 |
댓글