歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android調用JNI方法 及 代碼

Android調用JNI方法 及 代碼

日期:2017/3/1 9:38:58   编辑:Linux編程

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

Copyright © Linux教程網 All Rights Reserved