`
cb269267
  • 浏览: 24659 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

自己动手hellojni的各种细节

阅读更多

本人昨天配置好了环境,今天来尝试jni的helloworld,不幸各种倒地。。下面列举中枪原有,看看你中枪了吗?

 

1.创建的是一个android 的application,不要以为要用到C/C++你就乱创建工程

 

2.老老实实一步一步走,别想走捷径,javah 生成.h文件必不可少的,随便你用cygwin还是windows的cmd,注意配置好java的环境变量就能用了,环境变量的配置自己搜

 

3.javah生成头文件这个,其他网上的教程都很坑,下面来个正版的:

假设创建的android项目在e:\android\hellojni,那么你应该跳转到e:\android\hellojni\src

那些叫你跳转到bin目录下的都是脑子有bin的

然后你执行的命令应该是 javah -classpath . -d ..\jni com.ct.hellojni.MainActivity    (假设包名是com.ct.hellojni,类名是MainActivity)

这个要是生成不了.h的自己拍自己。

 

4.在cygwin中ndk-build,不要小看了这句话,由于你不是在ndk的目录中执行的ndk-build,因此要用$ndk/ndk-build

 

5.然后创建的.cpp文件中,要include生成那个.h文件,不然会报错No implemenation found for native.....

JNIEXPORT 和JNICALL 这两个东西不知道是干嘛的,求高手解释,貌似要不要都没影响,都能正常运行

有人从.h文件中copy的那个函数声明过来,但是注意,函数声明中的传递的变量是没有的,注意补上

 

6.第一次运行成功之后,就不必要这么蛋疼了,因为我们可以convert这个项目成为c/c++项目,然后和设置c/c++build环境,从此之后更改原来那个cpp文件就不用手动再在黑窗口中javah以及在cygwin中$ndk/ndk-build了

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics