文档章节

Android Ndk

当空皓月
 当空皓月
发布于 2016/09/19 16:48
字数 321
阅读 21
收藏 1

一、概述

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

工程目录下图:

以上方式的存在的问题:

  1、缺少灵活性比较类似静态加载了(不是静态加载),能加载的so文件绑定死了;

  2、但so文件很多或很大时,会导致对应的apk和jar包很大;

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

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

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

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

三、jni教程

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

四、demo

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

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

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

六、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

© 著作权归作者所有

上一篇: Android Matrix
下一篇: Android 截图
当空皓月
粉丝 14
博文 179
码字总数 67070
作品 0
郑州
私信 提问
ndk vlc播放器

最近开始研究Android版的vlc,但是有个问题已经让我郁闷很久不会解决,希望路过的高手能指导一下,问题如下 在编译ndk,使用ndk-build clean,效果如下: ####@ubuntugavin:~/vlc_programe/...

gavin_jin
2014/06/19
2.6K
3
Android 网络编程 目录

Android 网络编程 目录 Android 网络编程1 Http协议 Android 网络编程2 Okhttp缓存机制 Android 网络编程3 Java NIO to be continued... Android 架构师之路 目录 Android 架构师之路1 UML图...

香沙小熊
2018/06/21
0
0
Windows环境下 android-ndk-r10c 环境搭建

1 下载NDK 地址: http://developer.android.com/tools/sdk/ndk/index.html 2 下载后双击自动解压到当前目录,建议与android sdk平级 D:androidandroid-ndk-r10c 3 添加环境变量 ndk=D:androi...

筱龙缘
2014/10/21
6.7K
1
Ubuntu下搭建Android NDK开发环境

如何在Ubuntu 系统下搭建Android NDK 开发环境呢?下面一步一步教大家 步骤1.下载NDK(注意我下载的是r4版本): http://dl.google.com/android/ndk/android-ndk-r4b-linux-x86.zip 步骤2.下载...

鉴客
2011/12/03
3.7K
0
android build过程中的问题

非常好的下载android codes地址: http://d.zhu.im/Android/ 抓下来所有的codes,设置环境变量,开始make... 1.prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/sys/ty......

垂盆草
2013/03/09
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

PhotoShop 高级应用:USM锐化/S锐化/防抖

、 高反差锐化+混合模式:叠加模式 【将更多的边缘细节添加到图像中】

东方墨天
23分钟前
5
0
Python数据可视化之matplotlib

常用模块导入 import numpy as npimport matplotlibimport matplotlib.mlab as mlabimport matplotlib.pyplot as pltimport matplotlib.font_manager as fmfrom mpl_toolkits.mplot3d i......

松鼠大帝
昨天
4
0
我用Bash编写了一个扫雷游戏

我在编程教学方面不是专家,但当我想更好掌握某一样东西时,会试着找出让自己乐在其中的方法。比方说,当我想在 shell 编程方面更进一步时,我决定用 Bash 编写一个扫雷游戏来加以练习。 我在...

老孟的Linux私房菜
昨天
5
0
Go语言Hello world(GOPATH和Go Module版)

本文是「vangoleo的Go语言学习笔记」系列文章之一。 官网: http://www.vangoleo.com/go/go-hello-world-02/ 往期回顾: Go语言入门-你好,Go语言 Go语言入门-Hello World(Go Playground版) 上...

vangoleo
昨天
8
0
C++虚函数以及虚函数表

在了解虚函数之前先了解下对象模型: 对象模型: 在C++中,有两种数据成员(class data members):static 和nonstatic,以及三种类成员函数(class member functions):static、nonstatic和v...

黑白双键
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部