先配置NDK环境,网上教程很多。安装cygwin,此过程省略,如有不懂的地方可以百度。

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

添加字段:

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

测试是否配置成功;

Android开发教程--第一个JNI程序_第1张图片


开始建立第一个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文件

Android开发教程--第一个JNI程序_第2张图片

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

Android开发教程--第一个JNI程序_第3张图片

第三步 :现在开始写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文件。

Android开发教程--第一个JNI程序_第4张图片

编译成功。。


更多相关文章

  1. android 源码下java文件的路径
  2. AndroidStudio使用JNI教程
  3. 程序包android.support.annotation不存在
  4. 程序性能优化之内存优化(三)下篇
  5. 后台动态添加布局文件、控件与动态设置属性2
  6. Android:从程序员到架构师之路Ⅲ_高焕堂
  7. android 裁剪图片完 程序会崩溃问题

随机推荐

  1. Android中使用OpenCV------只需要一个jar
  2. Android中的桌面快捷图标
  3. android cts 相关
  4. Android(安卓)常用开源库(一)
  5. Android零散笔记
  6. 写在20120524:aidl
  7. ListView 表格动态设置控件宽度
  8. 情景学习Android中的LruCache
  9. Android(安卓)使用AndroidProguardPlugin
  10. android 后台运行 保活