Android JNI编程实践:第一个JNI程序

dypm 9年前

先配置NDK环境,网上教程很多。安装cygwin 。

NDK路径D:\cygwin\home\Administrator 编辑.bash_profile这个文件

添加字段:

NDK_ROOT=/cygdrive/d/android/android-ndk-r8b
export NDK_ROOT

测试是否配置成功;

开始建立第一个TextJNI

创建Android工程 TextJNI ,

第一步 :创建一个类

package com.example.textjni;  public class TextJNI  {      static {          System.loadLibrary("jniinterface");      }   public static native int getInt();   public static native String  getString();  }

第二步:生成 C++中的 .h文件

在工程中新建jni文件夹,把生成的文件夹复制到jni文件下面

第三步 :现在开始写C++代码和android.mk文件

cpp 的代码如下

#include"com_example_textjni_TextJNI.h"  #include <stdio.h>  #include <stdlib.h>                                                  int sum ()  {      int x,y;      x = 100 ;      y = 1000;      x += y;      return x;                                                  }//实现 com_example_textjni_textJNI.h 的方法  JNIEXPORT jint JNICALL Java_com_example_textjni_TextJNI_getInt      (JNIEnv *, jclass)  {                                                      return sum();  }  JNIEXPORT jstring JNICALL Java_com_example_textjni_TextJNI_getString      (JNIEnv *env, jclass)  {                                                      return env->NewStringUTF("HelloNDK");  }

android.mk文件

LOCAL_PATH := $(call my-dir)            include $(CLEAR_VARS)            LOCAL_MODULE    := jniinterface//so.文件名  LOCAL_SRC_FILES := com_example_textjni_TextJNI.cpp//C++类名            include $(BUILD_SHARED_LIBRARY)

最后一步,编译生成.so文件。

编译成功。。