ndk开发文档

22 篇文章 0 订阅

1,android 进行ndk开发

点击打开链接这是我开发ndk时,从作者哪里引用的,实现了ndk的开发

遇到问题时的参考链接http://blog.csdn.net/penglijiang/article/details/70757342

2,idea 进行ndk

参考链接 https://www.jianshu.com/p/44cbe11e5d35

2.1 安装MinGW,目的就是安装gcc 

2.2 新建java文件

public class HelloJNI {
    static {
        // hello.dll (Windows) or libhello.so (Unixes)
        System.loadLibrary("hello");
    }

    private native void sayHello();

    public static void main(String[] args) {

        new HelloJNI().sayHello(); 
    }

}

2.3 生成JNI头文件

很多人都使用javah 生成头文件,自己尝试过很多次,每次都失败,于是自己照葫芦画瓢,自己修改里面的类 的包名,完美完成该工作

2.3.1 新建jni文件夹,新建.h 和.c文件

 

首先是列出这个长串的.h文件

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>


#ifndef _Included_com.imooc.demo.tran.HelloJNI
#define _Included_com.imooc.demo.tran.HelloJNI
#ifdef __cplusplus
extern "C" {
#endif

JNIEXPORT void JNICALL Java_com_imooc_demo_tran_HelloJNI_sayHello
  (JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif

然后写那个.c的文件

#include <jni.h>
#include <stdio.h>
#include "com.imooc.demo.tran.HelloJNI.h"

JNIEXPORT void JNICALL Java_com_imooc_demo_tran_HelloJNI_sayHello
        (JNIEnv * env, jobject jobject1){
        printf("helloworld");
    return ;
}

2.4 使用GCC对HelloJNI.c编译

gcc -c -I"C:\Program Files\Java\jdk1.8.0_111\include" -I"C:\Program Files\Java\jdk1.8.0_111\include\win32" jni/HelloJNI.c

执行该命令后,就会在根目录下,生成.o文件

gcc -Wl,--add-stdcall-alias -shared -o hello.dll HelloJNI.o

执行该命令后,即可生成.dll文件

2.5 运行HelloJNI.java类,即可得到结果

 

感谢作者https://www.jianshu.com/p/44cbe11e5d35

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值