마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

android:sharedUserId="android.uid.system" 이거에 대해 아신는 분 계신가요?

0 추천

android:sharedUserId="android.uid.system"

 

앱을 개발도중에 거대한 벽에 부디쳤습니다. 고수님들 도와주세요...

그냥 퍼미션에 추가하면 되는 줄 알았는 데 아니더라구요....하....

참고로 개발용 보드와 android 이미지 파일까지 가지고 있습니다.

아시는 분들에 많은 도움이 필요합니다...

밤밤바 (1,450 포인트) 님이 2013년 9월 6일 질문

2개의 답변

+1 추천
 
채택된 답변
먼저 답변하신 분 말씀대로 uid 가 system이 되려면 package 빌드 타이밍에 전체 빌드에 사용된 security 키와 동일한 키로 사이닝이 되어야 합니다.

보드에 올리실 app이 전체 빌드 시에 시스템에 포함되어야 한다는 말이기도 합니다.

참고) 따로 해도 되긴 합니다, 다만 특정 타겟을 목표로 하는 app을 만드실 것으로 판단이 되니 해당 이미지 외에서는 키가 달라 안돌아갈 것입니다.

security 키는 전체 소스 기준 build/target/product/security 폴더에 jks 라는 확장자로 되어 있습니다.

관련 내용은 검색해보시면 이클립스에서도 사용 가능 하구요.. 만드는 방법 또한 검색하시면 금방 찾으실 거에요.

참고로 위에서 말한 빌드 시 시스템에 포함되는 앱으로 빌드 하시려면 device/벤더이름/모델이름/device.mk 에서

PRODUCT_PACKAGES 등의 이름으로 기본 앱들이 여럿 추가 되어 있는 것이 보일겁니다.

위 이름은 벤더/모델에 따라 다를 수 있습니다만 기본 앱들의 이름은 보통 Gallery Camera 등으로 일정하므로

기본으로 깔리는 앱들 이름으로 검색을 하시어 PRODUCT_PACKAGES와 같은 이름을 찾으시고,

개발 중이신 앱의 Android.mk 에 정의하신 이름을 추가해주세요

예) PRODUCT_PACKAGES += AwesomeLauncher

 

마지막으로 system uid를 굳이 쓰셔야하는 상황이 아니라면 사용하지 않으시길 권장드려요..

permission 관련 문제들로 고생하는 글들이 많이 보이더라구요..(얻는 권한만큼 제약도 심해집니다.)
Gioskhan (12,060 포인트) 님이 2013년 9월 6일 답변
밤밤바님이 2013년 9월 9일 채택됨
답변에 감사드립니다. 우선 한번해보고 문제가 생기면 기존에 유지하던 방법으로 해야겠네요. 감사합니다.
0 추천

sharedUserId 를 저렇게 설정하려면 해당 앱이 시스템키로 사인되어야 할 겁니다.

익명사용자 님이 2013년 9월 6일 답변
...