• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C++ registerNatives函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中registerNatives函数的典型用法代码示例。如果您正苦于以下问题:C++ registerNatives函数的具体用法?C++ registerNatives怎么用?C++ registerNatives使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了registerNatives函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: JNI_OnLoad

Q_BLUETOOTH_EXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* /*reserved*/)
{
    typedef union {
        JNIEnv *nativeEnvironment;
        void *venv;
    } UnionJNIEnvToVoid;

    UnionJNIEnvToVoid uenv;
    uenv.venv = 0;

    if (vm->GetEnv(&uenv.venv, JNI_VERSION_1_4) != JNI_OK) {
        __android_log_print(ANDROID_LOG_FATAL, logTag, "GetEnv failed");
        return -1;
    }

    JNIEnv *env = uenv.nativeEnvironment;
    if (!registerNatives(env)) {
        __android_log_print(ANDROID_LOG_FATAL, logTag, "registerNatives failed");
        return -1;
    }

    if (QT_BT_ANDROID().isDebugEnabled())
        __android_log_print(ANDROID_LOG_INFO, logTag, "Bluetooth start");

    return JNI_VERSION_1_4;
}
开发者ID:venkatarajasekhar,项目名称:Qt,代码行数:26,代码来源:jni_android.cpp


示例2: setupGateway

/**
 * This sets up the 'Gateway' java class for execution of
 * scripts.   The class's constructor takes a jlong.  This java long
 * is used to store the pointer to 'this'.  When ScriptRunner makes
 * native calls, it passes that jlong back, so that it can call the
 * methods of this C++ class.  
 */  
bool JavaBinderyImpl::setupGateway()
{
    String className = "org/inkscape/cmn/Gateway";
    if (!registerNatives(className, gatewayMethods))
        {
        return false;
        }
    jclass cls = env->FindClass(className.c_str());
    if (!cls)
        {
        err("setupGateway: cannot find class '%s' : %s",
		         className.c_str(), getException().c_str());
        return false;
		}
	jmethodID mid = env->GetMethodID(cls, "<init>", "(J)V");
	if (!mid)
        {
        err("setupGateway: cannot find constructor for '%s' : %s",
		          className.c_str(), getException().c_str());
        return false;
		}
    gatewayObj = env->NewObject(cls, mid, ((jlong)this));
    if (!gatewayObj)
        {
        err("setupGateway: cannot construct '%s' : %s",
		         className.c_str(), getException().c_str());
        return false;
		}

	msg("Gateway ready");
    return true;
}
开发者ID:step21,项目名称:inkscape-osx-packaging-native,代码行数:39,代码来源:javabind.cpp


示例3: CountableOnLoad

void CountableOnLoad(JNIEnv* env) {
  jclass countable = env->FindClass("com/facebook/jni/Countable");
  gCountableNativePtr = env->GetFieldID(countable, "mInstance", "J");
  registerNatives(env, countable, {
    { "dispose", "()V", (void*) dispose },
  });
}
开发者ID:CleverLever,项目名称:react-native,代码行数:7,代码来源:Countable.cpp


示例4: __attribute__

	/*
	 * Set some test stuff up.
	 *
	 * Returns the JNI version on success, -1 on failure.
	 */
	__attribute__ ((visibility("default"))) jint JNI_OnLoad(JavaVM* vm, void* reserved)
	{
		JNIEnv* env = NULL;
		jint result = -1;

		if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK)
		{
			LOGE("ERROR: GetEnv failed");
			goto bail;
		}
		assert(env != NULL);

		LOGD("In main JNI_OnLoad");

		if (registerNatives(env) < 0)
		{
			LOGE("ERROR: Exif native registration failed");
			goto bail;
		}

		/* success -- return valid version number */
		result = JNI_VERSION_1_4;

		bail: return result;
	}
开发者ID:jagrutibhadani,项目名称:Android-Exif-Extended,代码行数:30,代码来源:main.c


