Android Ndk

1、概述html

在Android中调用动态库文件(*.so)都是经过jni的方式,并且每每在apk或jar包中调用so文件时,都要将对应so文件打包进apk或jar包,.h是头文件,里面通常都是一些函数定义类型定义,不会有运行的代码,cpp是源文件,是用来运行的,在cpp中加上#inlcude<>导入.h文件。    
.h文件就像是一个接口,具体的实现能够在.cpp中也能够在.h中。android

工程目录下图:c++

以上方式的存在的问题:git

  一、缺乏灵活性比较相似静态加载了(不是静态加载),能加载的so文件绑定死了;github

  二、但so文件不少或很大时,会致使对应的apk和jar包很大;函数

  三、不能动态的对so文件更新;gradle

解决办法:http://www.cnblogs.com/sevenyuan/p/4202834.html ui

2、JNI_Android项目中调用.so动态库实现详解.net

http://www.cnblogs.com/sevenyuan/p/4202759.htmlhtm

3、jni教程

http://blog.csdn.net/jiuyueguang/article/details/9447245

4、demo

https://github.com/dennishucd/FFmpeg4Android/tree/master/FFmpeg4Android (经典!)

5、 一个注意:android jni 引用第三方 so

http://blog.csdn.net/hanwest/article/details/30044855 

6、androidStudio jni

http://www.jianshu.com/p/b667baf10306 好!

当遇到your project contains c++ files but it is not using a supported native build system异常时,

Add android.useDeprecatedNdk=true in your gradle.properties

相关文章
相关标签/搜索