AndroidNDK&JNI1---NDK&JNI静态

1、安装和配置(linux)

  • Download from Android Developer–android-ndk-r10e-linux-x86_64.bin
  • vim ~/.bashrc
  • source ~/.bashrc

2、JNI(静态使用)

  • 加载以后使用 ndk-build 脚本生成的so库
  •      依照JNI,生成.h文件。
  • 创建.c文件
  • #include <string.h>
    #include <jni.h>
    
    JNIEXPORT jstring JNICALL Java_com_example_hellojni_HelloJni_stringFromJNI
      (JNIEnv * env, jclass class)
    {
        return (*env)->NewStringUTF(env,"Hello my love");
    }
    View Code

3、创建项目makefile和jni makefile

  •  1 LOCAL_PATH:= $(call my-dir)
     2 include $(CLEAR_VARS)
     3 
     4 LOCAL_MODULE_TAGS := samples
     5 
     6 LOCAL_SRC_FILES := $(call all-subdir-java-files)
     7 
     8 LOCAL_PACKAGE_NAME := HelloJni
     9 
    10 LOCAL_JNI_SHARED_LIBRARIES := libhellostatic
    11 
    12 LOCAL_PROGUARD_ENABLED := disabled
    13 
    14 LOCAL_SDK_VERSION := current
    15 
    16 include $(BUILD_PACKAGE)
    17 
    18 # ============================================================
    19 
    20 # Also build all of the sub-targets under this one: the shared library.
    21 include $(call all-makefiles-under,$(LOCAL_PATH))
    View Code

     

  • 1 LOCAL_PATH := $(call my-dir)
    2 include $(CLEAR_VARS)
    3 
    4 LOCAL_MODULE := libhellostatic
    5 LOCAL_SRC_FILES := myjni.c
    6 
    7 include $(BUILD_SHARED_LIBRARY)
    View Code

     

4、使用ndk-build 生成 so库(详情见makefile)

 

ndk详细使用:http://developer.android.com/intl/zh-cn/ndk/guides/ndk-build.html

posted @ 2015-11-23 11:19  何人之名  阅读(187)  评论(1)    收藏  举报