示例5: JNI_OnLoad

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

	LOGE("OnLoad");

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

	if (!registerNatives(env,
			     "com/ti/jfm/core/JFmRx",
	                     JFmRxNative_sMethods,
			     NELEM(JFmRxNative_sMethods))) {
		goto bail;
	}

	env->GetJavaVM(&g_jVM);

	/* success -- return valid version number */
	result = JNI_VERSION_1_4;

bail:
	return result;
}
开发者ID:MardonHH,项目名称:vendor_ti_fmradio,代码行数:26,代码来源:JFmRxNative.cpp


示例6: JNI_OnLoad

Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* /*reserved*/)
{
	__android_log_print(ANDROID_LOG_INFO,"Qt", "qt start");
	UnionJNIEnvToVoid uenv;
    uenv.venv = NULL;
	m_javaVM = 0;

    if (vm->GetEnv(&uenv.venv, JNI_VERSION_1_4) != JNI_OK)
    {
        __android_log_print(ANDROID_LOG_FATAL,"Qt","GetEnv failed");
        return -1;
    }
    m_env = uenv.nativeEnvironment;
    if (!registerNatives(m_env))
    {
        __android_log_print(ANDROID_LOG_FATAL, "Qt", "registerNatives failed");
        return -1;
    }
	if (!saveCustomClass(m_env, customClass))
	{
		__android_log_print(ANDROID_LOG_FATAL, "Qt", "Custom registerNatives failed");
		return -1;
	}
	m_javaVM = vm;
    return JNI_VERSION_1_4;
}
开发者ID:meetshah1995,项目名称:stellarium-finger,代码行数:26,代码来源:qtmain_android.cpp


示例7: JNI_OnLoad

Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void * /*reserved*/)
{
    static bool initialized = false;
    if (initialized)
        return JNI_VERSION_1_6;
    initialized = true;

    typedef union {
        JNIEnv *nativeEnvironment;
        void *venv;
    } UnionJNIEnvToVoid;

    __android_log_print(ANDROID_LOG_INFO, logTag, "Sensors start");
    UnionJNIEnvToVoid uenv;
    uenv.venv = NULL;
    javaVM = 0;

    if (vm->GetEnv(&uenv.venv, JNI_VERSION_1_4) != JNI_OK) {
        __android_log_print(ANDROID_LOG_FATAL, logTag, "GetEnv failed");
        return -1;
    }
    JNIEnv *env = uenv.nativeEnvironment;
    if (!registerNatives(env)) {
        __android_log_print(ANDROID_LOG_FATAL, logTag, "registerNatives failed");
        return -1;
    }

    javaVM = vm;
    return JNI_VERSION_1_4;
}
开发者ID:2gis,项目名称:2gisqt5android,代码行数:30,代码来源:androidjnisensors.cpp


示例8: JNI_OnLoad

JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved)
{
//    JNIEnv* env = NULL;
//    jint result = -1;
//
//    if (vm->GetEnv( (void**) &env, JNI_VERSION_1_1) != JNI_OK) {
//        __android_log_print(ANDROID_LOG_ERROR, "tag", "load library error 1");
//        return JNI_ERR;
//    }
//    assert(env != NULL);
//
//    if (!registerNatives(env)) {
//        ALOG(ANDROID_LOG_ERROR, "tag", "load library error 2");
//        return JNI_ERR;
//    }
//    result = JNI_VERSION_1_1;
//    ALOG(ANDROID_LOG_ERROR, "tag", "load library success: %d", result);
//    return result;
	JNIEnv* env = NULL;
	jint result = -1;
	if (vm->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK) {//从VM中取得JNIEnv的指针
		ALOG(ANDROID_LOG_ERROR, "tag","ERROR: GetEnv failed\n");
		return JNI_ERR;
	}
	assert(env != NULL);
	if (!registerNatives(env)) {//调用动态注册的方法
		ALOG(ANDROID_LOG_ERROR, "tag","ERROR: MediaPlayer native registration failed\n");
		return JNI_ERR;
	}
	 result = JNI_VERSION_1_4;
	 ALOG(ANDROID_LOG_ERROR, "tag", "load library success: %d", result);
   return result;
}
开发者ID:minstrelsy,项目名称:live555-for-android,代码行数:33,代码来源:tx_recorder_jni.cpp


