首页 > 代码库 > NDK 的helloworld步奏
NDK 的helloworld步奏
1. helloworld.c
#include <string.h>#include <jni.h>/* * Class: com_example_ndk_NativeHelloworld * Method: hello * Signature: ()Ljava/lang/String; */jstring JNICALL Java_com_example_ndk_NativeHelloworld_hello(JNIEnv * env, jclass thiz) { return (*env)->NewStringUTF(env, "HelloWorld! I am from JNI !");}
2.Android.mk
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) #LOCAL_MODULELOCAL_MODULE := hello LOCAL_SRC_FILES := helloworld.c include $(BUILD_SHARED_LIBRARY)
3.NativeHelloworld.java
package com.example.ndk;import android.util.Log;public class NativeHelloworld { public static native String hello(); static { Log.i("NativeClass","before load library"); System.loadLibrary("hello");//注意这里为自己指定的.so文件,无lib前缀,亦无后缀 Log.i("NativeClass","after load library"); } }
4.用ndk在项目目录里面编译出hello.so
本人是在linux系统下编译,放到eclipse的libs/armeabi下
5.调用方法,运行
NDK 的helloworld步奏
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。