- 浏览: 279505 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zhang_shuai870717:
求指教。没懂
Graphics 的translate(int x, int y) 函数 -
刘亮love小雪:
楼主我还是没有懂啊
Graphics 的translate(int x, int y) 函数 -
wenhaoliu:
大侠!我在从ios平台移植到android平台遇到很多问题!编 ...
android平台移植总结 -
lansehuan:
dwpcny 写道楼主 你给得链接是你自己才能看得啊 。我也遇 ...
cocos2d-x,windows环境配置总结 -
leishengwei:
u_xtian 写道jifengyu 写道楼主你好,我想问一下 ...
(转)Android开发:在EditText中关闭软键盘
'ndk-build' Overview
ndk-build概述
I. Usage:
一、使用方法:
The Android NDK r4 introduced a new tiny shell script, named 'ndk-build', to simplify building machine code.
Android NDK r4引入一个新的小型shell脚本,名字是ndk-build,以简化机器码的构建。
The script is located at the top-level directory of the NDK, and shall be invoked from the command-line when in your application project directory, or any of its sub-directories. For example:
脚本位于NDK的顶级目录,并且将在你的应用程序工程目录,或它的任意子目录中的命令行调用。例如:
cd $PROJECT
$NDK/ndk-build
Where $NDK points to your NDK installation path. You can also create an alias or add $NDK to your PATH to avoid typing it every time.
这里$NDK指向你的NDK安装目录。你还可以创建一个别名或者添加$NDK到你的PATH环境变量以避免每次都键入它(注:PATH区分大小写)。
II. Options:
二、选项:
All parameters to 'ndk-build' are passed directly to the underlying GNU Make command that runs the NDK build scripts. Notable uses include:
所有给ndk-build的参数被直接传递到运行NDK构建脚本的底层GNU Make命令。值得注意的使用方法包括:
ndk-build --> rebuild required machine code. ndk-build --> 重新构建所需的机器代码。
ndk-build clean --> clean all generated binaries. ndk-build clean --> 清除所有生成的二进制文件。
ndk-build NDK_DEBUG=1 --> generate debuggable native code. ndk-build NDK_DEBUG=1 --> 生产可调试的本地代码。
ndk-build V=1 --> launch build, displaying build commands. ndk-build V=1 --> 启动构建,显示构建命令。
ndk-build -B --> force a complete rebuild. ndk-build -B --> 强制完全重新构建。
ndk-build -B V=1 --> force a complete rebuild and display build commands. ndk-build -B V=1 --> 强制完全重新构建并且显示构建命令。
ndk-build NDK_LOG=1 --> display internal NDK log messages (used for debugging the NDK itself). ndk-build NDK_LOG=1 --> 显示内部NDK日志消息(用于调试NDK自身)。
ndk-build NDK_DEBUG=1 --> force a debuggable build (see below) ndk-build NDK_DEBUG=1 --> 强制调试版构建(见下)(注:调试版指带调试信息,可以用gdb调试的二进制文件)
ndk-build NDK_DEBUG=0 --> force a release build (see below) ndk-build NDK_DEBUG=0 --> 强制发布版构建(见下)(注:发布版指不带调试信息的二进制文件)
ndk-build NDK_APP_APPLICATION_MK=<file> --> rebuild, using a specific Application.mk pointed to by the NDK_APP_APPLICATION_MK command-line variable.
ndk-build NDK_APP_APPLICATION_MK=<文件名> --> 重新构建,通过NDK_APP_APPLICATION_MK命令行变量指向使用特定的Application.mk.
ndk-build -C <project> --> build the native code for the project path located at <project>. Useful if you don't want to 'cd' to it in your terminal.
ndk-build -C <工程目录> --> 构建位于<工程目录>的工程的本地代码。当你不想在终端上用cd切换到那个目录时有用。
III. Debuggable versus Release builds:
三、调试版和发布版构建:
--------------------------------------
In NDK r5, ndk-build has been modified to make it easier to switch between release and debug builds. This is done by using the NDK_DEBUG variable.
在NDK r5,ndk-build已经被修改成可以更容易地在发布版和调试版构建之间切换。通过使用NDK_DEBUG变量来做到。
For example:
例如:
$NDK/ndk-build NDK_DEBUG=1 => forces the generation of debug binaries
$NDK/ndk-build NDK_DEBUG=1 => 强制生成调试版二进制文件。
$NDK/ndk-build NDK_DEBUG=0 => forces the generation of release binaries
$NDK/ndk-build NDK_DEBUG=0 => 强制生成发布版二进制文件。
If you don't specify NDK_DEBUG, ndk-build will keep its default behaviour, which is to inspect the AndroidManifest.xml, if any, and see if its <application> element has android:debuggable="true".
如果你不指定NDK_DEBUG,ndk-build将保持它的默认行为,即检查AndroidManifest.xml,如果有,检查它的<application>元素是否有android:debuggable="true"属性。
IMPORTANT: If you use the build tools of SDK r8 (or higher), you won't need to touch your AndroidManifest.xml file at all!
重要事项:如果你使用SDK r8(或更高)的构建工具,你将完全不必修改你的AndroidManifest.xml文件!
That's because if you build a debug package (e.g. with "ant debug" or the corresponding option of the ADT plugin), the tool will automatically pick the native debug files generated with NDK_DEBUG=1.
那是因为如果你构建一个调试包(例如,使用“ant debug”或ADT插件相应选项),工具将自动选择用NDK_DEBUG=1生成原生调试版文件。(注:也就是说,Java代码为调试版,则JNI的C代码也自动切换为调试版)
Also, as a convenience, the release and debug object files generated by the NDK are now stored in different directories (e.g. obj/local/<abi>/objs and obj/local/<abi>/objs-debug). This avoids having to recompile all your sources when you switch between these two modes (even when you only modified one or two source files).
同样,方便起见,有NDK生成的发布版和调试版对象文件现在被存放在不同的目录中(例如obj/local/<abi>/objs和obj/local/<abi>/objs-debug)。(注:abi是应用二进制接口的缩写,这里指代某类交叉编译器,例如EABI,嵌入式应用二进制接口)。这避免当你在这两种模式之间切换时必须重新编译所有源代码(即便你仅仅修改一个或两个源文件)。(注:Makefile的策略导致,Makefile认为xxx.c一般只会生成xxx.o,也就是说调试版和发布版的.o不能共存,上面的方法类似Windows,使用不同的目录输出不同版本的.o,以避免覆盖)
IV. Requirements:
四、要求:
You need GNU Make 3.81 or later to use 'ndk-build' or the NDK in general. The build scripts will detect that you're using a non-compliant Make tool and will complain with an error message.
一般你需要GNU Make 3.81或更高以使用ndk-build或NDK(注:因为GNU的make有两种)。构建脚本将检测到你正在使用不兼容的Make工具并且用一个错误消息解释。
If you have GNU Make 3.81 installed, but that it is not launched by the default 'make' command, define GNUMAKE in your environment to point to it before launching 'ndk-build'. For example:
如果你已经安装GNU Make 3.81以上,但不能用默认的make命令启动,可以在运行ndk-build之前在你的环境变量中定义GNUMAKE指向它的路径。例如:
GNUMAKE=/usr/local/bin/gmake ndk-build (注:环境变量的键值对出现在命令之前,常用于临时变更环境变量,等效于下面的export命令)
Or to make the change more permanent:
或更永久地改变:
export GNUMAKE=/usr/local/bin/gmake
ndk-build
Adapt to your shell and GNU Make 3.81 installation location.
请适配你的shell和GNU Make 3.81的安装位置。
V. Internals:
五、内幕:
'ndk-build' itself is a tiny wrapper around GNU Make, its purpose is simply to invoke the right NDK build script, it is equivalent to;
ndk-build本身是对GNU Make的一个小型封装,它的目的是简化正确NDK构建脚本调用,它等效于:
$GNUMAKE -f $NDK/build/core/build-local.mk [parameters]
Where '$GNUMAKE' points to GNU Make 3.81 or later, and $NDK points to your NDK installation directory.
这里$GNUMAKE指向GNU Make 3.81或更新,而$NDK指向你的NDK安装目录。
Use this knowledge if you want to invoke the NDK build script from other shell scripts (or even your own Makefiles).
如果你想从其它shell脚本中调用NDK构建脚本(或者甚至是你自己的Makefile文件)(注:Makefile是make的默认配置文件,类似于Ant的build.xml)时可以使用这种技巧。
原文:http://blog.csdn.net/hgl868/article/details/6724276
ndk-build概述
I. Usage:
一、使用方法:
The Android NDK r4 introduced a new tiny shell script, named 'ndk-build', to simplify building machine code.
Android NDK r4引入一个新的小型shell脚本,名字是ndk-build,以简化机器码的构建。
The script is located at the top-level directory of the NDK, and shall be invoked from the command-line when in your application project directory, or any of its sub-directories. For example:
脚本位于NDK的顶级目录,并且将在你的应用程序工程目录,或它的任意子目录中的命令行调用。例如:
cd $PROJECT
$NDK/ndk-build
Where $NDK points to your NDK installation path. You can also create an alias or add $NDK to your PATH to avoid typing it every time.
这里$NDK指向你的NDK安装目录。你还可以创建一个别名或者添加$NDK到你的PATH环境变量以避免每次都键入它(注:PATH区分大小写)。
II. Options:
二、选项:
All parameters to 'ndk-build' are passed directly to the underlying GNU Make command that runs the NDK build scripts. Notable uses include:
所有给ndk-build的参数被直接传递到运行NDK构建脚本的底层GNU Make命令。值得注意的使用方法包括:
ndk-build --> rebuild required machine code. ndk-build --> 重新构建所需的机器代码。
ndk-build clean --> clean all generated binaries. ndk-build clean --> 清除所有生成的二进制文件。
ndk-build NDK_DEBUG=1 --> generate debuggable native code. ndk-build NDK_DEBUG=1 --> 生产可调试的本地代码。
ndk-build V=1 --> launch build, displaying build commands. ndk-build V=1 --> 启动构建,显示构建命令。
ndk-build -B --> force a complete rebuild. ndk-build -B --> 强制完全重新构建。
ndk-build -B V=1 --> force a complete rebuild and display build commands. ndk-build -B V=1 --> 强制完全重新构建并且显示构建命令。
ndk-build NDK_LOG=1 --> display internal NDK log messages (used for debugging the NDK itself). ndk-build NDK_LOG=1 --> 显示内部NDK日志消息(用于调试NDK自身)。
ndk-build NDK_DEBUG=1 --> force a debuggable build (see below) ndk-build NDK_DEBUG=1 --> 强制调试版构建(见下)(注:调试版指带调试信息,可以用gdb调试的二进制文件)
ndk-build NDK_DEBUG=0 --> force a release build (see below) ndk-build NDK_DEBUG=0 --> 强制发布版构建(见下)(注:发布版指不带调试信息的二进制文件)
ndk-build NDK_APP_APPLICATION_MK=<file> --> rebuild, using a specific Application.mk pointed to by the NDK_APP_APPLICATION_MK command-line variable.
ndk-build NDK_APP_APPLICATION_MK=<文件名> --> 重新构建,通过NDK_APP_APPLICATION_MK命令行变量指向使用特定的Application.mk.
ndk-build -C <project> --> build the native code for the project path located at <project>. Useful if you don't want to 'cd' to it in your terminal.
ndk-build -C <工程目录> --> 构建位于<工程目录>的工程的本地代码。当你不想在终端上用cd切换到那个目录时有用。
III. Debuggable versus Release builds:
三、调试版和发布版构建:
--------------------------------------
In NDK r5, ndk-build has been modified to make it easier to switch between release and debug builds. This is done by using the NDK_DEBUG variable.
在NDK r5,ndk-build已经被修改成可以更容易地在发布版和调试版构建之间切换。通过使用NDK_DEBUG变量来做到。
For example:
例如:
$NDK/ndk-build NDK_DEBUG=1 => forces the generation of debug binaries
$NDK/ndk-build NDK_DEBUG=1 => 强制生成调试版二进制文件。
$NDK/ndk-build NDK_DEBUG=0 => forces the generation of release binaries
$NDK/ndk-build NDK_DEBUG=0 => 强制生成发布版二进制文件。
If you don't specify NDK_DEBUG, ndk-build will keep its default behaviour, which is to inspect the AndroidManifest.xml, if any, and see if its <application> element has android:debuggable="true".
如果你不指定NDK_DEBUG,ndk-build将保持它的默认行为,即检查AndroidManifest.xml,如果有,检查它的<application>元素是否有android:debuggable="true"属性。
IMPORTANT: If you use the build tools of SDK r8 (or higher), you won't need to touch your AndroidManifest.xml file at all!
重要事项:如果你使用SDK r8(或更高)的构建工具,你将完全不必修改你的AndroidManifest.xml文件!
That's because if you build a debug package (e.g. with "ant debug" or the corresponding option of the ADT plugin), the tool will automatically pick the native debug files generated with NDK_DEBUG=1.
那是因为如果你构建一个调试包(例如,使用“ant debug”或ADT插件相应选项),工具将自动选择用NDK_DEBUG=1生成原生调试版文件。(注:也就是说,Java代码为调试版,则JNI的C代码也自动切换为调试版)
Also, as a convenience, the release and debug object files generated by the NDK are now stored in different directories (e.g. obj/local/<abi>/objs and obj/local/<abi>/objs-debug). This avoids having to recompile all your sources when you switch between these two modes (even when you only modified one or two source files).
同样,方便起见,有NDK生成的发布版和调试版对象文件现在被存放在不同的目录中(例如obj/local/<abi>/objs和obj/local/<abi>/objs-debug)。(注:abi是应用二进制接口的缩写,这里指代某类交叉编译器,例如EABI,嵌入式应用二进制接口)。这避免当你在这两种模式之间切换时必须重新编译所有源代码(即便你仅仅修改一个或两个源文件)。(注:Makefile的策略导致,Makefile认为xxx.c一般只会生成xxx.o,也就是说调试版和发布版的.o不能共存,上面的方法类似Windows,使用不同的目录输出不同版本的.o,以避免覆盖)
IV. Requirements:
四、要求:
You need GNU Make 3.81 or later to use 'ndk-build' or the NDK in general. The build scripts will detect that you're using a non-compliant Make tool and will complain with an error message.
一般你需要GNU Make 3.81或更高以使用ndk-build或NDK(注:因为GNU的make有两种)。构建脚本将检测到你正在使用不兼容的Make工具并且用一个错误消息解释。
If you have GNU Make 3.81 installed, but that it is not launched by the default 'make' command, define GNUMAKE in your environment to point to it before launching 'ndk-build'. For example:
如果你已经安装GNU Make 3.81以上,但不能用默认的make命令启动,可以在运行ndk-build之前在你的环境变量中定义GNUMAKE指向它的路径。例如:
GNUMAKE=/usr/local/bin/gmake ndk-build (注:环境变量的键值对出现在命令之前,常用于临时变更环境变量,等效于下面的export命令)
Or to make the change more permanent:
或更永久地改变:
export GNUMAKE=/usr/local/bin/gmake
ndk-build
Adapt to your shell and GNU Make 3.81 installation location.
请适配你的shell和GNU Make 3.81的安装位置。
V. Internals:
五、内幕:
'ndk-build' itself is a tiny wrapper around GNU Make, its purpose is simply to invoke the right NDK build script, it is equivalent to;
ndk-build本身是对GNU Make的一个小型封装,它的目的是简化正确NDK构建脚本调用,它等效于:
$GNUMAKE -f $NDK/build/core/build-local.mk [parameters]
Where '$GNUMAKE' points to GNU Make 3.81 or later, and $NDK points to your NDK installation directory.
这里$GNUMAKE指向GNU Make 3.81或更新,而$NDK指向你的NDK安装目录。
Use this knowledge if you want to invoke the NDK build script from other shell scripts (or even your own Makefiles).
如果你想从其它shell脚本中调用NDK构建脚本(或者甚至是你自己的Makefile文件)(注:Makefile是make的默认配置文件,类似于Ant的build.xml)时可以使用这种技巧。
原文:http://blog.csdn.net/hgl868/article/details/6724276
发表评论
-
C++正则表达式匹配、分割字符串
2017-11-14 16:32 2147#include "stdafx.h" # ... -
Android monkey跟monkeyrunner研究
2015-06-03 10:51 1221最近研究了Android自带的测试工具monkey 跟 mon ... -
C语言字节对齐示例
2014-09-23 16:44 772#include "stdafx.h" ... -
(转)C语言字节对齐
2014-09-23 16:16 713文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但 ... -
C++ stl中remove的实现
2013-09-24 23:14 985原文:http://www.cplusplus.com/ref ... -
(转)c++ explicit构造函数
2013-09-11 18:51 696按照默认规定,只有一 ... -
(转)string替换所有指定字符串(C++)
2013-07-27 17:01 1891C++的string提供了replace方法来实现字符串的替换 ... -
C++哲学
2013-01-10 20:34 850即:只为用到的东西付出代价。 -
(转)Android Layout 之 RelativeLayout,代码实现相对布局
2012-12-11 15:37 2328使用 AbsoluteLayout 可以直 ... -
(转)LayoutInflater作用及使用
2012-11-28 11:06 1501备注: LayoutInflater主要 ... -
jni文件传递方法参数
2012-11-26 17:43 5653使用jni从java传递多个参数到c++时,如果是多个参数,当 ... -
(转)C++ string类的一些函数方法
2012-10-24 14:41 894string类的构造函数: string(const char ... -
CCTMXTiledMap使用的几个事项
2012-08-02 11:12 7389项目中的地图层采用coco ... -
android平台移植总结
2012-07-30 13:11 2754最近完成了一款游戏的android平台移植,从ios平台移植到 ... -
(转)Android中的“再按一次返回键退出程序”实现
2012-07-26 16:47 1128用户退出应用前给出一个提示是很有必要的,因为可能是用户并不真的 ... -
(转)子类重新父类方法的限制
2012-07-23 15:17 934若想实现一个合格重写方法,而不是重载,那么必须同时满足下面的要 ... -
(转)在VS2005下使用libjson注意事项
2012-07-17 15:31 1722最近项目中要使用libjson,无奈boost下的1.34版的 ... -
c++ 字符串的一些概念
2012-06-13 00:16 1215今天看到《c++ primer》上 ... -
(转)cocos2d-x解析json(使用libjson库)
2012-06-06 11:26 2512cocos2d-x很好,扩展性很好,但是其第三方库还不是很成熟 ... -
c++ vector方法push_back的新理解
2012-05-25 11:57 0写了上篇文章 对c++方法返回对象的理解(对c++方法返回对象 ...
相关推荐
标题“ndk-build.zip”指的是一个包含Android NDK构建工具的压缩文件,主要适用于Windows操作系统。这个文件的核心是“ndk-build.exe”,这是一个用于编译原生C/C++代码的命令行工具,与Git Bash环境集成,使得用户...
本资源"ndk-build-examples"提供了关于如何使用NDK构建原生代码的实例,通过adb运行可执行文件,帮助开发者深入理解NDK的使用方法。 `ndk-build`是Android NDK中用于编译原生代码的命令行工具,它可以自动处理依赖...
ndkBuild { path 'src/main/jni/Android.mk' } } } dependencies { ... } ``` 7. **重新编译并运行** 在Android Studio中同步Gradle项目,然后运行应用。现在,Java代码可以调用C函数了。 通过这个简单...
本教程将详细介绍如何使用NDK-Build的方式在Android项目中调用C/C++代码。 首先,理解NDK-Build。NDK是Android Native Development Kit的缩写,它是一组工具,开发者可以使用这些工具编写和编译原生代码,然后将其...
通过ndk-build.exe转接,可以直接在git bash中使用ndk-build功能。配合cmder使用git bash可以做到类似Linux的体验
本篇文章将详细探讨“ndk build mk文件”及其核心组件——Android.mk和Application.mk。 Android.mk是Android NDK构建系统中的主要配置文件,用于指定编译源代码、库依赖、编译选项等信息。它是Makefile的一种变体...
标题"Incredibuild_ndk-build.rar"涉及到的是一个与Android NDK开发相关的工具包,它包含两个关键文件:`ndk-build.cmd`和`profile.xml`。这些文件在Android原生开发过程中扮演着重要角色。 **NDK**是Android ...
ndk-build Native方法编译工具
在Ubuntu的情况下,ndk-build编译C++成Android Studio可用的so文件。这里是一个将android-ndk-r21e生成交叉编译链之后,可以直接使用ndk-build这个指令就可以生成Android Studio可以使用的依赖库.so文件。CRC16是一...
NDK开发有时需要Java和C/C++把对象作为参数互相传递, 详情参考: C/C++传递对象到Java:https://blog.csdn.net/niuba123456/article/details/80994037 Java传递对象到C/C+:...
关于标签,"android"表明了这是与Android开发相关的,"ndk"是关键词,表明讨论的是NDK开发,"libiconv"是我们关注的字符集转换库,"iconv"是该库的主要函数,用于执行实际的转换操作,"ndk-build"则是NDK的构建工具...
ndk-build.cmd
# NDK Camera [![Build Status](https://travis-ci.org/luncliff/NdkCamera.svg?branch=master)](https://travis-ci.org/luncliff/NdkCamera) > If there is an issue with this library, please mail to luncliff...
android-gpuimage-ndkbuild-sample 使用基于 Android Studio 的 android-gpuimage 库的 Android NDK 构建示例 你应该看到 android-gpuimage 和 iOS GPUImage 框架 未来 我将比较 noen 和 android-gpuimage 库。
ndkBuild { path 'jni/Android.mk' } } } ``` 至此,你已经在Ubuntu上成功搭建了NDK环境,并学会了如何创建、编译和集成原生代码到Android应用。通过NDK,你可以充分利用C/C++的性能优势,为你的应用带来更丰富...
这个虽然只是个简单的jnidemo、但是涵盖了Android.mk 和Application.mk 的原理 重点是Android NDK编译的理解 mac 系统下 切换到jni目录,然后呢个 ndk-build
本示例"Android 使用ndk-build和cmake构建JNI程序 demo"将向你展示如何在Android项目中集成原生代码。Android NDK(Native Development Kit)提供了一种方式,让开发者可以使用这些本地语言编写应用的一部分,然后在...
掌握 Android NDK构建系统 - 第1部分:使用ndk-build的技术 本文不是“Hello world!” - NDK的类型教程。虽然我仍然会快速介绍ndk-build的基本知识,但它不是本文的重点。相反,我将总结一些非常有用的NDK技术和我...
这里,你可以编写C/C++代码,然后使用NDK的交叉编译工具链(如ndk-build或CMake)生成armeabi-v7a架构的.so文件。这些文件应放在armeabi-v7a目录下。 - **x86**: 类似地,为x86架构创建一个名为x86的子目录,并在...
在终端输入`ndk-build --version`,如果正确配置了环境变量,你应该能看到NDK的版本信息,这表明安装成功。 四、在Android Studio中配置NDK 1. 打开Android Studio项目。 2. 转到`File` > `Project Structure`。 3....