Use initUnchangeableSystemProperty for initializing os.arch.
Bug: 17713104
(cherry picked from commit 00851a53bebe16dd2a0460245505461f40a7a307)
Change-Id: Ibddc535248a10e3534586eafb76c074332e025c4
diff --git a/libnativebridge/native_bridge.cc b/libnativebridge/native_bridge.cc
index d460f6f..1eb2d5b 100644
--- a/libnativebridge/native_bridge.cc
+++ b/libnativebridge/native_bridge.cc
@@ -372,15 +372,15 @@
if (env_values->os_arch != nullptr) {
jclass sclass_id = env->FindClass("java/lang/System");
if (sclass_id != nullptr) {
- jmethodID set_prop_id = env->GetStaticMethodID(sclass_id, "setProperty",
- "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;");
+ jmethodID set_prop_id = env->GetStaticMethodID(sclass_id, "initUnchangeableSystemProperty",
+ "(Ljava/lang/String;Ljava/lang/String;)V");
if (set_prop_id != nullptr) {
- // Reset os.arch to the value reqired by the apps running with native bridge.
- env->CallStaticObjectMethod(sclass_id, set_prop_id, env->NewStringUTF("os.arch"),
+ // Init os.arch to the value reqired by the apps running with native bridge.
+ env->CallStaticVoidMethod(sclass_id, set_prop_id, env->NewStringUTF("os.arch"),
env->NewStringUTF(env_values->os_arch));
} else {
env->ExceptionClear();
- ALOGW("Could not find setProperty method.");
+ ALOGW("Could not find initUnchangeableSystemProperty method.");
}
} else {
env->ExceptionClear();