PackageManagerService.Java 에 보면 다음의 코드가 나옵니다.
"android.uid.system"
"android.uid.phone"
"android.uid.log"
"android.uid.nfc"
등이 있네요. 위의 uid 와 같은 키로 signing 을 하게 되면 동일한 권한을 가지게 됩니다.
public PackageManagerService(Context context, boolean factoryTest) { EventLog.writeEvent(EventLogTags.BOOT_PROGRESS_PMS_START, SystemClock.uptimeMillis()); if (mSdkVersion <= 0) { Slog.w(TAG, "**** ro.build.version.sdk not set!"); } mContext = context; mFactoryTest = factoryTest; mNoDexOpt = "eng".equals(SystemProperties.get("ro.build.type")); mMetrics = new DisplayMetrics(); mSettings = new Settings(); mSettings.addSharedUserLP("android.uid.system", Process.SYSTEM_UID, ApplicationInfo.FLAG_SYSTEM); mSettings.addSharedUserLP("android.uid.phone", MULTIPLE_APPLICATION_UIDS ? RADIO_UID : FIRST_APPLICATION_UID, ApplicationInfo.FLAG_SYSTEM); mSettings.addSharedUserLP("android.uid.log", MULTIPLE_APPLICATION_UIDS ? LOG_UID : FIRST_APPLICATION_UID, ApplicationInfo.FLAG_SYSTEM); mSettings.addSharedUserLP("android.uid.nfc", MULTIPLE_APPLICATION_UIDS ? NFC_UID : FIRST_APPLICATION_UID, ApplicationInfo.FLAG_SYSTEM); // 중략 ...
"android.uid.system"
"android.uid.phone"
"android.uid.log"
"android.uid.nfc"
등이 있네요. 위의 uid 와 같은 키로 signing 을 하게 되면 동일한 권한을 가지게 됩니다.