installd: Consider bundled app dir as a valid apk path
Change-Id: I92db56f21bf91e0816b63faffcfbb270ca2d8fca
This commit is contained in:
parent
4cf9742078
commit
911c7f3338
@ -39,6 +39,7 @@ dir_rec_t android_app_private_dir;
|
|||||||
dir_rec_t android_app_lib_dir;
|
dir_rec_t android_app_lib_dir;
|
||||||
dir_rec_t android_media_dir;
|
dir_rec_t android_media_dir;
|
||||||
dir_rec_t android_mnt_expand_dir;
|
dir_rec_t android_mnt_expand_dir;
|
||||||
|
dir_rec_t android_prebundled_dir;
|
||||||
dir_rec_array_t android_system_dirs;
|
dir_rec_array_t android_system_dirs;
|
||||||
|
|
||||||
static const char* kCpPath = "/system/bin/cp";
|
static const char* kCpPath = "/system/bin/cp";
|
||||||
|
@ -385,6 +385,12 @@ int initialize_globals() {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get the android external app directory.
|
||||||
|
if (get_path_from_string(&android_prebundled_dir, PREBUNDLED_APP_PREFIX) < 0) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Take note of the system and vendor directories.
|
// Take note of the system and vendor directories.
|
||||||
android_system_dirs.count = 4;
|
android_system_dirs.count = 4;
|
||||||
|
|
||||||
|
@ -92,6 +92,8 @@
|
|||||||
|
|
||||||
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(*(a)))
|
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(*(a)))
|
||||||
|
|
||||||
|
#define PREBUNDLED_APP_PREFIX "/vendor/bundled-app/"
|
||||||
|
|
||||||
/* data structures */
|
/* data structures */
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -111,6 +113,7 @@ extern dir_rec_t android_data_dir;
|
|||||||
extern dir_rec_t android_asec_dir;
|
extern dir_rec_t android_asec_dir;
|
||||||
extern dir_rec_t android_media_dir;
|
extern dir_rec_t android_media_dir;
|
||||||
extern dir_rec_t android_mnt_expand_dir;
|
extern dir_rec_t android_mnt_expand_dir;
|
||||||
|
extern dir_rec_t android_prebundled_dir;
|
||||||
extern dir_rec_array_t android_system_dirs;
|
extern dir_rec_array_t android_system_dirs;
|
||||||
|
|
||||||
typedef struct cache_dir_struct {
|
typedef struct cache_dir_struct {
|
||||||
|
@ -1061,6 +1061,8 @@ static int validate_apk_path_internal(const char *path, int maxSubdirs) {
|
|||||||
if (maxSubdirs < 2) {
|
if (maxSubdirs < 2) {
|
||||||
maxSubdirs = 2;
|
maxSubdirs = 2;
|
||||||
}
|
}
|
||||||
|
} else if (!strncmp(path, android_prebundled_dir.path, android_prebundled_dir.len)) {
|
||||||
|
dir = &android_prebundled_dir;
|
||||||
} else {
|
} else {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user