Android NDK的使用方法:
======================
NDK的用户提示和技巧集合
如何强制显示build命令
------------------------
执行"ndk-build V=1",实际生成的命令将会被显示。这可以用来验证你编译的东西,并且还会检查NDK的
build system中的错误。
(V=1 来自Linux内核的build system)
如何强制重新编译你的源码
------------------------
使用GNU Make的“-B”选项
ndk-build -B
如何存储本地源码到除$PROJECT/jni以外的位置:
-------------------------------------------
首先,你可以在你的$PROJECT/jni/Android.mk中包含另一个不同位置的Android.mk
另外,你需要在你的Application.mk文件中定义APP_BUILD_SCRIPT来指向那个替代的Android.mk文件
如果在不使用cd-ing的情况下来编译你的本地项目文件
------------------------------------------------
有时候,你需要在不用使用cd命令切换到根目录的情况下重新编译你的本地项目文件,可以使用
GNU-Make的'-C <path>'选项,如:
ndk-build -C <project-path>
如何将你的Application.mk文件存储子$PROJECT/jni目录之外
------------------------------------------------------
从NDK r4开始,你可以简单的将源文件放到$PROJECT/jni/目录下,然后执行'ndk-build'脚本
如果你想使用'ndk-build'命令但是将源文件放到了其他的位置,你可以使用如下命令:
ndk-build NDK_APPLICATION_MK=/path/to/your/Application.mk
如果你想使用传统的$NDK/apps/<name> 来build system,你可以创建一个符号链接到你最终的Application.mk
比如:
$PROJECT/foo/Applicatio.mk
用如下的命令创建符号链接
ln -s $PROJECT/foo $NDK/apps/<name>
这将使得你的$NDK/apps/<name>/Applicaiton.mk文件直接指向$PROJECT/jni/Application.mk
注意,这样生成的文件将仍然在$NDK/out/apps/<name>目录下。
Windows用户在使用Cygwin的情况下,它可以通过"ln -s"命令来创建符号链接,例如
ln -s <target> <link>
如何正确的添加一个包含目录到你的模块中:
--------------------------------------
如果你定义了若干模块,在编译另一个模块的时候需要包含某个模块的头文件,例如
$PROJECT/jni/foo/
Android.mk
foo.h
foo.c
$PROJECT/jni/foo/
Android.mk
fo.c
bar.c使用了"#include <foo.h>",你需要正确的将路径添加到foo模块的jni/bar/Android.mk中
例如,可以使用如下这样
LOCAL_C_INCLUDES := ../foo
但是这样是不会执行的,因为所有编译都从'ndk-build'被调用所在的目录开始,这些包含文件必须是
相对的才可以。
正确的方法是:
LOCAL_C_INCLUDE :=$(LOCAL_PATH)/../foo
它才哦那够了相对路径的方式,你需要将foo和bar移到源码目录的更深层次下。
如果你必须需要它,你可以使用NDK_APP_PROJECT_PATH指向你的项目目录
LOCAL_C_INCLUDES :=$(NDK_APP_PROJECT_PATH)/jni/foo
然而我们不建议这种方式,相对路径$(LOCAL_PATH)这种方式会更好些
分享到:
相关推荐
android.mk文件语法详述及简单实例
JNI NDK 开发指南 对JNI有个初步的认识,里面涉及必要的函数说明
android NDK 开发指南 android NDK 开发指南 android NDK 开发指南 android NDK 开发指南
ndk ,jni ,安卓,android
Android NDK Game Development Cookbook A systematic guide consisting of over 70 recipes which focus on helping you build portable mobile games and aims to enhance your game development skills with ...
Android JNI开发指南 Android.mk Application.mk-
Android NDK是一个允许Android应用开发人员使用C或C++源文件编译并嵌入到本机源代码中的应用程序包的一组工具。
你可能需要用底层语言实现一个小型的时间敏感代码,比如汇编,然后在你的 java程序中调用这些功能。
本书提供了android NDK开发的全面信息,介绍了从NDK开发环境搭建的每一步细节,NDK的基本概念和体系结构,具体的开发流程和方法。同时还比较详尽地介绍了Android NDK对C、C++标准库的支持。是一本关于Android NDK...
该技术文档包括JNI-NDK 开发指南 - v1.0,JNI编程指南,the java Native Interface英文原版和中文版
NDK&JNI;开发文档,官方文档 chm格式。便于大家交流和学习
使用指南 - v1.1.epub Android Studio 操作手册 - v1.1.epub Android Weekly 中文版 - v1.0.epub Android 坦克大战游戏 - v1.0.epub Android 实战技巧 - v1.1.epub Android 实战简易教程(连载) - v1.0.epub ...
《Android开发权威指南》适合具备一定软件开发经验、想快速进入Android开发领域的程序员,具备一些手机开发经验的开发者和Android开发爱好者学习使用;也适合作为相关培训学校的Android培训教材。
Java本地接口(JNI)编程指南和规范.pdf
《Android开发权威指南》内容上涵盖了用最新的Android版本开发的大部分场景。全书分4个部分,分别从Android基础介绍、环境搭建、SDK介绍,到应用剖析、组件介绍、综合实例演示,以及符合潮流的、最新的移动开发技术...
NDK_userguide,基于TIc6455DSP芯片的网络通信开发指南。
《Android开发权威指南(第二版)》全面介绍了Android应用开发的各种技术,主要内容包括Android的四大应用程序组件(Activity、Service、Content Provider和Broadcast Receiver)、布局、菜单、控件、资源和本地化、可视...