示例9: JNI_OnLoad

Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void * /*reserved*/)
{
    typedef union {
        JNIEnv *nativeEnvironment;
        void *venv;
    } UnionJNIEnvToVoid;

    LOG_MODEL_DEBUG("CAndroidNotification", "JNI_OnLoad start");
    UnionJNIEnvToVoid uenv;
    uenv.venv = NULL;
    javaVM = 0;

    if (vm->GetEnv(&uenv.venv, JNI_VERSION_1_4) != JNI_OK) {
        LOG_MODEL_ERROR("CAndroidNotification", "GetEnv failed");
        return -1;
    }
    JNIEnv *env = uenv.nativeEnvironment;
    if (!registerNatives(env)) {
        LOG_MODEL_ERROR("CAndroidNotification", "registerNatives failed");
        return -1;
    }

    javaVM = vm;
    return JNI_VERSION_1_4;
}
开发者ID:KangLin,项目名称:rabbitim,代码行数:25,代码来源:AndroidNotification.cpp


示例10: JNI_OnLoad

/*
 * Set some test stuff up.
 *
 * Returns the JNI version on success, -1 on failure.
 */
jint JNI_OnLoad(JavaVM* vm, void* reserved)
{
    UnionJNIEnvToVoid uenv;
    uenv.venv = NULL;
    jint result = -1;
    JNIEnv* env = NULL;

    if (vm->GetEnv(&uenv.venv, JNI_VERSION_1_4) != JNI_OK) {
        fprintf(stderr, "ERROR: GetEnv failed\n");
        goto bail;
    }
    env = uenv.env;

    assert(env != NULL);

    printf("In mgmain JNI_OnLoad\n");

    if (!registerNatives(env)) {
        fprintf(stderr, "ERROR: SEHome native registration failed\n");
        goto bail;
    }

    register_com_android_se_SECamera(env);
    register_com_android_se_SEObject(env);
    register_com_android_se_scene(env);
    register_com_android_se_SEParticleSystem(env);
    register_com_android_se_XMLAnimation(env);
//    register_com_android_se_uiManager(env);
    /* success -- return valid version number */
    result = JNI_VERSION_1_4;

bail:
    return result;
}
开发者ID:3DHome,项目名称:3DHomeHD,代码行数:39,代码来源:android_se_sceneManager.cpp


示例11: JNI_OnLoad

jint JNI_OnLoad(JavaVM* vm, void* reserved)
{
	UnionJNIEnvToVoid uenv;
	uenv.venv = NULL;
	jint result = -1;
	JNIEnv* env = NULL;
	
	LOGI("JNI_OnLoad");

	if (vm->GetEnv(&uenv.venv, JNI_VERSION_1_4) != JNI_OK) {
		LOGE("ERROR: GetEnv failed");
		goto bail;
	}
	env = uenv.env;

	if (registerNatives(env) != JNI_TRUE) {
		LOGE("ERROR: registerNatives failed");
		goto bail;
	}
	
	result = JNI_VERSION_1_4;
	
bail:
	return result;
}
开发者ID:afjcjsbx,项目名称:gb-a-android,代码行数:25,代码来源:entry.cpp


示例12: initAMXGM

void CNetwork::initAMXGM( void ) {
	if(registerNatives(gamemode_Natives)) {
		ExecMain();
		OnGameModeInit(); //Everything is loaded, init our gamemode..
		mainHooks();
		RestartMap();
	}
}
开发者ID:colistro123,项目名称:Nightfire-iniMod,代码行数:8,代码来源:gamemodes.cpp


示例13: JNI_OnLoad

/*
 * Set some test stuff up.
 *
 * Returns the JNI version on success, -1 on failure.
 */
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved) {
    
    if (vm->GetEnv((void**) &gEnv, JNI_VERSION_1_4) != JNI_OK) {
        return -1;
    }
    
    if (!registerNatives(gEnv)) {
        return -1;
    }
    return JNI_VERSION_1_4;
}
开发者ID:2050utopia,项目名称:legend,代码行数:16,代码来源:legend_native.cpp


