(2016-10-28)Android-NDK学习笔记(一)生成简单的SO文件

本文详细介绍了如何在Eclipse环境下使用Android NDK进行开发的过程。从下载安装NDK到配置环境变量,再到实现Java调用C语言的方法,包括创建native方法、使用命令行生成JNI头文件、编写C代码及构建编译流程等步骤。

本次讲的是在eclipse环境下编译的项目,安卓丢丢,请另寻他法.

1,先开始下一个android-ndk-r10e-windows-x86_64文件;

2,解压

3,配置环境变量,跟java一样。

在cmd中可以运行ndk-build就可以了。

第一步在你的android创建一个native方法。

public static native int getIntFromC();

第二步然后运用cmd命令行。在你的项目根目录下。运行下面的代码。

javah -classpath bin/classes;F:\sdk\platforms\android-20\and
roid.jar -d jni com.liuyun.hellondk.MainActivity

第三步在你的jni目录下。创建一个c语言的文件。比如说hello.c。在你的c文件中可以这样写。

#include<stdil.h>
#include<stdlib.h>
#include"com_liuyun_hellondk_MainActivity.h"


JNIEXPORT jstring JNICALL Java_com_liuyun_hellondk_MainActivity_getStringFromC
  (JNIEnv *env, jclass jclass){

return (*env)->NewStringUTF(env,"HEIIIIIIIIIIIIIIIIIIIIIIII");

}

这段代码的意思是从c语言里返回一个字符串。

第四步在jni目录下。创建一个Android.mk文件。在你的Android.mk文件中可以这样写。

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)


//这里是你要生成的so文件的名字。
LOCAL_MODULE    := hello


//这里是你的c语言文件的名字。
LOCAL_SRC_FILES := hello.c

include $(BUILD_SHARED_LIBRARY)

第五步在我们写好的安卓项目目录下运行cmd,然后用,ndk-build进行编译.刷新我们的目录就能得到我们的so文件.那么,怎样调用我们的so文件呢!

然后在我们要调用的类里面调用我们的静态代码块儿.

static{
//这里面的hello就是上面生成的so文件的名字,改了名字也没有用,要是我们生成的so文件的名字
        System.loadLibrary("hello");
    }

最终我们通过getIntFromC();方法,就可以得到我们在c语言里返回的数据了这样就实现了java调用c语言的过程这只是一个简单的过程,接下来我们要简化我们的操作.

本次讲的是在eclipse环境下编译的项目,安卓丢丢,请另寻他法.

首先我们在下图可以看到配置一个ndk的路径

这里写图片描述

然后在我们的项目下右键Properties新建一个Builder,当然我这里已经创建好了

这里写图片描述
这里写图片描述

接下来的配置

这里写图片描述

这里写图片描述

接下来点击ok,so文件将会自动编译好你可以更改你C文件里的代码,再次运行将会得到不一样的结果哟.这还是比较简单的

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值