android jni编程详解,Android JNI编程实践:第一个JNI程序

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

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

添加字段:

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

export NDK_ROOT

测试是否配置成功;

b0a6fcbb1383d39d2f7402184de0486a.png

5fa46f91a85ca90156e443594c69be11.png

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

7c747e03f5b4ff78109ea41adc072adf.png

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

0bddaff78570bf336c4ff53a7e9e28bb.png

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

beb9e297a942f70055d933c1c515c296.png

cpp 的代码如下#include"com_example_textjni_TextJNI.h"

#include

#include

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文件。

348e765603ef49db8010742e3a97ff70.png

编译成功。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值