aboutsummaryrefslogtreecommitdiffstats
path: root/JNIHelp.cpp
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2012-05-03 17:06:04 -0700
committerElliott Hughes <enh@google.com>2012-05-03 17:06:04 -0700
commit73d3c2e3ed100f1d0ccc08a9675844bf8a0848fa (patch)
treeeca84eb756be4663bbe1118cf2b9dfaec546eab7 /JNIHelp.cpp
parente2b11e7e4077187462324810d2b8a404417ba6a2 (diff)
downloadandroid_libnativehelper-73d3c2e3ed100f1d0ccc08a9675844bf8a0848fa.tar.gz
android_libnativehelper-73d3c2e3ed100f1d0ccc08a9675844bf8a0848fa.tar.bz2
android_libnativehelper-73d3c2e3ed100f1d0ccc08a9675844bf8a0848fa.zip
Bug: 6369821 Change-Id: I502211bddaf60d6097b81b35f606bbcdd1a3e092
Diffstat (limited to 'JNIHelp.cpp')
-rw-r--r--JNIHelp.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/JNIHelp.cpp b/JNIHelp.cpp
index bf50930..041776c 100644
--- a/JNIHelp.cpp
+++ b/JNIHelp.cpp
@@ -310,26 +310,32 @@ static struct CachedFields {
jfieldID descriptorField;
} gCachedFields;
-int registerJniHelp(JNIEnv* env) {
+jint JNI_OnLoad(JavaVM* vm, void*) {
+ JNIEnv* env;
+ if (vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6) != JNI_OK) {
+ ALOGE("JavaVM::GetEnv() failed");
+ abort();
+ }
+
gCachedFields.fileDescriptorClass =
reinterpret_cast<jclass>(env->NewGlobalRef(env->FindClass("java/io/FileDescriptor")));
if (gCachedFields.fileDescriptorClass == NULL) {
- return -1;
+ abort();
}
gCachedFields.fileDescriptorCtor =
env->GetMethodID(gCachedFields.fileDescriptorClass, "<init>", "()V");
if (gCachedFields.fileDescriptorCtor == NULL) {
- return -1;
+ abort();
}
gCachedFields.descriptorField =
env->GetFieldID(gCachedFields.fileDescriptorClass, "descriptor", "I");
if (gCachedFields.descriptorField == NULL) {
- return -1;
+ abort();
}
- return 0;
+ return JNI_VERSION_1_6;
}
jobject jniCreateFileDescriptor(C_JNIEnv* env, int fd) {