android jni实例讲解

原创 2015年07月11日 10:41:19
以hello-jni.c为例      环境:NDK : android-ndk-r10

1、建立需要调用c、c++的本地java类
    声明需要调用的函数名等
package com.dl.jnitest;
public class NdkJniTest {
    public native String stringFromJNI();//c文件里面的函数,在本地声明
    static {
        System.loadLibrary("hello-jni");//hello-jni 为.c/.cpp的文件
    }

}

2、生成调用  头文件,拷贝至jni文件夹
    在.....  /JniTest/bin/classes 下  
     终端输入:javah -classpath . com.dl.jnitest.NdkJniTest
           将生成头文件 com_dl_jnitest_NdkJniTest.h

3、根据头文件完善c、c++文件函数  hello-jni
    在  /jni/  下建立文件 hello-jni.c文件
    
4、编写Android.mk文件,对C文件编译,编译工具:NDK会调用C编译器
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := hello-jni
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := hello-jni.c
LOCAL_C_INCLUDES :=$(JNI_H_INCLUDE)
LOCAL_LDLIBS    := -llog  #more...

LOCAL_SHARED_LIBRARIES := liblog libcutils

LOCAL_PRELINK_MODULE := false

include $(BUILD_SHARED_LIBRARY)

5、编写    Application.mk 指定具体平台 (可选)
        APP_ABI := armeabi-v7a
        APP_PLATFORM := android-8
6、生成.so共享库文件
        JniTest 目录下终端输入: ndk-build
        so文件 生成在   /JniTest/libs/armeabi   下
7、java文件调用

8、重新编译Eclipes,即可加载

附件为完整实例代码

http://download.csdn.net/detail/cooolboyish/8889389

相关文章推荐

Android JNI实例

  • 2016年05月03日 19:52
  • 1.72MB
  • 下载

Android studio jni简单编程实例

  • 2017年03月16日 08:59
  • 54.27MB
  • 下载

Android JNI实例代码(一)

转自:http://www.androidai.com/apk-1927.html 有关Android JNI开发系列教程中有关的源代码,可以在本文中查找: 一、 在JNI中执行Java方...

android JNI学习四实例

  • 2014年03月06日 09:46
  • 1.21MB
  • 下载

android_JNI学习一实例

  • 2014年03月04日 17:35
  • 1.18MB
  • 下载

Android JNI简单实例

Android的jni实例 android 的应用程序(Dalvik VM)中使用JNI(Java Native Interface)调用C/C++开发的共享库。 c/c++中调用java程序的方法以...

Android Jni调用实例

  • 2015年10月29日 15:43
  • 1.44MB
  • 下载

JNI实例Android

  • 2014年04月29日 20:47
  • 156KB
  • 下载

Android JNI学习之第一个入门实例(确实花了不少功夫,也遇到了很多阻碍,不过还好,最终解决,记录下)

关于如何安装配置Cygwin,如何安装ndk网上搜搜一大片,这里不再赘述。下面主要对这个简单的JNI实例的实现,做一个记录。 注意:使用的是ndk-1.6.r1,在ndk_r4版本后和这有点区别,这里...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android jni实例讲解
举报原因:
原因补充:

(最多只允许输入30个字)