Android调用JNI方法 及 代码
JNI: Java Native Interface, 实现Java和C/C++的互通.
在Android上使用JNI的方法. 时间:2014.9.3
环境: 必须使用标准Eclipse, 安装Android的环境, 才可以使用NDT插件.
Eclipse Standard/SDK Version: Luna Release (4.4.0);
Android: ADT-23.0.3.zip; NDT: GNU Make 3.81;
基础安装略过.
方法:
1. 创建接口类:
首先新建JNI的接口类, 包含使用的静态方法. 位置: 项目->src->[package]->JniClient.java
/**
*
*/
package com.example.hellomyjni;
/**
* @author Administrator
*
*/
public class JniClient {
static public native String sayName();
}
2. 编译接口类:
进入项目文件夹, 生成JNI的头文件, 使用命令:
"javah -classpath bin/classes -d jni com.example.hellomyjni.JniClient"
命令解析:
javah 生成头文件;
-classpath 使用类的位置(bin/classes), 都是.class文件;
-d jni 需要生成JNI的类(com.example.hellomyjni.JniClient), 包括[package].[classname].
按F5刷新项目, 项目会自动生成jni文件夹, 并包含一个头文件"com_example_hellomyjni_JniClient.h".
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_example_hellomyjni_JniClient */
#ifndef _Included_com_example_hellomyjni_JniClient
#define _Included_com_example_hellomyjni_JniClient
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: com_example_hellomyjni_JniClient
* Method: sayName
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_com_example_hellomyjni_JniClient_sayName
(JNIEnv *, jclass);
#ifdef __cplusplus
}
#endif
#endif
Android 4.4.4 发布下载 http://www.linuxidc.com/Linux/2014-06/103467.htm
最简单的Ubuntu Touch & Android 双系统安装方式 http://www.linuxidc.com/Linux/2014-01/94881.htm
在Nexus上实现Ubuntu和Android 4.4.2 双启动 http://www.linuxidc.com/Linux/2014-05/101849.htm
Ubuntu 14.04 配置 Android SDK 开发环境 http://www.linuxidc.com/Linux/2014-05/101039.htm
64位Ubuntu 11.10下Android开发环境的搭建(JDK+Eclipse+ADT+Android SDK详细) http://www.linuxidc.com/Linux/2013-06/85303.htm
Ubuntu 14.04 x64配置Android 4.4 kitkat编译环境的方法 http://www.linuxidc.com/Linux/2014-04/101148.htm
Ubuntu 12.10 x64 安装 Android SDK http://www.linuxidc.com/Linux/2013-03/82005.htm
更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2014-10/107631p2.htm