您的位置:首页 > 移动开发 > Android开发

Windows SublimeText内使用NDK编译Android so(不用cygwin)

2014-11-19 16:31 507 查看
测试环境:
sublime text version 2.0.2, build 2221 和 sublime text stable channel, build 3065 (version3)
Win7 64位
android-ndk-r10c windows x86_64

步骤:
1.设置好ndk环境变量
假如把ndk压缩包解压到D:\android-ndk-r10c,则
控制面板 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量 -> 选中 系统变量里的Path,点击 编辑 按钮 -> 变量值末尾加入:
;D:\android-ndk-r10c
注意多个值之间有分号分隔。
一路按确定。

2.建好sublime工程
最简单的方法是打开代码的根目录,然后点击菜单Project -> Save Project As... -> 起个名字保存在代码的根目录(保存位置是任意的,后面步骤中的路径相应改变就行)。

3.为工程加入build_systems
sublime菜单 Project -> Edit Project -> 编辑文件并保存。编辑成这样:

{
	"folders":
	[
		{
			"follow_symlinks": true,
			"path": "."
		}
	],
    "build_systems":
    [
        {
            "name": "ndk-build-subl2",
            "cmd": "build.bat"
        },
        {
            "name": "ndk-build",
            "shell_cmd": "ndk-build -j5",
            "working_dir": "${project_path}/android_project"
        }
    ]
}
sublime text 2和3的情况不同,build_systems里有两个设置,根据你使用的版本,保留其中一个即可
其中,name为ndk-build的是sublime text 3用的,可以看到shell_cmd就是调用ndk-build,working_dir是设置命令行的初始路径,可填入android工程的路径,其中${project_path}是sublime text的保留变量,指代此sublime text工程文件的目录(注意,sublime text工程路径和android工程路径是两个概念,别混淆了)。
name为ndk-build-subl2是sublime text 2用的,我试了很多遍都无法直接调用ndk-build,所以是先调用同目录下的build.bat脚本,此脚本的内容为:

cd android_project
ndk-build -j5

4.设置Build System
Sublime菜单 Tools -> Build System -> 选择 ndk-build 或 ndk-build-subl2。这里的新选项是读取了上一步所做的设置才会出现的。

到此就ok了,在菜单中选择Build或Ctrl + B就会编译了,sublime text自动会弹出窗口显示build的结果。
踩了几个坑才总结出来的,如果遇到问题欢迎留言交流。

PS:要在linux的sublimetext3编译so,修改"shell_cmd"为". ~/.bashrc;ndk-build -j5"就可以了,.bashrc要export ndk路径

转载请注明出处:http://blog.csdn.net/hursing
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: