본문 바로가기

Development/Android

INSTALL_FAILED_DUPLICATE_PERMISSION

Failure [INSTALL_FAILED_DUPLICATE_PERMISSION perm=com.mydomain.app.permission.C2D_MESSAGE pkg=com.otherdomain.app]


롤리팝 Android 5.0 부터 동일한 커스텀 퍼미션이 정의되어있는 앱이 두개이상 설치될 경우.

즉, 동일한 커스텀 퍼미션이 정의되어있는 앱이 설치되었는데 똑같은 커스텀 퍼미션이 정의된 다른앱을 설치하려고 할때 발생함.


현재 메인 라이브러리의 Manifest.xml 에 정의되어 있는 커스텀 퍼미션을 삭제하고

각각의 프로젝트의 Manifest.xml 에 아래와 같은 형식으로 정의한다.


예) com.mydomain.app.permission.C2D_MESSAGE

<!--
Creates a custom permission so only this app can receive its messages.

NOTE: the permission *must* be called PACKAGE.permission.C2D_MESSAGE,
where PACKAGE is the application's package name.
-->
<permission android:name="com.mydomain.app.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="com.mydomain.app.permission.C2D_MESSAGE" />

현재 제작된 앱이 하이브리드앱 으로 프렌차이즈앱이다.

즉, 모든 기능은 공통 library 형태로 빠져있고 개별 프로젝트를 만드는 형식으로 되어있다.

롤리팝 이전에는 공통 library 의 Manifest.xml 에 커스텀 퍼미션을 정의해서 공통으로 사용하고 있었지만, 롤리팝 부터는 모든 앱(프로젝트) 마다

위와같이 정의해서 사용해야 한다.


아래사이트 참조

https://medium.com/marojuns-android/android-5-0-%EB%A1%A4%EB%A6%AC%ED%8C%9D%EC%97%90%EC%84%9C%EC%9D%98-%EC%9D%B4%EC%8A%88-%EB%B0%8F-%ED%95%B4%EA%B2%B0-ffc85b8a68e3