2012-04-26 5 views
3

저는 프로젝트에서 약간의 도움이 필요합니다. 누구든지 부팅하는 동안 안드로이드가 장치의 모든 응용 프로그램을 어떻게로드하는지 말할 수 있습니까? 어디에서 APK가 앱을 읽었는지 아이콘과 같은 앱 정보를 조회하고 마지막으로 기기에 표시합니다.안드로이드 내부

나는 packagemanager-> applicationpackagemanager-> Ipackagemanager.aidl-> packagemanagerservice-> settings.java를 거쳤지 만 안드로이드가 apk에서 정보를 가져 오는 방법과 부팅 할 때 어떻게로드되는지 알 수 없었습니다.

누군가가 도울 수 있다면 정말 좋을 것입니다.

답변

3

이 정확히 발생하지만 AFAIK 어떤 생각 : 부팅하는 동안

가 : 안드로이드 /data/apps/*.apk 통과은 /는 AndroidManifest.xml을 읽고 (예 : /data/system/packages.listpackages.xml)

패키지 (.apk) 구문 분석해야 몇 가지 정보를 저장 추출 끝내야합니다 PackageParser.java

앱 서랍을 열고 메모리에 캐시하면 해당 목록 중 하나에서 앱 목록을 읽을 수 있습니다. 필요에 따라 아이콘이 추출되고 캐시됩니다. Launcher에 표시되는 아이콘/앱은 다른 곳에 저장됩니다.

관련 문제