NDK开发实践
NDK开发实践
handy周
Hello World...
展开
-
android中基于plt/got的hook实现原理
目录native-hook示例开始got全局符号表hook远程注入hook操作inline hook原理native内存泄漏检测常用方式概述由于android系统是基于linux内核开发的,因此我们日常编写的so文件,实际上也是一个ELF文件,类似于Windows下的PE文件,在开始了解native hook之前,我们要先了解一下ELF文件的格式,以及系统加载的一些过程。Lin...原创 2020-01-05 21:46:54 · 6954 阅读 · 6 评论 -
android全平台编译ffmpeg以及x264与fdk-aac实践
之前一篇移植的博客。Android平台移植FFmpeg和x264编译环境ubuntu 16.04android-ndk-r10effmpeg-3.3.8版本fdk-aac-0.1.6版本开始编译x264库先获取最新的x264库git clone http://git.videolan.org/git/x264.git编写脚本,此脚本可以编译全平台版本目录结构如下:——x2...原创 2018-10-28 23:07:02 · 4268 阅读 · 18 评论 -
NDK支持的C++运行库
简书排版 http://www.jianshu.com/p/07856720339eAndroid平台自身带有一个微型的C++运行库支持库,称为系统运行库,但是功能有所限制,还有一些补充系统库的额外C++运行库 C++运行库 C++异常支持 C++ RTTI支持 C++标准库 系统库 No No No GAbi++ No Yes No STLpor原创 2016-08-16 00:19:41 · 2617 阅读 · 0 评论 -
NDK交叉编译之自定义工具链
简书排版 http://www.jianshu.com/p/3bbad4b1b099本机OS: Ubuntu 14.04 x64首先上官方文档 https://developer.android.com/ndk/guides/standalone_toolchain.html 可以自定义工具链进行交叉编译1.对不同的指令集APP_ABI设置 Architecture Toolchain原创 2016-08-11 23:35:50 · 5359 阅读 · 0 评论 -
ubuntu移植libwebp到Android平台
项目来来回回换了几个图片框架,都不太理想 最后决定选用Glide+libwebp的模式 由于4.0以下Android对Webp的支持并不好 因此需要我们手动支持 1.下载libwebp的最新源码 下载地址 建议开个代理 2.配置相关 a.将源码文件夹改名为jni b.编辑Android.mk文件 开头加上#开启webp 共享库编译ENABLE_SHARED := 1如图原创 2016-05-03 13:38:58 · 931 阅读 · 0 评论 -
Ubuntu下移植Tcpdump到Android平台
为Linux平台编译Tcpdump源码准备 Tcpdump-4.7.4 libpcap-1.7.4编译之前确保有lex和yacc工具sudo apt-get install flex bison1.解压libpcap-1.7.4之后进入该目录,打开终端 接着输入make完成编译 2.解压Tcpdump-4.7.4之后进入该目录,打开终端 同样./configuremake不出意外的话原创 2016-07-13 14:32:52 · 1431 阅读 · 0 评论 -
ubuntu移植jsoncpp到Android平台
简书排版 http://www.jianshu.com/p/02ccd73c927e本机OS: Ubuntu 14.04 x64NDK开发模块的时候,如果涉及到网络请求,类似json数据传递的时候,有现成的第三方json库可以移植,后台C++开发中使用的比较多的是jsoncpp,今天记录一下jsoncpp移植到Android平台的过程cmake编译此方法并非标准的NDK项目 采用的是cmake交原创 2016-08-11 23:38:49 · 1403 阅读 · 0 评论 -
ubuntu移植crypto++到Android平台
简书排版 http://www.jianshu.com/p/eaeeed899251ubuntu移植crypto++到Android平台 官方Wiki http://www.cryptopp.com/wiki/Android_(Command_Line) 这个移植比较简单,官方直接就有文档了,而且有现成的脚本。 setenv-android.sh#!/usr/bin/env bash# =原创 2016-08-11 23:40:00 · 2248 阅读 · 0 评论 -
ubuntu移植libcurl到Android平台
简书排版 http://www.jianshu.com/p/332011ebd6e5最近移植了很多C++平台的库,很多都是后台开发的库,因为NDK开发,以后很可能会使用,提前预研一下。 libcurl这个库很有名,用的人比较多,下载源码,直接就可以编译使用,以前在Windows平台下开发网络模块的时候,用到过这个库,很强大 最近在跟后台的人聊天过程中了解了很多C++开发的相关库,这是其中一个,原创 2016-08-11 23:41:16 · 2135 阅读 · 1 评论 -
Ubuntu 14.04.2 移植FFmpeg 2.8.3 到Android平台
笔者生产环境是ubuntu14.04.2一直都听说FFmpeg很强大很暴力但一直都没时间研究沉淀今天心血来潮,决定试试看上正文首先下载FFmpeg 2.8.3源代码官方地址Github地址1.首先修改configure文件 去除后缀名之后的版本号#修改前#SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'#L...原创 2015-12-03 23:38:08 · 1840 阅读 · 1 评论 -
Android平台移植FFmpeg和x264
之前记录过一篇编译FFmpeg的文章,没写完整 最近在做ijkplayer的二次开发,重新拾起FFmpeg,记录完。 记得之前的移植很头疼,网上很多帖子,都是抄来抄去,作者也没有去验证 笔者记录的目的,是完整的记录下编译过程,以及从中碰到的坑,避免以后再次花时间预研下文编译过程为笔者亲自验证通过 笔者也在Github上开了一个库,记录下编译过的源码 x264解码库 http:/原创 2016-07-20 23:24:05 · 5543 阅读 · 2 评论