aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games-memory-advice/CMakeLists.txt2
-rw-r--r--src/common/JNIUtil.h5
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