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

Commit cd9c6f50 authored by Andreas Gampe's avatar Andreas Gampe Committed by Jeff Hao
Browse files

Frameworks/base: Compiled-classes support

Let AndroidRuntime check for /system/etc/compiled-classes and push
it to the runtime for boot image creation.

Bug: 18410571
(cherry picked from commit ca775941)

Change-Id: I04d195c12def4bf1136ed8c6b3dc439b640de7b2
parent 8f7b84e0
Loading
Loading
Loading
Loading
+16 −0
Original line number Original line Diff line number Diff line
@@ -356,6 +356,15 @@ static int hasDir(const char* dir)
    return 0;
    return 0;
}
}


static bool hasFile(const char* file) {
    struct stat s;
    int res = stat(file, &s);
    if (res == 0) {
        return S_ISREG(s.st_mode);
    }
    return false;
}

/*
/*
 * Read the persistent locale.
 * Read the persistent locale.
 */
 */
@@ -772,6 +781,13 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv)
        addOption("--image-classes-zip=/system/framework/framework.jar");
        addOption("--image-classes-zip=/system/framework/framework.jar");
        addOption("-Ximage-compiler-option");
        addOption("-Ximage-compiler-option");
        addOption("--image-classes=preloaded-classes");
        addOption("--image-classes=preloaded-classes");

        // If there is a compiled-classes file, push it.
        if (hasFile("/system/etc/compiled-classes")) {
            addOption("-Ximage-compiler-option");
            addOption("--compiled-classes=/system/etc/compiled-classes");
        }

        property_get("dalvik.vm.image-dex2oat-flags", dex2oatImageFlagsBuf, "");
        property_get("dalvik.vm.image-dex2oat-flags", dex2oatImageFlagsBuf, "");
        parseExtraOpts(dex2oatImageFlagsBuf, "-Ximage-compiler-option");
        parseExtraOpts(dex2oatImageFlagsBuf, "-Ximage-compiler-option");