码迷,mamicode.com
首页 > 移动开发 > 详细

Android学习笔记_JNI hello world

时间:2014-05-31 01:09:30      阅读:337      评论:0      收藏:0      [点我收藏+]

标签:android   c   style   class   blog   code   

1、需要准备的工具,eclipse,cdt(c++)插件,cygwin(unix)和 android ndk.

2、开发步骤:

bubuko.com,布布扣
a.创建一个android工程
b.JAVA代码中写声明 native 方法 public native String helloFromJNI(); 通过javah  包名.类名生成jni的方法签名
c. 创建jni目录,编写c代码,方法名字要对应。或者将生成的签名文件拷贝到jni目录,然后在c代码中引入。
d.编写Android.mk文件
e.Ndk编译生成动态库( ndk -build )
f.Java代码load 动态库.调用native代码
bubuko.com,布布扣

    创建Android.mk文件,需要将hello-jni替换成自己的c文件模块名称:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := hello-jni
LOCAL_SRC_FILES := hello-jni.c
include $(BUILD_SHARED_LIBRARY)

 

 

Android.mk文件增加LOCAL_LDLIBS += -llog

C代码中增加

#include <android/log.h>

#define LOG_TAG "System.out"

 

#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)

#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)

 LOGI("info\n");

 LOGD("debug\n");

 

 

jstringJava_cn_itcast_ndk_DemoActivity_helloFromJNI(JNIEnv *env, jobjectjavaThis) {

  return (*env)->NewStringUTF(env, "Hello from native code!");

}

JNIEnv类型代表了java环境 通过JNIEnv* 指针,就可以对java端的代码进行操作.

创建java类的对象,调用java对象的方法

获取java对象的属性 等等.

jobject是个什么

jobjectobj就是当前方法所在的类代表的对象.

 

 

 

 

 

 

Android学习笔记_JNI hello world,布布扣,bubuko.com

Android学习笔记_JNI hello world

标签:android   c   style   class   blog   code   

原文地址:http://www.cnblogs.com/lbangel/p/3761953.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!