[英]Using a Android NDK in frameworks
您好,我一直在尝试在 Android Keyguard(框架/基础/包/SystemUI)中调用 JNI 库。 我可以在 Android 设置中做到这一点,但现在我需要在 Keyguard 中调用它。 目前,共享 object 正在构建中。 它位于 /system/lib64 (我在 android 设置中使用的也位于 32 位库中)位置。 当我应该使用它时,它没有被调用。 logcat 上没有显示 jni 丢失的错误
/jni
文件夹中的我的 Android.mk 文件。
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MULTILIB := both
LOCAL_MODULE := liblock-jni
LOCAL_SRC_FILES := lock-jni.c
LOCAL_C_INCLUDES +=$(JNI_H_INCLUDE)
LOCAL_CFLAGS += -O0 -g3
include $(BUILD_SHARED_LIBRARY)
这是我的 function 中针对 java class 的声明。
JNIEXPORT jstring JNICALL Java_com_android_keyguard_LockJni_stringFromJNI(JNIEnv *env, jobject thisObj , jstring inJNIStr) {
我有一个这样定义的方法,可以在我的 jni class 中调用它。 这位于
package com.android.keyguard;
import android.app.Activity;
import android.widget.TextView;
import android.os.Bundle;
import android.util.Log;
public class LockJni
{
public native String stringFromJNI(String param);
static {
Log.d( "library loaded:", "hello");
System.loadLibrary("lock-jni");
}
public LockJni(){
}
}
谢谢您的帮助!!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.