android系列-init SetupSelinux

1.FirstStageMain

cpp 复制代码
//android10\system\core\init\first_stage_init.cpp

int FirstStageMain(int argc, char** argv) {
    const char* path = "/system/bin/init";
    const char* args[] = {path, "selinux_setup", nullptr};
    execv(path, const_cast<char**>(args));
}

2.main

cpp 复制代码
//android10\system\core\init\main.cpp
int main(int argc, char** argv) {

    if (argc > 1) {

        if (!strcmp(argv[1], "selinux_setup")) {
            return SetupSelinux(argv);
        }
    }
}

3.SetupSelinux

java 复制代码
//android10\system\core\init\selinux.cpp

int SetupSelinux(char** argv) {
    InitKernelLogging(argv); //为啥调用多次

    // Set up SELinux, loading the SELinux policy.
    SelinuxSetupKernelLogging();
    SelinuxInitialize();

    const char* path = "/system/bin/init";
    const char* args[] = {path, "second_stage", nullptr};//4.second_stage
    execv(path, const_cast<char**>(args));
}
相关推荐
summerkissyou19879 小时前
Android Handler:机制、原理与示例
android
哈哈浩丶9 小时前
安卓系统全流程启动
android·linux·驱动开发
summerkissyou198711 小时前
Android-Audio-MediaPlayer-播放-流程
android·audio
mjhcsp11 小时前
C++ 后缀平衡树解析
android·java·c++
没有bug.的程序员12 小时前
Gradle 构建优化深度探秘:从 Java 核心到底层 Android 物理性能压榨实战指南
android·java·开发语言·分布式·缓存·gradle
lljss202018 小时前
MediaPad 10 Link S10-201wa(安卓4.1.2) 安装vlc
android
黄昏晓x18 小时前
C++----异常
android·java·c++
aningxiaoxixi18 小时前
Android Audio 广播之 ACTION_AUDIO_BECOMING_NOISY
android·java·python
Chengbei1120 小时前
内网渗透过程中搜寻指定文件内容Everything小工具
android·安全·网络安全·系统安全·密码学·网络攻击模型·安全架构
coding者在努力20 小时前
LangChain之Prompt核心组件.2026年新版讲解,超详细
android·langchain·prompt