示例14: JNI_OnLoad

    JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved)
    {
        JNIEnv *vm_env;

        if (!vm->GetEnv((void **) &vm_env, JNI_VERSION_1_4))
            env = new JCCEnv(vm, vm_env);

        registerNatives(vm_env);

        return JNI_VERSION_1_4;
    }
开发者ID:ahua,项目名称:java,代码行数:11,代码来源:jcc.cpp


示例15: JNI_OnLoad

jint JNI_OnLoad(JavaVM* vm, void* reserved) {
	jint result = -1;
	JNIEnv* env = NULL;
	if ((*vm)->GetEnv(vm, (void **) &env, JNI_VERSION_1_4)) {
		goto fail;
	}
	if (registerNatives(env) != JNI_TRUE) {
		goto fail;
	}
	result = JNI_VERSION_1_4;
	fail: return result;
}
开发者ID:EricChen2013,项目名称:android-3,代码行数:12,代码来源:dynamicRegisterMethod.c


示例16: JNI_OnLoad

JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved) {
	JNIEnv* env = NULL;
	jint result = -1;
	if (vm->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK)
		return JNI_FALSE;
	assert(env != NULL);

	if (registerNatives(env) != JNI_OK)
		return JNI_FALSE;

	return JNI_VERSION_1_4;
}
开发者ID:LCW523,项目名称:android_audio_video,代码行数:12,代码来源:native_codec_center.cpp


示例17: JNI_OnLoad

JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void * reserved) {
    jint result = -1;

    gJvm = vm;
    if(vm->GetEnv((void**)&gEnv, JNI_VERSION_1_6) != JNI_OK) goto bail;
    if(vm->AttachCurrentThread(&gEnv, NULL) < 0) goto bail;
    if(registerNatives(gEnv) != JNI_TRUE) goto bail;

    result = JNI_VERSION_1_6;

bail:
    return result;
}
开发者ID:ABruines,项目名称:libwebsockets,代码行数:13,代码来源:LwsService.cpp


示例18: JNI_OnLoad

//JVM虚拟机加载完so库后,接着会在该库中查找JNI_OnLoad()函数,并调用。因此在这里进行动态注册。
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved)
{
    LOGE("---------------------------JNI_OnLoad---------------------------\n");
    JNIEnv* env;
    if ((vm->GetEnv((void**)&env, JNI_VERSION_1_4)) != JNI_OK)
    {
        return -1;
    }

    //进行动态注册
    registerNatives(env);

    return JNI_VERSION_1_4;
}
开发者ID:muupu,项目名称:practice_android,代码行数:15,代码来源:com_example_jnidemo_JniTest.cpp


示例19: JNI_OnLoad

JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved)
{
  JNIEnv* env = NULL;
  jint result = -1;

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

  if (!registerNatives(env))
    return JNI_ERR;

  /* success -- return valid version number */
  result = JNI_VERSION_1_4;
  return result;
}
开发者ID:sbt-android-mill,项目名称:sbt-android-mill,代码行数:15,代码来源:HelloWorldAndroidJNI.c


示例20: JNI_OnLoad

jint JNI_OnLoad(JavaVM* vm, void* reserved)
{
    void *venv;
    LOGE("JNI_OnLoad!");
    if ((*vm)->GetEnv(vm, (void**)&venv, JNI_VERSION_1_4) != JNI_OK) {
        LOGE("ERROR: GetEnv failed");
        return -1;
    }
    if (registerNatives(venv) != JNI_TRUE) {
            LOGE("ERROR: registerNatives failed");
            return -1;
    }
    LOGE("JNI_VERSION_1_4 %d",JNI_VERSION_1_4);
    return JNI_VERSION_1_4;
}
开发者ID:kuangzt,项目名称:Practice4Android,代码行数:15,代码来源:nmath.c



注:本文中的registerNatives函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ registerObject函数代码示例发布时间:2022-05-30
下一篇:
C++ registerNativeMethods函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap