Android调用JNI详细步骤

这几天突然想学习一下Android下JAVA调C(JNI调用),所以就整个流程走了一遍。

环境:Win7+Eclipse+Android SDK+NDK(后期把.c文件生成so库要用)

那么就开始了:

1、在工程代码目录下建立一个java文件,我这里用的是HelloJNI。


2、编写HelloJNI文件,写入native方法


3、运行程序,(主要是为了生成HelloJNI.java文件的class文件)

程序运行之后,打开项目根目录下的bin\classes\com\vriteam\android\ndk\HelloJNI.class

蓝色文字要根据自己情况去处理(HelloJNI.java所在包的包目录,我的是com.vriteam.android.ndk)

4、若果class文件存在,运行cmd命令,进入到项目的根目录下的bin\classes文件夹下,输入命令 

javah com.vriteam.android.ndk.HelloJNI

这时候会在classes文件夹下生成一个xx.h文件

我的是com_vriteam_android_ndk_HelloJNI.h,这个文件名称也是有规律的

5、在项目个目录创建一个“jni”文件夹,并把上一部生成的.h文件copy到里面。

6、编写com_vriteam_android_ndk_HelloJNI.c文件,实现.h文件中的方法。

7、在jin文件夹下创建文件Android.mk

8、编辑Android.mk文件加入下面代码:

LOCAL_PATH:= $(call my-dir)
# 一个完整模块编译
include $(CLEAR_VARS)
LOCAL_SRC_FILES:=com_vriteam_android_ndk_HelloJNI.c
LOCAL_C_INCLUDES := $(JNI_H_INCLUDE)
LOCAL_MODULE := HelloWorld
LOCAL_SHARED_LIBRARIES := libutils
LOCAL_PRELINK_MODULE := false
LOCAL_MODULE_TAGS :=optional
include $(BUILD_SHARED_LIBRARY)

9、点击Eclipse中的菜单,项目-》属性-》


弹出框,点击编译器-》新建-》


弹出框,选择程序-》确定-》


弹出框,点击  主要-》浏览文件系统-》


弹出框,选择自己的ndk目录,并选择ndk-build.cmd


再选择自己的项目  浏览工作空间-》


选择自己的项目  -》


配置构建选项页面 构建选项-》


选择资源勾选自己NDK项目下的jni文件夹


点击确定按钮  确定-》


点击确定按钮  确定-》


选择Eclipse中的  项目-》构建项目-》


选中项目,按F5刷新


查看libs下的文件


修改文件下的HelloJni加载库文件的名字,不用加".so"


程序其他地方调用就OK了。

10、调用JNI



调用的时候,不用加上前面的lib以及后缀名.so

调用的时候,不用加上前面的lib以及后缀名.so

调用的时候,不用加上前面的lib以及后缀名.so

相关链接:

1、JNI调用(没有说生成so文件)

http://www.cnblogs.com/bastard/archive/2012/05/19/2508913.html

1、Android NDK生成so文件

http://blog.csdn.net/laczff21/article/details/7542236


PS:为什么QQ截的图当时能用,在编辑保存全没了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值