最近在搞Android的JNI封装,遇到一个问题:
我用swig工具转化c代码,其中char ** 最终被转换成了SWIGTYPE_p_p_char。
这不是我想要的结果,我想要的是把char** 转换string数组。我在网上看了一些资料,应该是用SWIG的typemap,但是不知道怎么用,网上例子没有看懂。能够给些指点,告诉我怎么用?谢谢各位

解决方案 »

  1.   

    这个问题
    没有解决,最后还是自己手动写JNI接口。虽然繁琐一些,但是方便管理。
      

  2.   

    推荐两种方法:1、使用std::string进行typemap,2、定义一个自己的模板类,TouchVG里有例子
    https://github.com/rhcad/touchvg/blob/master/core/include/shape/mgstoragebs.h
      

  3.   

    https://github.com/rhcad/touchvg/blob/master/android/skiaview/jni/skiaview.swig
    里的“%template(Chars) mgvector<short>;”就可以让Android代码写为:
    @Override
    public int readString(String name, Chars value) {}