37 lines
1.1 KiB
C++
37 lines
1.1 KiB
C++
// Copyright 2020 The Chromium Authors
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// The JNI_OnLoad() definition for the linker library is moved here to avoid a
|
|
// conflict with JNI_Onload() defined by the test library. The linker tests
|
|
// together with the linker internals are smashed into (=linked with) the test
|
|
// library.
|
|
|
|
#include <jni.h>
|
|
|
|
#include "base/android/linker/linker_jni.h"
|
|
|
|
namespace chromium_android_linker {
|
|
|
|
// JNI_OnLoad() is called when the linker library is loaded through the regular
|
|
// System.LoadLibrary) API. This shall save the Java VM handle and initialize
|
|
// LibInfo field accessors.
|
|
jint JNI_OnLoad(JavaVM* vm, void* reserved) {
|
|
LOG_INFO("Entering");
|
|
JNIEnv* env;
|
|
if (JNI_OK != vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_4)) {
|
|
LOG_ERROR("Could not create JNIEnv");
|
|
return -1;
|
|
}
|
|
if (!LinkerJNIInit(vm, env))
|
|
return -1;
|
|
LOG_INFO("Done");
|
|
return JNI_VERSION_1_4;
|
|
}
|
|
|
|
} // namespace chromium_android_linker
|
|
|
|
jint JNI_OnLoad(JavaVM* vm, void* reserved) {
|
|
return chromium_android_linker::JNI_OnLoad(vm, reserved);
|
|
}
|