Android-N app seinfo设置流程

来源:互联网 发布:软件视频会议排名 编辑:程序博客网 时间:2024/06/06 13:16
@ frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java
startProcessLocked() {
    …
    Process.ProcessStartResult startResult = Process.start(entryPoint,
                    app.processName, uid, uid, gids, debugFlags, mountExternal,
                    app.info.targetSdkVersion, app.info.seinfo, requiredAbi, instructionSet,
                    app.info.dataDir, entryPointArgs);
    …
}

@ frameworks/base/core/java/android/os/Process.java
start() {
    try {
            return startViaZygote(processClass, niceName, uid, gid, gids,
                    debugFlags, mountExternal, targetSdkVersion, seInfo,
                    abi, instructionSet, appDataDir, zygoteArgs);
        } catch (ZygoteStartFailedEx ex) {
    …
}

@ frameworks/base/core/jni/com_android_internal_os_Zygote.cpp
ForkAndSpecializeCommon() {
    …
    rc = selinux_android_setcontext(uid, is_system_server, se_info_c_str, se_name_c_str);
    …

}

@ external/libselinux/src/android.c
int selinux_android_setcontext(uid_t uid,
                   bool isSystemServer,
                   const char *seinfo,
                   const char *pkgname)
{
    …
}


原创粉丝点击