本章实现的LED驱动包含了Linux驱动、HAL模块、Service程序库、NDK程序和Java程序。 支持HAL的Linux驱动程序步骤如下: 1.编写Linux驱动; 2.编写HAL Library; 3.编写Service Library; 编写HAL模块的步骤和原理如下。 第一步:定义结构体 ...
分类:
其他好文 时间:
2016-07-03 19:06:44
阅读次数:
122
1、lame c库: https://github.com/intervigilium/liblame 下载后解压,进入目录,terminal里运行ndk-build即可 2、lame android库 https://github.com/intervigilium/Lame4Android 需要 ...
分类:
移动开发 时间:
2016-07-01 19:55:04
阅读次数:
730
交叉编译 在一个平台上去编译另一个平台上可以执行的本地代码 cpu平台 arm x86 mips 操作系统平台 windows linux mac os 原理 模拟不同平台的特性去编译代码 jni开发工具: ndk native develop kit NDK目录 docs--帮助文档 platfo ...
分类:
移动开发 时间:
2016-06-30 21:46:18
阅读次数:
256
在AndroidStudio中引入so库,只需在app/jniLibs下放入so文件,然后在Module的build.gradle中加入:sourceSets{main{jniLibs.srcDirs=[‘libs‘]}}完整的build.gradle如下:applyplugin:‘com.android.library‘android{compileSdkVersion23buildToolsVersion"23.0.2"defaultConfig{..
分类:
移动开发 时间:
2016-06-29 01:18:10
阅读次数:
232
如何定位Android NDK开发中遇到的错误 NDK编译生成的.so文件作为程序的一部分,在运行发生异常时同样会造成程序崩溃。不同于Java代码异常造成的程序崩溃,在NDK的异常发生时,程序在Android设备上都会立即退出,即通常所说的闪退,而不会弹出“程序xxx无响应,是否立即关闭”之类的提示 ...
分类:
移动开发 时间:
2016-06-27 22:56:50
阅读次数:
269
二、libbase 其实上面加载完SO库后,hook的功能我们完全可以自己在动态库中实现。而adbi作者为了方便我们使用,编写了一个通用的hook框架工具即libbase库。libbase依然在解决两个问题:1.获取要hook的目标函数地址;2.给函数打二进制补丁即inline hook。 关于获取 ...
分类:
移动开发 时间:
2016-06-27 19:56:40
阅读次数:
300
NDK是用来给安卓手机开发软件用的,但是和SDK不同的是它用的是C语言,而SDK用的是Java语言。NDK开发的软件在安卓的环境里是直接运行的,一般只能在特定的CPU指令集的机器上运行,而且C语言可以直接和硬件对话, 因此一般用它开给手机开发驱动或底层应用; 而SDK开发出的软件在安卓上靠Dalvi ...
分类:
移动开发 时间:
2016-06-27 17:01:26
阅读次数:
479
参考文章:http://www.cnblogs.com/wainiwann/p/3837936.htmlLOCAL_PATH:=$(callmy-dir)#返回Android.mk的目录路径include$(CLEAR_VARS)#负责清理很多LOCAL_xxx.例如:LOCAL_MODULE,LOCAL_SRC_FILES,LOCAL_STATIC_LIBRARIES等等。但不清理LOCAL_PATH.LOCAL_MODULE:=libjpush173..
分类:
移动开发 时间:
2016-06-24 13:05:58
阅读次数:
833
执行:编译cocos2d里的android项目报错:[taskdef]couldnotloaddefinitionsfromresourceanttasks.properties.Itcouldnotbefound原因:/F:/bundle/android-ndk/android-ndk-r10dndk路径前面多了一个斜杠“/”知识点:window的路径前面没有“/”linux和mac的才是"/"做根路径的未..
分类:
移动开发 时间:
2016-06-23 22:31:29
阅读次数:
312