最简单的ndk示例程序及编译过程

原创 2012年03月27日 10:58:19

1.建立一个android 的项目, NDK 不支持 1.5 以下的版本

项目中包含 两个文件:JNI.java, JniTest.java

2.编译工程 。这步非常重要,先编译工程才能执行第三步。

3.生成JNI 头文件

下面生成JNI 头文件啦,使用 javah 命令,对 JNI. java 这个文件生成!

使用cmd 进入 android 项目的 bin 目录中,执行【javah  -classpath  .  -jni  cc.androidos.jni_JNI】这个命令。别忘记包名!

生成了一个cc_androidos_jni_JNI.h,里面都是c 语言的头文件声明,以及相应的native函数原型。

解析:之所以进入bin目录下,是因为 bin下面是编译后生成的.class字节文件。没错,javah工具就是根据编译生成的.class字节文件来生成相应的c/c++语言.h头文件.

4.新建一个.c文件,名称与 第3步生成的.h文件一样。在该文件中把.h文件中声明的函数实现出来,并且include那个.h文件。

5.编译生成.so文件

在NDK 的 apps 目录下面创建一个 myjni 文件夹,在 myjni 文件夹中创建一个 Application.mk 文件,文件的内容为:


该文件也可以从ndk根目录的其他例子程序中拷贝过来,然后做相应的修改即可。

编译以后会成生/myjni/libs/myjni.so库文件,这就是我们想要的结果。

 

6. 加入到Android 项目中进行运行

将apps\myjni\libs 整个文件夹 copy 到 android 项目根目录下。


7.运行项目。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

借shengli的问题,简单讲一下程序的编译过程

http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=5161写的真好 上次我已经说过,程序库分为静态和动态两种,今天先从程序的编译过程入手,简单介绍一...

wordcount示例程序运行全过程(Hadoop-1.0.0)

在上一篇文章中,已经提到了配置完成了一个简单的分布式hadoop的hdfs文件系统,下面就需要去运行一下wordcount来了解该文件系统的运行机制。 cd到wordcount.java的目录,再此...

java设计模式示例程序之 ——简单工厂、工厂方法、抽象工厂模式

1.简单工厂模式: PersionFactory.java ‍package com.test.designModel.factory; public class PersionFactory ...

ReadDirectoryChangesW 监控文件夹 (一个简单的监控示例程序)

// .h文件 #pragma once typedef void (*PFN_NotifyAction)(DWORD dwAction, LPWSTR szFile, DWORD dwLength...

Dbus简介与简单的收发示例程序

http://linux.chinaunix.net/techdoc/beginner/2009/08/11/1129569.shtml                     ...

Integer示例程序反编译代码的分析,附带“==”的再次理解

Integer属于包装类,int属于基本数据类型,初始化时,int赋值默认为0,Integer默认指向null。 创建对象时,可以写成 1. Integer a = 128; 2. Inte...

在AWS EC2上编译Caffe,并测试示例程序

在AWS EC2上编译Caffe,并测试示例程序 Caffe 1.0.0 1. 启动Ubuntu 14.04 EC2. 选择镜像版本 2. 进入虚拟机后,安装编译 Caffe 步骤,...

CORBA: ubuntu下编译omniorb并创建示例程序

首先自己去下载omniorb,解压后准备安装。我解压到了/root/omniorb4.1.5文件夹中。 请一定要阅读README.unix,按照其指示的步骤,在终端中如下: 1) cd /root...

Hadoop示例程序WordCount编译运行

首先确保Hadoop已正确安装及运行。 将WordCount.java拷贝出来 $ cp ./src/examples/org/apache/hadoop/examples/WordCount...
  • JDPlus
  • JDPlus
  • 2014-03-26 11:44
  • 6525
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)