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

Commit d3ef230c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Otapreopt: Check dexopt return status before retry" into oc-dev

parents 6d957ec3 54e1a402
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ LOCAL_CFLAGS += -DART_BASE_ADDRESS_MIN_DELTA=$(LOCAL_LIBART_IMG_HOST_MIN_BASE_AD
LOCAL_CFLAGS += -DART_BASE_ADDRESS_MAX_DELTA=$(LOCAL_LIBART_IMG_HOST_MAX_BASE_ADDRESS_DELTA)

LOCAL_SRC_FILES := otapreopt.cpp globals.cpp utils.cpp dexopt.cpp
LOCAL_HEADER_LIBRARIES := dex2oat_headers
LOCAL_SHARED_LIBRARIES := \
    libbase \
    libcutils \
+6 −1
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@
#include <android-base/strings.h>
#include <cutils/fs.h>
#include <cutils/properties.h>
#include <dex2oat_return_codes.h>
#include <log/log.h>
#include <private/android_filesystem_config.h>

@@ -576,7 +577,11 @@ private:
        }

        // If the dexopt failed, we may have a stale boot image from a previous OTA run.
        // Try to delete and retry.
        // Then regenerate and retry.
        if (WEXITSTATUS(dexopt_result) !=
                static_cast<int>(art::dex2oat::ReturnCode::kCreateRuntime)) {
            return dexopt_result;
        }

        if (!PrepareBootImage(/* force */ true)) {
            LOG(ERROR) << "Forced boot image creating failed. Original error return was "