繁体   English   中英

在框架中使用 Android NDK

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM