Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JNI如何桥接一些复杂对象和回调_Java_C++_Android Ndk - Fatal编程技术网

Java JNI如何桥接一些复杂对象和回调

Java JNI如何桥接一些复杂对象和回调,java,c++,android-ndk,Java,C++,Android Ndk,我的android项目需要一些C++/C库,我有一个库(.so)和一些头(.h)。我参考了一些简单的演示,使用JNI桥接一些简单的函数,但是这个库对我来说很复杂。如何桥接这些复杂对象和回调 创建了一个android项目 将xxx.so复制到lib/armeabi中,将所有.h文件复制到jni文件夹 我想使用JNI桥接这些c++函数,我知道我需要创建一个MStack.h和MStack.cpp来实现这些函数,但是这些头类让我很困惑,我不熟悉c++ 有些人喜欢这样: class SIPSTACK_AP

我的android项目需要一些C++/C库,我有一个库(.so)和一些头(.h)。我参考了一些简单的演示,使用JNI桥接一些简单的函数,但是这个库对我来说很复杂。如何桥接这些复杂对象和回调

  • 创建了一个android项目

  • 将xxx.so复制到lib/armeabi中,将所有.h文件复制到jni文件夹

  • 我想使用JNI桥接这些c++函数,我知道我需要创建一个MStack.h和MStack.cpp来实现这些函数,但是这些头类让我很困惑,我不熟悉c++

  • 有些人喜欢这样:

    class SIPSTACK_API ISipStack : public Component::IUnknown
    {
    public:
    
    class IFactory : public Component::IFactoryUnknown
    {
    public:
    
        virtual ISipStack* create() = 0;
    
    
        static const char* iid() {return "SipStack";}
    };  
    public:
    virtual ~ISipStack(void){}
    
    ///@brief 
    ///\param [in] config 
    ///\note 
    virtual bool setConfig(SipConfigInfo& config)
        COMPONENT_UNIMPLEMENTED_OPERATION
    
    
    ///\param [in] handler 
    ///\note  
    virtual bool start(void)
        COMPONENT_UNIMPLEMENTED_OPERATION
    
    ///@brief 
    enum
    {
        inviteHandler = 0,   
        actRegHandler,       
        pasRegHandler,       
        outCallMsgHandler,  
        subscribeHandler,    
        proxyHandler        
    };
    
    /// @brief 
    ///\param[in] type inviteHandler、registerHandler    
    ///\param[in] handler  
    ///\note  
    virtual bool attachHandler(int type, Component::IUnknown* handler)
        COMPONENT_UNIMPLEMENTED_OPERATION
    

    如何将它们放入相应的.h中并在cpp中实现。谢谢