• 首页
  • 学校概括
  • 政策动态
  • 通知公告
  • 培训课程
  • 技能培训
  • 招生就业
  • 联系我们
> 培训课程
> 动态注册
动态注册
时间:2023-12-24

DongTaiZhuCe.java

package top.ichenhao.dongtaizhucedemo;

public class DongTaiZhuCe {

    static {
        System.loadLibrary("native-lib");
    }

    public native String dongtai_zhuce_java(String p1);

    public native String jingtai_zhuce_java(String p1);

}

native-lib.cpp

#include <jni.h>
#include <string>
#include <stdlib.h>
#include <android/log.h>

#define LOG_TAG "Native"
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__)

#define JNI_REG_CLASS "top/ichenhao/dongtaizhucedemo/DongTaiZhuCe" // path of Java file

// 静态注册 top.ichenhao.dongtaizhucedemo.DongTaiZhuCe.jingtai_zhuce_java
extern "C" JNIEXPORT jstring JNICALL Java_top_ichenhao_dongtaizhucedemo_DongTaiZhuCe_jingtai_1zhuce_1java(JNIEnv *env, jobject thiz, jstring jstr) {
    const char *hello = "静态注册";
    const char *chello = env->GetStringUTFChars(jstr, NULL);
    char * str3 = (char *) malloc(1 + strlen(hello)+ strlen(chello) );
    strcpy(str3, hello);
    strcat(str3, chello);
    return env->NewStringUTF(str3);
}

// 动态注册 top.ichenhao.dongtaizhucedemo.DongTaiZhuCe.dongtai_zhuce_java
static jstring  dongtai_zhuce(JNIEnv *env, jobject thiz, jstring jstr) {
    const char *hello = "动态注册";
    const char *chello = env->GetStringUTFChars(jstr, NULL);
    char * str3 = (char *) malloc(1 + strlen(hello)+ strlen(chello) );
    strcpy(str3, hello);
    strcat(str3, chello);
    return env->NewStringUTF(str3);
}


static JNINativeMethod g_methods[] = {
        { "dongtai_zhuce_java", "(Ljava/lang/String;)Ljava/lang/String;", (void*)dongtai_zhuce},
};

// must define this function
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm,void *reserved) {
    JNIEnv *env;
    LOGE("JNI_OnLoad=======================");
    if (vm->GetEnv((void **) &env,JNI_VERSION_1_6) != JNI_OK) {
        return JNI_ERR;
    }

    jclass javaClass = env->FindClass(JNI_REG_CLASS);
    if (javaClass == NULL){
        return JNI_ERR;
    }

    int method_count = sizeof(g_methods) / sizeof(g_methods[0]);
    if (env->RegisterNatives(javaClass, g_methods, method_count) < 0) {
        return JNI_ERR;
    }

    return JNI_VERSION_1_6;
}





  • 上一篇:没有了
  • 下一篇:没有了

主办单位:邹城市清华园职业培训学校

联系电话:0537-5237785

网站备案号:鲁ICP备2024079929号-1

联系地址:山东省济宁市邹城市华茂万一期东门清华园标准化考点

微信咨询
微信咨询