大家好:
    我是刚毕业的大学生,目前在一家游戏公司做项目,以前是学习c和c++出身,java略有涉猎。
    目前这个项目是别人写的,我需要增删一些功能,主要是UI上面的,但是我对android怎么调用c++代码实现机制不是很了解,程序思路不是很难,但是时间比较紧,这个游戏设计的类也不少,方法也小复杂。
    望大家给点思路,我怎么快速看懂这个牛人写的代码,若我重写UI布局,我应该注意什么,应该着重去找哪部分的内容。谢谢!望共同进步。

解决方案 »

  1.   

    1、首先C++ 和Java是两种不同的语言,要相互通信,只有借助VM,同时还要遵循一定的协议,这就是jni,vm就是把java的接口解释后,调用C++的函数,所以必须遵循jni协议;
    2、java调用C++库时,首先要调用OnLoad函数来进行C++函数注册,即C++提供的函数表注册,第一个参数是从C++函数在java里的名字,第二个是参数表,第三个是函数地址
    3、在java里编写调用本地库的类,注意static {System.loadlibrary(**)},**是你的jni库名字,不带后缀,前面也不带lib,后面声明native函数,与2中注册的函数一致。
    4、按照以上步骤,基本就可以实现android的应用层调用C++库了。