首页 > 其他分享 >Android Native注册

Android Native注册

时间:2022-12-19 16:12:18浏览次数:29  
标签:注册 example HardwareName env anative Android com JNI Native

JNI_OnLoad中注册

// NativeOnLoad.cpp
#include <jni.h>

extern jint register_com_example_anative_HardwareName(JNIEnv*);

jint JNI_OnLoad(JavaVM *vm, void *reserved) {
    JNIEnv *env = NULL;

    if (vm->GetEnv((void **) &env, JNI_VERSION_1_4) != JNI_OK) {
        return JNI_ERR;
    }

    if (register_com_example_anative_HardwareName(env)) {
        return JNI_ERR;
    }

    return JNI_VERSION_1_4;
}

env->RegisterNatives注册函数

#include <jni.h>

jstring com_example_anative_HardwareName_getName(JNIEnv *env, jobject thiz) {

    return env->NewStringUTF("Hello from c++");
}

// native 方法
static JNINativeMethod gMethods[] = {
        {"getName", "()Ljava/lang/String;",
                (void *) com_example_anative_HardwareName_getName},
};

int register_com_example_anative_HardwareName(JNIEnv *env) {
    jclass clazz = env->FindClass("com/example/anative/HardwareName");

    return env->RegisterNatives(clazz, gMethods,
                                sizeof(gMethods) / sizeof(JNINativeMethod));
}
package com.example.anative;

public class HardwareName {

   public native String getName();
}

标签:注册,example,HardwareName,env,anative,Android,com,JNI,Native
From: https://www.cnblogs.com/tangshunhui/p/16992394.html

相关文章

  • 项目升级到Android31版本dlopen找不到系统so库文件
    简介最近有个海外项目需要把之前项目从30版本升级到31版本,升级后发现就发现一个问题:因为我们的项目是系统签名的apk,所以集成到系统中后是没有任何问题的,但是当我们手动安......
  • Android中添加set文件
    一般情况下,set文件在anim目录下面,如果没有anim目录,就新建一个。1.右键点击anim,选择new->AnimationResourceFile2.选择类型为set,点击OK即可3.一个例子 ......
  • ReactNative(三)——WebStorm的基本配置
    设置.js文件默认以jsx的语法打开在没有进行设置的情况下,每次打开WebStorm的时候打开包含jsx语法的.js文件都会有以下提示:当然我们点击转换后就可以了,但是每次都会提示,所以还......
  • Android微信智能心跳方案
    前言:在13年11月中旬时,因为基础组件组人手紧张,Leo安排我和春哥去广州轮岗支援。刚到广州的时候,Ray让我和春哥对Line和WhatsApp的心跳机制进行分析。我和春哥抓包测试了差不多......
  • Android Studio使用Mob实现短信验证功能遇到的问题解决
    一、Mob短信验证​​全球领先的数据智能科技平台-MobTech袤博解决​​进行注册登入 登入成功后,点击开发者服务中的短信验证,进入开发者平台填好信息创建成功后显示下图,可以......
  • 注册商标可以享有的十大特权?
    很多的人都有一个这样的疑惑,就是商标注册成功后,在拿到《商标注册证》了是不是就万事大吉了?答案是否定的,纵观目前市场,商标纠纷等情况还是层出不穷,如此辛苦才拿到梦寐以求的......
  • android view
    ReactNative已经封装了大部分最常见的组件,譬如ScrollView和TextInput,但不可能封装全部组件。在这个例子里,我们来看看为了让JavaScript中可以使用ImageView,需要做哪些......
  • 没有为扩展名“.html”注册的生成提供程序
     原来的项目是用VS2003开发的,用VS2008成功转换了项目,运行的时候发现有些原本就是.html类型的文件无法访问(项目中使用了URL重写组件,并在web.config中配置了大量重写规则),报......
  • (转)android:自定义ToolBar详解
    今年(2014)的googlei/o发表令多数人为之一亮的materialdesign,而google也从「googlei/o2014」开始,大家也陆陆续续地看到其更新的androidapp皆套用了这个设计介......
  • (转)Android studio debug 技巧介绍
    写代码不可避免有Bug,通常情况下除了日志最直接的调试手段就是debug;那么你的调试技术停留在哪一阶段呢?仅仅是下个断点单步执行吗?或者你知道 ​​EvaluateExpression​​,......