zoukankan      html  css  js  c++  java
  • JNI生成so

    软件:android-ndk-r8 推荐使用这个版本,可以直接不用安装Cygwin软件就可以编译。

    然后在系统环境变量中path选项中添加安装路径,比如我的:C:android-ndk-r8;

    然后我在D盘创建一个Test工程,在工程下建立一个jni的文件夹,所有的源代码都需要放在jni下,

    在jni文件下创建一个test.h和test.c,内容为:

    //test.h:
    
    int max(int x,int y);
    //test.c
    #include "test.h"
    int  max(int x,int y)
    {
        return (x>y?x:y);
    }

    然后在jni下创建Android.mk文件,这个就是用来描述您的源代码及其编译选项的,具体可以参考

    http://www.cnblogs.com/likwo/archive/2012/05/09/2492614.html这篇文章,在此就不多说明了。

    我的Android.mk文件内容为:

    LOCAL_PATH := $(call my-dir)
    
    include $(CLEAR_VARS)
    
    LOCAL_MODULE:= test
    LOCAL_C_INCLUDES:= test.h
    LOCAL_SRC_FILES := test.c
    
    include $(BUILD_SHARED_LIBRARY)

    然后进入cmd下,进入Test工程,执行ndk-build命令即可。

    D:Test>ndk-build
    "Compile thumb : test <= test.c
    SharedLibrary  : libtest.so
    Install        : libtest.so => libs/armeabi/libtest.so

    然后在Test工程下会生成libs及其obj文件夹,

    期中我们需要的so即就在libs/armeabi/libtest.so

  • 相关阅读:
    原型链
    原型规则总结
    使用typeof能得到的哪些类型
    eslint 规则中文注释
    两张图片互相切换
    输入框获得焦点与失去焦点、阴影效果
    vue 写table的几种方式
    vue 注意事项
    angular 接口定义封装
    @NgModule
  • 原文地址:https://www.cnblogs.com/lanye/p/3324600.html
Copyright © 2011-2022 走看看