Fix incorrect odex path handling
It's wrong to just concatenate the apk_path and .odex. The bug prevents the prebuilt odex being used since Kitkat. The patch is copied from the code of JellyBean. Change-Id: I0ce8a877e3df8ae1ab9a0e3aeeef2d5253efc223
This commit is contained in:
parent
3f0d5669eb
commit
0e8ae16f08
@ -685,9 +685,13 @@ int dexopt(const char *apk_path, uid_t uid, int is_public,
|
||||
/* Before anything else: is there a .odex file? If so, we have
|
||||
* precompiled the apk and there is nothing to do here.
|
||||
*/
|
||||
sprintf(out_path, "%s%s", apk_path, ".odex");
|
||||
if (stat(out_path, &dex_stat) == 0) {
|
||||
return 0;
|
||||
strcpy(out_path, apk_path);
|
||||
end = strrchr(out_path, '.');
|
||||
if (end != NULL) {
|
||||
strcpy(end, ".odex");
|
||||
if (stat(out_path, &dex_stat) == 0) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (create_cache_path(out_path, apk_path)) {
|
||||
|
Loading…
Reference in New Issue
Block a user