Android NDK
文章平均质量分 80
眨巴眨巴
Android SDK/NDK, JNI, Qt, Java, J2EE, Akka
还熟悉 MongoDb, MySQL
精通的:C++, STL, Boost
机器学习、数据挖局、复杂网络
展开
-
Android NDK 使用自己的共享库(Import Module)
NDK r5 开始支持预编译共享库。预编译共享库就是从其他地方获得源码编译出的共享库,而不是Android系统自带的。方法如下:1、声明共享库模块把共享库声明为一个独立模块。假如 libfoo.so 与 Android.mk 位于同一目录。则 Android.mk 应该这样写: LOCAL_PATH := $(call my-dir) include $(CLEAR_V原创 2011-07-08 09:50:26 · 18956 阅读 · 1 评论 -
NDK Build 用法(NDK Build)
1、ndk-build的用法Android NDKr4引入了一个新的、小巧的shell脚本ndk-build,来简化源码编译。该文件位于NDK根目录,进入你的工程根目录或子目录之后,在命令行下调用即可。例如: cd $PROJECT $NDK/ndk-buildNDK指向你的NDK的安装目录,PROJECT指向你的Android工程目录。建议将ndk-build所在原创 2013-01-20 23:04:41 · 105858 阅读 · 7 评论 -
Android 不支持 SYSV IPC (SYSV IPC)
Android 不支持 System V IPC, 即下面头文件提供的功能: /* SysV semaphores*/ /* SysV shared memory segments */ /* SysV message queues */ /* General IPC definitions */Android不支持SYSV IPC的原因: 会导原创 2013-01-19 23:32:13 · 6151 阅读 · 5 评论 -
Android NDK 工具链的使用方法(Standalone Toolchain)
首先需要确定目标机器的指令集。如果是 x86 的机器,用 x86-4.4.3 版本的工具链;如果是 arm 指令的,用 arm-linux-androideabi-4.4.3 版本 (x86-4.4.3 和 arm-linux-androideabi-4.4.3 位于ndk目录中)1、gcc 的sysroot 选项sysroot 选项设定 gcc 在编译源码的时候,寻找头文件和库文件的原创 2011-07-06 12:47:23 · 61885 阅读 · 3 评论 -
Android NDK 概述(Android NDK Overview)
Android NDK 功能概述Android NDK就是一套用于把C/C++源码编译得到的二进制机器码嵌入应用安装包的工具。Android NDK是对Android SDK的一个补充,可以帮助你:1)生成符合JNI规范的共享库(运行在Android 1.5以上系统,主要是ARM CPU)2)将共享库拷贝到工程合适位置(拷贝之后,在生成apk时,该共享库自动打包进最终的apk文件)原创 2013-01-17 16:58:48 · 2478 阅读 · 0 评论 -
NDK提供的共享库(Prebuilt)
Android NDK r5 开始支持预编译库(动态库和静态库),即程序能使用库的预编译版本。该特性可用于以下两方面:1)向第三方NDK开发人员发布你的共享库而不用提供源码。2)使用一个提前编译好的库(预编译库)来加速编译过程。本文说明该特性如何工作。I. 声明一个预编译库的模块对于Android编译工具而言,每个预编译库必须声明为一个独立的模块。这里举一个例子,假设 li原创 2013-01-21 10:01:25 · 26683 阅读 · 1 评论 -
Bionic C 库概述(Bionic Overview)
一、核心思想:简单化即C库应该只提供对内核功能的轻量级封装,不应该过于智能化,考虑太多的边界条件。Bionic这个词表明它一部分来自BSD,一部分来自Linux。它的源码主要是BSD C库的代码片段,加上一些Linux相关的比特位,用来处理线程、信号等问题。二、架构Bionic目前支持x86和arm指令集。理论上讲,可以支持更多的架构,不过需要做一些工作。三、S原创 2013-01-19 23:16:06 · 7389 阅读 · 0 评论 -
Android NDK的安装(Installation Guide)
一、需求1、支持的操作系统:Linux, OS X, Windows。2、Windows用户需要安装Cygwin 1.7才能使用NDK(http://www.cygwin.com)。3、需要安装Android SDK(Android NDK不能生成apk,只能编译共享库)。4、Android NDK依赖 GNU Make 3.81 以上版本和GNU Awk(注意:传统UNIX系统自原创 2013-01-19 00:22:13 · 1527 阅读 · 0 评论 -
Android NDK Stable APIs
使用 Android NDK 的一般方法:1、假如想要使用foo这个模块,先要 #include , 然后链接 /system/lib/libfoo.so 。(在 Android.mk 文件中加入 LOCAL_LDLIBS := -lfoo)ndk-build 会自动链接 C库、数学库、C++库android-3 -> Official Android 1.5 sy原创 2011-07-07 17:05:47 · 6287 阅读 · 0 评论 -
Android.mk文件语法规范(Android.mk File)
1、Android.mk文件概述Android.mk文件用来告诉NDK编译系统,应该如何编译这些源码。更确切地说,该文件其实就是一个小型的Makefile。该文件会被NDK的编译工具解析多次,所以要注意不要过多使用环境变量,以免第一次解析时产生的变量影响后面的解析。Android.mk把源码组织成不同的模块,每个模块可以是一个静态库也可以是一个动态库。动态库才会被拷贝到安装包中,静态库只能原创 2013-01-22 17:22:36 · 33808 阅读 · 2 评论 -
关于NDK使用的常见问题及建议和技巧(Android NDK How-To)
ndk-build 命令用法实际上,ndk-build 直接调用了 make,因此大部分传给make的选项都可用于ndk-build。例如:ndk-build V=1 显示编译过程中真正被执行的命令(类似 make V=1)ndk-build -B 强制全部重新编译(类似 make -B)ndk-build -C 进入目录,再编译(等价于先cd进入,然后ndk-原创 2011-07-17 16:57:30 · 3045 阅读 · 0 评论