Android Activity调用cpp文件方法

工作需求,需要在activity调用coco2d开发的游戏源码.cpp方法中的函数执行,于普通JNI调用不同的是java调用时需要做修改

activity中实现

1:首先是定义jni方法合要调用的so名称


    public native void sendcard(int card);

    static {
        System.loadLibrary("MyGame");
    }

2:因为是coco2d开发游戏的cpp文件,所以因为线程问题需要如下方式调用。否则调用方法运行时会出错

   public void runNativeSendCard(final int card) {
            Cocos2dxGLSurfaceView.getInstance().queueEvent(new Runnable() {
            @Override
            public void run() {
                sendcard(card);//在此调用原函数
            }
        });
    }

cpp文件实现

1:

extern "C"
JNIEXPORT void JNICALL
Java_org_cocos2dx_cpp_NativeUtil_sendcard(JNIEnv *env, jobject instance, jint card) {

   //此处执行cpp中函数
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值