Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 89aeee44 authored by Jeff Hao's avatar Jeff Hao
Browse files

Fix passing --classpath-dir to dex2oat for split apks.

Merged wrong version of CL in by mistake. CL should have been
cherry-picked from cc5c4e32.

Bug: 34169257
Test: cts-tradefed run singleCommand cts -d --module
CtsAppSecurityHostTestCases -t android.appsecurity.cts.SplitTests

Change-Id: Ibebcdce1c9ab0de3254727c8dfc3d0de18932f1c
parent 296d91ed
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -362,14 +362,14 @@ static void run_dex2oat(int zip_fd, int oat_fd, int input_vdex_fd, int output_vd
        sprintf(profile_arg, "--profile-file-fd=%d", profile_fd);
    }

    // Get the directory of the apk to pass as a base directory.
    char base_dir[arraysize("--base-dir=") + PKG_PATH_MAX];
    // Get the directory of the apk to pass as a base classpath directory.
    char base_dir[arraysize("--classpath-dir=") + PKG_PATH_MAX];
    std::string apk_dir(input_file_name);
    unsigned long dir_index = apk_dir.rfind('/');
    bool has_base_dir = dir_index != std::string::npos;
    if (has_base_dir) {
        apk_dir = apk_dir.substr(0, dir_index);
        sprintf(base_dir, "--base-dir=%s", apk_dir.c_str());
        sprintf(base_dir, "--classpath-dir=%s", apk_dir.c_str());
    }