다음 링크는 안드로이드의 패키지 설치 과정에 대한 간략한 설명을 제공합니다.Android에서 설치하는 동안 앱의 UID가 어떻게 결정됩니까?
http://java.dzone.com/articles/depth-android-package-manager
나는 응용 프로그램의 UID가 매니페스트 파일에 권한을 설정 기반으로 설치 중에 결정되는 방법을 알고 싶소.
또한 4.0과 ICS 소스 코드의/frameworks/base/data/etc 디렉토리에있는 platform.xml 파일에는 gid와 관련된 사용 권한 목록이 들어 있습니다. 설명은
입니다. 다음 태그는 하위 그룹 ID를 권한 이름과 연결합니다. 그러한 매핑을 지정하면 이라는 주어진 권한을 부여받은 모든 응용 프로그램 프로세스는 도 프로세스에 연결된 주어진 그룹 ID ( )로 실행되므로 파일 시스템 (읽기, 쓰기, 실행) 작업을 수행 할 수 있습니다. 허용 그 그룹을 위해.
비슷한 방법으로 특정 uid에 할당 된 상위 수준 사용 권한 목록이 있습니다.
내 질문 응용 프로그램이 권한 X, Y, Z와 함께 설치되는 경우 어떻게 지정의 접근이
는 또한 매번 앱이 매핑에서 개최 않습니다 실행이 platform.xml에서 매핑에서입니다 않습니다 모든 인스턴트 (그것은 업데이 트가 없다면 애플 리케이션 권한을 변경할 수없는 안드로이드의 초기 디자인에서 오른쪽 보이지 않는). 그렇다면이 앱이 이러한 액세스 및 이와 같은 uid로 실행되어야한다고 말하는 것을 저장하는 경우입니다.
더 자세한 정보가 필요한지 궁금한 점이 있으시면 알려주세요. 나는 안드로이드 OS의 내부가 어떻게 작동하는지에 대해 더 많은 것을 배우려하고있다.
감사합니다.
감사합니다. 더 많은 의미가 있습니다. 그래서 일단 gid가 어플 리케이션에 할당되면 어플 리케이션이 호출 될 때 더 빠르게 검색 할 수 있도록 어디에나 저장됩니다. 또는 응용 프로그램이 매니페스트 파일에 가지고있는 권한을 기반으로 즉석에서 다시 계산됩니까? 응용 프로그램이 호출 될 때 gid가 매핑되는 위치를 파악하려고합니다. 미리 감사드립니다 Yury. –
내가 아는 한, 패키지 관리자에는 gids에 대한 정보를 저장하는 캐시가 있습니다. 따라서, an이 호출 될 때이 정보는이 캐시에서 가져와 Zygote 프로세스를 위해 설정하는 데 사용됩니다. – Yury