ndk的入门

来源:互联网 发布:线割编程难吗 编辑:程序博客网 时间:2024/05/23 18:34

第一个ndk

第一步:MainActivity中定义一个方法:

public static native String getStringFromC();

第二步生成头文件:

①我的项目位置:E:\android\HelloNdk

②我的sdk中android.jar包的位置:G:\android\AndroidX86\AndroidX86\sdk\platforms\android-19\android.jar

首先定位到自己项目的位置:

C:\Users\Administrator>cd E:\android\HelloNdk

C:\Users\Administrator>E:

编译头文件:

javah -classpath bin/classes;G:\android\AndroidX86\AndroidX8 6\sdk\platforms\android-19\android.jar -d jni com.example.hellondk.MainActivity

结果:在jni文件夹中生成:comexamplehellondk_MainActivity.h

其中有个方法:

JNIEXPORT jstring JNICALL Javacomexample_hellondkMainActivitygetStringFromC (JNIEnv *, jclass);

写c语言方法和结果

   #include <stdio.h>    #include <stdlib.h>    #include "com_example_hellondk_MainActivity.h" JNIEXPORT jstring JNICALL Java_com_example_hellondk_MainActivity_getStringFromC (JNIEnv * env, jclass jclass){ return (*env)->NewStringUTF(env, "Hello from JNI !"); }

jni文件夹下面生成Android.mk

可直接复制下载好的ndk中的Android.mk

LOCAL_MODULE := hello//输出的名字

LOCALSRCFILES := hello.c//编译的名字

生成.so文件

定位到项目,然后输入ndk-build

在mainactivity中加载so文件

static {    System.loadLibrary("hello");}

注意:生成的so文件的文字是libhello.so文件

Eclipse下配置ndk

Window->Preferences ->Android ->NDK->选择ndk的位置

右击项目->Properties->Builders->New->Program->Location选择ndk的ndk-build.cmd->Working Directory选择Workspace->选择Build Options->勾选During auto builds->点击ok

原创粉丝点击