- 浏览: 578317 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (338)
- 已过时文章(留念用) (39)
- Android学习笔记 (30)
- Android开发指引自译 (100)
- Android NDK文档自译 (23)
- Android设计指引自译 (2)
- xp(ペケピー)&linux(理奈、铃)酱~ (4)
- ui酱&歌词自译~ (9)
- lua酱~ (9)
- 自我反省 (1)
- 羽game计划 (1)
- XSL酱 (2)
- java酱 (3)
- 设计的领悟 (58)
- 涂鸦作品(pixiv) (1)
- ruby酱 (2)
- Objective-C编程语言自译 (2)
- Android开发月报 (6)
- objc酱 (2)
- photoshop (3)
- js酱 (6)
- cpp酱 (8)
- antlr酱 (7)
- Lua 5.1参考手册自译 (11)
- 收藏品 (3)
- 待宵草计划 (4)
- 体验版截图 (1)
最新评论
-
naruto60:
太给力了!!!!我这网打不开Intel官网,多亏楼主贴了连接, ...
使用HAXM加速的Android x86模拟器(和一些问题) -
yangyile2011:
谢谢博主,翻译得很好哦
【翻译】(4)片段 -
ggwang:
牙痛的彼岸:痹!
牙痛的彼岸 -
ggwang:
总结得很简练清晰啊,学习了!
ANTLR学习笔记一:概念理解 -
leisurelife1990:
mk sdd
用git下载Android自带app的源代码
-----------------
英文文档见android-ndk-r5b的documentation.html
属于Android Native Development Kit (NDK)的一部分
见http://developer.android.com/sdk/ndk/(需要代理)
翻译仅个人见解
-----------------
'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)时可以使用这种技巧。
发表评论
-
【翻译】(25)ANDROID ATOMICS OPERATIONS
2012-02-21 10:22 1750----------------- 英文 ... -
【翻译】(21)Licenses
2011-11-13 21:11 967----------------- 英文文档见android ... -
【翻译】(19)Bionic Changes
2011-11-13 21:08 2533----------------- 英文文档见android ... -
【翻译】(16)Bionic Overview
2011-09-09 23:27 2263----------------- 英文文档见android ... -
【翻译】(17)SYSV IPC
2011-09-09 08:15 1627----------------- 英文文档见android ... -
【翻译】(20)System Issues
2011-09-08 18:22 1103----------------- 英文文档见andr ... -
【翻译】(24)Native Activity
2011-09-08 08:53 1533----------------- 英文文档见android ... -
【翻译】(23)NDK Stack
2011-09-07 16:45 2557----------------- 英文文档见android ... -
【翻译】(22)CPU X86
2011-09-07 15:52 1098----------------- 英文文档见android ... -
【翻译】(15)Standalone Toolchain
2011-04-26 17:05 1578----------------- 英文文档 ... -
【翻译】(14)Stable APIs
2011-04-26 17:04 1561----------------- 英文文档见android ... -
【翻译】(13)Prebuilts
2011-04-26 17:03 1193----------------- 英文文档见android ... -
【翻译】(12)NDK GDB
2011-04-26 17:00 1468----------------- 英文文档 ... -
【翻译】(10)Import Module
2011-04-26 16:54 1512----------------- 英文文档见android ... -
【翻译】(9)CPU Features
2011-04-26 16:52 1524----------------- 英文文档见android ... -
【翻译】(8)CPU ARM Neon
2011-04-26 16:50 1557----------------- 英文文档见android ... -
【翻译】(7)CPU Arch ABIs
2011-04-26 16:48 1254----------------- 英文文档见android ... -
【翻译】(6)Application.mk File
2011-04-26 16:46 1422----------------- 英文文档 ... -
【翻译】(5)Android.mk File
2011-04-26 16:45 1334----------------- 英文文档见android ... -
【翻译】(4)How To
2011-04-26 16:43 996----------------- 英文文档见android ...
相关推荐
首先,NDK-GDB的脚本位于NDK安装目录的根目录下,与`ndk-build`在同一层级。在进行调试前,确保你的项目满足以下条件: 1. 你的项目是通过`ndk-build`脚本编译的,而不是使用`make APP=<name>`方式。 2. 应用程序的...
- 用`ndk-build`脚本编译,而不是旧的`make`命令。 - 在`AndroidManifest.xml`中,`<application>`标签的`android:debuggable`属性必须设为`true`。 - 应用程序必须在Android 2.2或更高版本的设备或模拟器上运行...
使用 ndk-build -B V=1 命令,可以让 ndk-build “揭露出”整个工具链的不同使用过程。 二、了解工具链的组成部分 工具链由多个组成部分组成,包括编译器、汇编器、链接器、库文件等。编译器负责将源代码编译成...
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启动器的翻译是通过完成的”这部分描述可能意味着项目的本地化工作已经完成,包括界面文本的翻译,这使得非英文用户也能顺畅地使用和享受游戏。同时,这也表明项目团队对用户体验的重视,确保了软件的国际...
3. **Android Studio支持**:如何在Android Studio中设置JNI工程,使用CMake或ndk-build进行编译。 4. **性能优化**:在Android上使用JNI进行性能优化的策略,比如处理大量计算任务或图形渲染。 5. **调试技巧**:...
11. **Android NDK** Native Development Kit (NDK) 允许开发者使用C/C++编写部分应用代码,提高性能或利用现有库。NDK还支持JNI (Java Native Interface),使Java代码能够调用本地代码。 12. **Gradle构建系统** ...
这篇博客文章《(转帖)(关于Android ROM)翻译一个源代码编译G1ROM的教程,很好很入门 - 综合讨论区 - 魅族社区》似乎提供了一个适合初学者的指南,帮助他们逐步了解和掌握Android ROM的编译过程。 Android源码编译...
5. 使用提供的Java接口或C++接口(如果熟悉NDK)编写计算机视觉代码。 **应用场景** OpenCV在Android上的应用广泛,例如: - 实时图像处理,如滤镜效果、图像增强。 - 物体识别和追踪,用于增强现实应用。 - 人脸...
【描述】"my_androidproject Cac du an android" 这句话在越南语中翻译过来是 "my_androidproject 包含多个Android项目"。这表明这是一个包含多个Android应用或组件的项目集合,开发者可能在这个项目中尝试了不同的...