diff options
-rw-r--r-- | games-memory-advice/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/common/JNIUtil.h | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/games-memory-advice/CMakeLists.txt b/games-memory-advice/CMakeLists.txt index 08645aef..368788f3 100644 --- a/games-memory-advice/CMakeLists.txt +++ b/games-memory-advice/CMakeLists.txt @@ -110,7 +110,7 @@ file(APPEND ${mri_file} "end\n") set(output_archive_placeholder_file ${CMAKE_CURRENT_BINARY_DIR}/${output_archive}.placeholder.cpp) add_custom_command(OUTPUT ${output_archive_placeholder_file} - COMMAND touch ${output_archive_placeholder_file} + COMMAND echo > ${output_archive_placeholder_file} DEPENDS memory_advice_static_pre) diff --git a/src/common/JNIUtil.h b/src/common/JNIUtil.h index 702e24d0..2907eba6 100644 --- a/src/common/JNIUtil.h +++ b/src/common/JNIUtil.h @@ -24,6 +24,7 @@ #include <string> #include "Log.h" +#include "system_utils.h" // The code in this file will dynamically load Java classes from a binary // resource linked to the library. The binary data is in DEX format, accessible @@ -145,7 +146,9 @@ static jclass loadClass(JNIEnv* env, jobject activity, const char* name, classLoaderObj, loadClass, dexLoaderClassName)); env->DeleteLocalRef(dexLoaderClassName); - if (env->ExceptionCheck() || !imclassloaderClass) { + int sdkVersion = gamesdk::GetSystemPropAsInt("ro.build.version.sdk"); + + if (env->ExceptionCheck() || !imclassloaderClass || sdkVersion < 26) { env->ExceptionClear(); // For older SDK versions <26, where InMemoryDexClassLoader is not // available |