`
yidongkaifa
  • 浏览: 4147432 次
文章分类
社区版块
存档分类
最新评论

cocos2d-x 使用JNI从Java调C++

 
阅读更多

最近项目中涉及到Android的移植,要用到java调用c++,方法其实也很简单。

假设java这边我需要调用C++那边的函数void PaySuccess(int type);

1、在java这边申明

1 private static native void nativePaySuccess(int i);

调用时,

1 nativePaySuccess(1);

这样java会调用到C++那边。

2、C++那边实现该方法:

01 #include <jni.h>
02
03 extern "C"
04
05 {
06
07 void Java_com_cocos2dev_test_JNIDemo_nativePaySuccess(JNIEnv* env, jobject thiz,jint a)
08
09 {
10
11 //这里java调用nativePaySuccess(1);,这里就会被调用。jint a = 1
12
13 }
14
15 }

注意:

C++这边请注意一下c++这边方法申明的命名规则,JNIDemo表示java那边方法所在类名,com_cocos2dev_test_该类的包名。nativePaySuccess方法名。

分享到:
评论

相关推荐

    cocos2d-x 通过JNI实现c/c++和Android的java层函数互调-源码

    在Android应用开发中,Cocos2d-x是一个广泛使用的开源游戏引擎,它允许开发者使用C++编写游戏逻辑,同时提供了与Java交互的能力。本主题聚焦于如何通过JNI(Java Native Interface)来实现在Cocos2d-x中调用Java层的...

    cocos2d-x-3.13.1 spine3.6.zip

    Cocos2d-x是一个广泛使用的开源游戏开发框架,它基于C++,同时支持Lua和JavaScript等多种脚本语言,为开发者提供了高效、跨平台的游戏开发解决方案。在3.13.1版本中,Cocos2d-x对Spine动画引擎的集成进行了更新,这...

    ocos2d-x 通过JNI实现c/c++和Android的java层函数互调

    cocos2d-x 通过JNI实现c/c++和Android的java层函数互调, 本文主要实现两个功能: (1)通过Android sdk的API得到应用程序的包名(PackageName),然后传递给c++层函数。 (2)通过c++函数调用Android的java层函数,显示一...

    Cocos2d-x跑酷(StarterKit)游戏源码

    10. **Android集成**:除了Cocos2d-x的核心游戏逻辑外,源码还涉及到Android特定的集成,如AndroidManifest.xml配置,Intent启动游戏,以及可能的JNI(Java Native Interface)交互,用于调用原生Android库。...

    Cocos2d-Java跨平台游戏引擎

    Cocos2d-Java是基于Cocos2d-X,使用Java语言来开发Cocos2d跨平台游戏的引擎,和-lua,-js的api风格相近,方便快捷,便于习惯Java的开发者开发跨平台游戏。 知识点一:Cocos2d-Java的定义和特点 Cocos2d-Java是...

    JNI(c++与Java互调)cocos2d-x_3.x和android studio 3.0

    在Android开发中,JNI被广泛应用于实现Java与C++的互操作性,特别是在性能敏感的应用场景,如游戏开发,如cocos2d-x框架。cocos2d-x是一个开源的、跨平台的2D游戏开发框架,使用C++编写,但同时支持Java等其他语言的...

    cocos2d-x 3.6创建项目代码

    在本文中,我们将深入探讨如何使用cocos2d-x 3.6版本创建一个新的项目,并解决可能遇到的编译问题。 首先,我们要确保已经正确地安装了cocos2d-x 3.6的开发环境。这包括安装C++编译器(如Visual Studio)、Python...

    cocos2d-x手机游戏开发 跨iOS、Android和沃Phone平台

    - **原生代码集成**:如果需要访问 Android 特有的 API 或者实现某些特殊功能,可以使用 Java 编写原生代码,并通过 JNI(Java Native Interface)与 C++ 层交互。 ##### 3. 沃Phone平台开发 虽然“沃Phone”这个...

    cocos2d-x嵌入webview

    在cocos2d-x项目中,对于Android平台,你需要编译生成.so动态链接库文件,这是为了支持C++代码与Java代码的交互。使用NDK进行交叉编译,将Webview相关的Java代码打包进.so库。之后,将生成的.so文件放入项目的jni...

    cocos2d-x范例游戏

    通过NDK(Native Development Kit)和JNI(Java Native Interface),cocos2d-x允许开发者使用C++编写游戏逻辑,并在Android平台上运行。同时,由于cocos2d-x使用原生代码,游戏性能通常比使用纯Java开发的游戏更优...

    cocos2d-x Andriod

    cocos2d-x使用JNI(Java Native Interface)与Android的Java层进行交互,通过定义JNI方法并在Java和C++中分别实现,实现游戏逻辑与Android系统功能的结合。 **7. 测试与调试** 完成上述步骤后,可以在Eclipse中进行...

    cocos2d-x权威指南

    在Java环境下使用cocos2d-x,你需要知道如何利用JniBridge进行Java和C++间的通信。这涉及到JNI(Java Native Interface)的知识,包括头文件的生成、C++函数的声明和实现,以及在Java代码中调用这些原生方法。 ...

    cocos2d-x protocol buffer android 工程

    Cocos2d-x提供了一套完整的JNI(Java Native Interface)机制,使得C++和Java可以无缝沟通。这包括创建NDK项目,设置JNI接口,以及在Java和C++之间传递数据。 接下来,让我们深入探讨protobuf。Protocol Buffer是一...

    COCOS2D-X手机游戏开发++跨IOS、ANDROID和沃PHONE平台

    COCOS2D-X是基于C++实现的,提供了丰富的API接口,允许开发者使用C++、Lua或JavaScript进行编程。其核心特性包括图形渲染、物理引擎、动画系统、音频管理等。COCOS2D-X还支持热更新,可以减少游戏更新时用户下载的...

    cocos2d-x_Win32_Android_环境配置手册.doc

    - 安装Visual Studio:Cocos2d-x推荐使用Visual Studio作为IDE,确保安装包含C++组件的版本。 - 安装Git:用于获取Cocos2d-x源码。 2. **获取Cocos2d-x源码** 打开命令行,使用`git clone`命令克隆Cocos2d-x仓库...

    ubuntu系统下配置eclipse自动编译cocos2d-x的Android项目

    通过以上步骤,您可以实现在Ubuntu系统下使用Eclipse自动编译Cocos2d-x的Android项目。这一过程不仅涵盖了软件环境的搭建,还包括了项目创建、配置及调试等多个方面,为开发者提供了全面的指南。对于希望在Linux环境...

    cocos2d-x移植android平台iconv中文支持库

    Cocos2d-x是一个流行的开源游戏引擎,它基于C++,并支持多种平台,包括Windows、iOS、Android等。在Windows环境下,Cocos2d-x默认使用了iconv库来处理字符集的转换,但当项目移植到Android平台时,由于系统环境和库...

    shareSDK android 版本在cocos2d-x-2.2.6的集成

    在Android平台上,Cocos2d-x是一个广泛使用的开源游戏开发框架,它允许开发者用C++编写游戏,并在多个操作系统上运行。ShareSDK是一款强大的社会化分享工具,它支持将内容分享到各大社交网络,如微信、QQ、微博等。...

    8 cocos2d-x移植android的解决方案

    总结,将Cocos2d-x项目从Win32移植到Android平台是一个涉及多步骤的过程,涉及到资源迁移、代码替换、Android.mk的修改和NDK编程等环节。理解每个步骤的目的和操作方法,是成功完成移植的关键。在实践中,可能还会...

    cocos2d-x 2.2.3 flappybird 源代码 含有B2Sprite .h .cpp 文件 已在Eclipse能打包运行,含有apk文件

    本篇将深入探讨基于Cocos2d-x 2.2.3框架开发的Flappy Bird源代码,特别关注B2Sprite的使用以及如何在Eclipse环境下进行项目打包运行。 首先,Cocos2d-x是一个开源的游戏开发框架,它基于C++,支持跨平台开发,包括...

Global site tag (gtag.js) - Google Analytics