#关于package.xml的读写都在setting.Java中
frameworks/base/services/core/java/com/android/server/pm/Settings.java
readLPw和writeLPr
packages.xml | 写数据 | 相关类 |
---|---|---|
permissions | mPermissions.writePermissions(serializer); | frameworks/base/services/core/java/com/android/server/pm/permission/PermissionSettings.java |
package | for (final PackageSetting pkg : mPackages.values()) {writePackageLPr(serializer, pkg);} | /frameworks/base/services/core/java/com/android/server/pm/PackageSetting.java |
shared-user | for (final SharedUserSetting usr : mSharedUsers.values()){...} | /frameworks/base/services/core/java/com/android/server/pm/SharedUserSetting.java |
keyset-settings | mKeySetManagerService.writeKeySetManagerServiceLPr(serializer); | /frameworks/base/services/core/java/com/android/server/pm/KeySetManagerService.java |
表格详情如下:
#关于权限mPermissions
serializer.startTag(null, "permissions");
mPermissions.writePermissions(serializer);
serializer.endTag(null, "permissions");
#相关类frameworks/base/services/core/java/com/android/server/pm/permission/PermissionSettings.java
#关于package
final ArrayMap<String, PackageSetting> mPackages = new ArrayMap<>();
...
for (final PackageSetting pkg : mPackages.values()) {
writePackageLPr(serializer, pkg);
}
#相关类/frameworks/base/services/core/java/com/android/server/pm/PackageSetting.java
#关于shareUserId
final ArrayMap<String, SharedUserSetting> mSharedUsers =new ArrayMap<String, SharedUserSetting>();
...
for (final SharedUserSetting usr : mSharedUsers.values()) {
serializer.startTag(null, "shared-user");
serializer.attribute(null, ATTR_NAME, usr.name);
serializer.attribute(null, "userId",
Integer.toString(usr.userId));
usr.signatures.writeXml(serializer, "sigs", mPastSignatures);
writePermissionsLPr(serializer, usr.getPermissionsState().getInstallPermissionStates());
serializer.endTag(null, "shared-user");
}
#相关类/frameworks/base/services/core/java/com/android/server/pm/SharedUserSetting.java
#关于publicKeySetmKeySetManagerService.writeKeySetManagerServiceLPr(serializer);
#相关类/frameworks/base/services/core/java/com/android/server/pm/KeySetManagerService.java