Android NDK生成共享库和静态库

游客

标题:Android NDK生成共享库和静态库
正文:
Date: 2014-03-14Title: Compile Android Native Binary And Library Published: trueType: postTags: Andoird, Develope在Android平台上，通过NDK可以编译NativeC程序，生成原生的NativeCode。从生成的代码的使用方式来看，主要有三种形式：Native Executable Binary, Shared Dynamic Library, 以及Static Link Library。接下来将分别介绍这三种类型的二进制文件的用途和生成时的MakeFile的设置。1. Static Link Library1.1 用途顾名思义，就是静态链接库的意思。静态库编译生成后是以*.a的文件形式存在；主要用于生成其他链接库或可执行程序；在生成时静态链接库的代码会被链接到目标程序中去，因此，目标程序在使用工程中无需在使用静态链接库。同时由于静态链接库的部分或全部代码被连接到目标程序中，从而使得目标程序体积变大；使用了同一静态链接库的不同程序均已经连接了各自所需的目标代码，程序间不会共享代码。在使用时，会用到声明了静态链接库中函数的头文件。 1.2 生成方式使用NDK再带的ndk-build生成时，要求代码需放在./jni/目录下；同时在jni下创建Android.mk文件；根据需要创建Application.mk。一个典型的用于生成静态链接库的Android.mk内容如下：LOCAL_PATH := $(call my-dir) include LOCAL_MODULE := mystaticLibrary LOCAL_SRC_FILES := mystaticLibrary.cpp LOCAL_INCLUDES := /jni include 由于生产的是静态库，所以还需要一个Application.mk的文件：APP_MODULES := mystaticLibrary #APP_PLATFORM := android-8 其中声明应用平台的这一行是可选项。之后在当前目录使用/ndk
[<<][[1]][2][3][>>]

查看评论(2)
发表评论

首页