Loading cmds/installd/commands.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ dir_rec_t android_data_dir; dir_rec_t android_asec_dir; dir_rec_t android_app_dir; dir_rec_t android_app_private_dir; dir_rec_t android_app_ephemeral_dir; dir_rec_t android_app_lib_dir; dir_rec_t android_media_dir; dir_rec_t android_mnt_expand_dir; Loading cmds/installd/installd.cpp +9 −1 Original line number Diff line number Diff line Loading @@ -346,6 +346,11 @@ int initialize_globals() { return -1; } // Get the android ephemeral app directory. if (copy_and_append(&android_app_ephemeral_dir, &android_data_dir, EPHEMERAL_APP_SUBDIR) < 0) { return -1; } // Get the android app native library directory. if (copy_and_append(&android_app_lib_dir, &android_data_dir, APP_LIB_SUBDIR) < 0) { return -1; Loading @@ -367,7 +372,7 @@ int initialize_globals() { } // Take note of the system and vendor directories. android_system_dirs.count = 4; android_system_dirs.count = 5; android_system_dirs.dirs = (dir_rec_t*) calloc(android_system_dirs.count, sizeof(dir_rec_t)); if (android_system_dirs.dirs == NULL) { Loading @@ -393,6 +398,9 @@ int initialize_globals() { android_system_dirs.dirs[3].path = strdup("/oem/app/"); android_system_dirs.dirs[3].len = strlen(android_system_dirs.dirs[3].path); android_system_dirs.dirs[4].path = build_string2(android_root_dir.path, EPHEMERAL_APP_SUBDIR); android_system_dirs.dirs[4].len = strlen(android_system_dirs.dirs[4].path); return 0; } Loading cmds/installd/installd.h +2 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ #define APP_SUBDIR "app/" // sub-directory under ANDROID_DATA #define PRIV_APP_SUBDIR "priv-app/" // sub-directory under ANDROID_DATA #define EPHEMERAL_APP_SUBDIR "app-ephemeral/" // sub-directory under ANDROID_DATA #define APP_LIB_SUBDIR "app-lib/" // sub-directory under ANDROID_DATA Loading Loading @@ -124,6 +125,7 @@ typedef struct { extern dir_rec_t android_app_dir; extern dir_rec_t android_app_private_dir; extern dir_rec_t android_app_ephemeral_dir; extern dir_rec_t android_app_lib_dir; extern dir_rec_t android_data_dir; extern dir_rec_t android_asec_dir; Loading cmds/installd/utils.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -1079,6 +1079,8 @@ static int validate_apk_path_internal(const char *path, int maxSubdirs) { dir = &android_app_dir; } else if (!strncmp(path, android_app_private_dir.path, android_app_private_dir.len)) { dir = &android_app_private_dir; } else if (!strncmp(path, android_app_ephemeral_dir.path, android_app_ephemeral_dir.len)) { dir = &android_app_ephemeral_dir; } else if (!strncmp(path, android_asec_dir.path, android_asec_dir.len)) { dir = &android_asec_dir; } else if (!strncmp(path, android_mnt_expand_dir.path, android_mnt_expand_dir.len)) { Loading Loading
cmds/installd/commands.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ dir_rec_t android_data_dir; dir_rec_t android_asec_dir; dir_rec_t android_app_dir; dir_rec_t android_app_private_dir; dir_rec_t android_app_ephemeral_dir; dir_rec_t android_app_lib_dir; dir_rec_t android_media_dir; dir_rec_t android_mnt_expand_dir; Loading
cmds/installd/installd.cpp +9 −1 Original line number Diff line number Diff line Loading @@ -346,6 +346,11 @@ int initialize_globals() { return -1; } // Get the android ephemeral app directory. if (copy_and_append(&android_app_ephemeral_dir, &android_data_dir, EPHEMERAL_APP_SUBDIR) < 0) { return -1; } // Get the android app native library directory. if (copy_and_append(&android_app_lib_dir, &android_data_dir, APP_LIB_SUBDIR) < 0) { return -1; Loading @@ -367,7 +372,7 @@ int initialize_globals() { } // Take note of the system and vendor directories. android_system_dirs.count = 4; android_system_dirs.count = 5; android_system_dirs.dirs = (dir_rec_t*) calloc(android_system_dirs.count, sizeof(dir_rec_t)); if (android_system_dirs.dirs == NULL) { Loading @@ -393,6 +398,9 @@ int initialize_globals() { android_system_dirs.dirs[3].path = strdup("/oem/app/"); android_system_dirs.dirs[3].len = strlen(android_system_dirs.dirs[3].path); android_system_dirs.dirs[4].path = build_string2(android_root_dir.path, EPHEMERAL_APP_SUBDIR); android_system_dirs.dirs[4].len = strlen(android_system_dirs.dirs[4].path); return 0; } Loading
cmds/installd/installd.h +2 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ #define APP_SUBDIR "app/" // sub-directory under ANDROID_DATA #define PRIV_APP_SUBDIR "priv-app/" // sub-directory under ANDROID_DATA #define EPHEMERAL_APP_SUBDIR "app-ephemeral/" // sub-directory under ANDROID_DATA #define APP_LIB_SUBDIR "app-lib/" // sub-directory under ANDROID_DATA Loading Loading @@ -124,6 +125,7 @@ typedef struct { extern dir_rec_t android_app_dir; extern dir_rec_t android_app_private_dir; extern dir_rec_t android_app_ephemeral_dir; extern dir_rec_t android_app_lib_dir; extern dir_rec_t android_data_dir; extern dir_rec_t android_asec_dir; Loading
cmds/installd/utils.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -1079,6 +1079,8 @@ static int validate_apk_path_internal(const char *path, int maxSubdirs) { dir = &android_app_dir; } else if (!strncmp(path, android_app_private_dir.path, android_app_private_dir.len)) { dir = &android_app_private_dir; } else if (!strncmp(path, android_app_ephemeral_dir.path, android_app_ephemeral_dir.len)) { dir = &android_app_ephemeral_dir; } else if (!strncmp(path, android_asec_dir.path, android_asec_dir.len)) { dir = &android_asec_dir; } else if (!strncmp(path, android_mnt_expand_dir.path, android_mnt_expand_dir.len)) { Loading