首页 > 代码库 > andorid框架搭建的各种问题

andorid框架搭建的各种问题

最近在搭建游戏的android框架,零零散散的遇到很多问题,暂时记录下来。

 

首先一个最大的问题是,有的c++代码可以调试,有的不可以调试。

尝试了命令行的gdb调试,也还是不行,最后还是选择打log的方式。

遇到崩溃的问题,最好还是找个可以调试的机器,这样能迅速的定位问题。

 

然后是命令行编译的问题

cygwin 需要的包
autoconf2.1、automake1.10、binutils、gcc-core、gcc- g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make共12个包
 
jni的头文件声明可以通过javah 反编译生成

利用javah生成jni头文件的时候,native方法不能写在mainactivty中,否则的话会失败

要单独写一个java类。

 

 

上面导出的头文件要一起编译

 

导出的java类,和android.mk中的module名字必须一样(后来验证过了,类名可以不一样, System.loadLibrary()的和android.mk的LOCAL_MODULE 必须一致;)

 

LOCAL_MODULE := TestHello

 

 

 

public class TestHello {

 

   

 

    static {

 

        System.loadLibrary("TestHello" );

 

    }

 

 

 

    //public static native void hello(String msg);

 

 

 

    public static void main(String args[]) {

 

        //hello("Hello,Kimm!" );

 

    }

 

}  

 

 

 

module可以有多个

 

 

 

每个module由LOCAL_MODULE := TestHello这个分开

 

 

 

jni层的c文件和c++文件要注意

 

JNIEnv* env c++直接传的是env的指针

 

env->这样直接调用

 

 

 

c的话

 

(*env)->这样调用

 

 

想到什么写什么,有点小乱。

接下来要研究android上的opengl es的框架了。