ndk开发总结
来源:互联网 发布:网络银行交易额 编辑:程序博客网 时间:2024/05/14 15:34
1.findclass()找不到自定义的类的解决方法:
步骤1:设置-Djava.class.path
//具有用于JVM的各种选项设置
JavaVMOption options[1];
//设置参考class文件或jar包所在目录,可以修改
options[0].optionString = "-Djava.class.path=.;D:\\javaClass";
...
...
// 指定对象的类定义(jclass)
jclass cls = NULL;
//获得一个实例对象
cls = env->FindClass("Person"); //获取指定对象的类定义(jclass) ,注意:Person是类名称,并且是.class文件中的类名称,而非.java文件中的,如果目录D:\javaClass目录下没有Person.class文件,而只有Person.java文件FindClass是找不到类的,因为其找的是.class文件中的类(即通过javac Person.java编译后的class文件)
备注:javap –s Person //获取函数前面的方式,也是通过.class文件产生的,如果只有.java文件,该命令是不能执行成功的!
if(cls !=0)
{
mid = env->GetMethodID(cls,"<init>","()V"); //调用类的默认构造函数的方法!第二个参数是固定的,表示调用构造函数!---不论类名是什么,都这么写?
if(mid!=0)
{
jobj=env->NewObject(cls,mid);
std::cout << "init ok " << mid << std::endl;
}
//获取函数id,获取静态方法id时要调用含static关键字的函数!--获取函数是通过类实现的,调用函数才用对象jobj
mid = env->GetStaticMethodID(cls, "main"); //读取要调用方法的定义(jmethodID)
//调用函数
env->CallVoidMethod(jobj,mid);//调用无参函数的方法,如main,main中可以无参的
square = env->CallIntMethod(jobj,mid,env->NewStringUTF(""),env->NewStringUTF("111"));//调用方法
参考:http://zhidao.baidu.com/question/256113643.html
- ndk开发总结
- ndk 开发步骤总结
- ndk开发步骤总结
- NDK开发总结
- Android NDK开发总结
- Android ndk 开发步骤总结
- Android JNI(NDK)开发总结
- NDK开发常见错误总结
- NDK基础开发注意事项-总结
- android 开发ndk相关总结
- Android NDK C++开发注意事项总结
- Android NDK C++开发注意事项总结
- Android NDK C++开发注意事项总结
- Android NDK C++开发注意事项总结
- Android NDK C++开发注意事项总结
- Android NDK C++开发注意事项总结
- Android NDK C++开发注意事项总结
- Android NDK C++开发注意事项总结
- Installshield-limited-edition Relative Path
- 在一台Windows电脑上安装多个Mysql服务的方法
- ONETIME_WHERE用法
- Android手机中获取手机号码和运营商信息
- 细数Linux下制作U盘系统启动盘的方法!
- ndk开发总结
- 拓展,三个数比较大小
- eclipse中配置SVN
- Linux系统管理命令
- 进程与线程的区别和联系
- 脂肪肝
- 用opencv中的CvEM做GMM的训练
- 表达式语言的内置对象
- IT English Collection(28)of Property list