在框架中使用Android NDK

问题描述

您好,我一直在尝试在Android Keyguard(frameworks / base / packages / SystemUI)中调用JNI库。我可以在Android设置中执行此操作,但现在需要在Keyguard中调用它。当前,正在创建共享对象。它位于/ system / lib64中(我在android设置中使用的一个也位于32位lib中)。我应该使用它时不会被调用。 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)

这是我的函数中Java类的声明。

JNIEXPORT jstring JNICALL Java_com_android_keyguard_LockJni_stringFromJNI(JNIEnv *env,jobject thisObj,jstring inJNIStr) {

我在jni类中定义了这样的方法来调用它。这是位于

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(){

                }
}

感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...