(1) 配置Android NDK环境

https://developer.android.google.cn/ndk/downloads/older_releases.html

1.下载android-ndk64-r10b-linux-x86_64.tar.bz2,下载地址:http://dl.google.com/android/ndk/android-ndk64-r10b-linux-x86_64.tar.bz2

2. 把下载好的android-ndk64-r10b版本解压

3.配置环境变量命令:$sudo gedit ~/.bashrc

添加以下代码:

export   NDK=/home/davebobo/android-ndk-r10b

export   PATH=${PATH}:$NDK  保存关闭。

5.source  ~/.bashrc使其修改的文件生效。

6.ndk-build看看咱们配置环境变量成功没,只要没出command not found就证明环境变量配置成功,如果成功显示如下,

(2) Android mk文件编写

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
# OpenCV
OPENCV_CAMERA_MODULES:=on
OPENCV_INSTALL_MODULES:=on
OPENCV_LIB_TYPE:=STATIC
#include D:\project\Android\OpenCV-2.4.10-android-sdk\sdk\native\jni\OpenCV.mk
include $(LOCAL_PATH)/opencv_android/jni/OpenCV.mk LOCAL_MODULE := facequality
LOCAL_SRC_FILES += facequality.cpp LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog
LOCAL_CFLAGS += -ffast-math -lpthread -ldl -O3 -std=c++11
LOCAL_CFLAGS += -DBUILD_TBB=ON -DWITH_TBB=ON
LOCAL_LDFLAGS += -Wl,--gc-sections LOCAL_CFLAGS += -fopenmp
LOCAL_CPPFLAGS += -fopenmp
LOCAL_LDFLAGS += -fopenmp LOCAL_LDLIBS += -lz -llog -ljnigraphics include $(BUILD_SHARED_LIBRARY)

Application.mk 编写

#Application.mk 控制编译的版本
APP_STL:=c++_shared
APP_CPPFLAGS:=-frtti -fexceptions
APP_ABI := arm64-v8a

(3) 目录文件

(4) 编译

$ ndk-build
[arm64-v8a] Compile++ : facequality <= facequality.cpp
jni/facequality.cpp:116:1: warning: control may reach end of non-void function [-Wreturn-type]
}
^
1 warning generated.
[arm64-v8a] SharedLibrary : libfacequality.so
[arm64-v8a] Install : libfacequality.so => libs/arm64-v8a/libfacequality.so

在linux环境下编译android so库的更多相关文章

  1. linux环境下编译Android apk

    Android源码目录下的build/envsetup.sh文件,描述编译的命令 - m:       Makes from the top of the tree. - mm:      Build ...

  2. ffmpeg学习笔记-Linux下编译Android动态库

    Android平台要使用ffmpeg就需要编译生成动态库,这里采用Ubuntu编译Android动态库 文件准备 要编译生成Android需要以下文件 NDK ffmpeg源代码 NDK下载 NDK可 ...

  3. 在虚拟机linux环境下编译windows版adb fastboot

    原文出自:http://blog.chinaunix.net/uid-20546441-id-1746200.html 我根据虚拟机编译遇到的问题进行一些添加 [前提条件] Linux Android ...

  4. 在Windows 环境下编译Qt静态库(QT5.32)

    参考链接 Qt5.3 Tools and Versions MinGW ICU ActivePerl Qt 安装MinGW工具链环境 这里在Win32环境下要安装一个MinGW工具链,这里最好是先安装 ...

  5. Linux环境下编译并执行ava helloworld程序

    原文:http://blog.lupaworld.com/home-space-uid-24466-do-blog-id-2578.html 已经学会怎样在Windows下怎样编辑,编译和运行Java ...

  6. Linux环境下使用Android NDK编译c/c++生成可执行文件

    1.安装Android NDK至Linux(Lubuntu 16) 从网上下载 android-ndk-r13b-linux-x86_64.zip,本人将其解压至/home/guanglun/work ...

  7. Linux环境g++编译GDAL动态库

    一.编译步骤 解压下载的GDAL源程序,并在命令行中切换到解压目录. tar -xzvf gdal-2.1.3.tar.gz cd gdal-2.1.3 GDAL可通过configure来实现一些自定 ...

  8. 分布式缓存技术memcached学习(一)——linux环境下编译memcahed

    安装依赖工具 [root@localhost upload]# yum  install gcc  make  cmake  autoconf  libtool 下载并上传文件 memcached 依 ...

  9. [转载]Linux 环境下编译 0.11版本内核 kernel

    最近在看<.如果Clobber/Modify 为空,则其前面的冒号(:)必须省略. 2.如果Output,Input,Clobber/Modify都为空,Output,Input之前的冒号(:) ...

随机推荐

  1. AGC027 C - ABland Yard 拓扑排序

    目录 题目链接 题解 代码 题目链接 AGC027 C - ABland Yard 题解 发现有解的充要条件是有一个形为AABBAABBAABB的环 此时每一个点至少与两个不同颜色的点相连 对于初始不 ...

  2. nowcoder提高组2题解

    T1 化一下试子就ok code #include<cstdio> #include<algorithm> inline long long read() { long lon ...

  3. tab------左右布局

    <!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...

  4. Hadoop学习博客

    http://zy19982004.iteye.com/blog/monthblog_more

  5. Spark MLlib 之 Vector向量深入浅出

    Spark MLlib里面提供了几种基本的数据类型,虽然大部分在调包的时候用不到,但是在自己写算法的时候,还是很需要了解的.MLlib支持单机版本的local vectors向量和martix矩阵,也 ...

  6. linux 内核 内存管理 slub算法 (一) 原理

    http://blog.csdn.net/lukuen/article/details/6935068

  7. Android:TextView控件

    3.2.1    TextView TextView 可以说是 Android 中最简单的一个控件了,你在前面其实也已经和它打过了一 些打交道.它主要用于在界面上显示一段文本信息,比如你在第一章看到的 ...

  8. 第五章703N 刷openwrt 挂载u盘

    感谢原文 http://blog.csdn.net/qinpeng_zbdx/article/details/8577212 http://arch.pconline.com.cn//pcjob/sy ...

  9. Nginx升级

    Ubuntu14.04默认的安装源中安装的是Nginx 1.4.6 echo deb http://nginx.org/packages/ubuntu/ trusty nginx >> / ...

  10. Linux 中C/C++ search path(头文件搜索路径)

    https://blog.csdn.net/BjarneCpp/article/details/76135980 起因 我拿到了一套Linux下的C++代码,代码中有这个头文件#include < ...