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

測试环境:

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,点击 编辑 button -> 变量值末尾增加:

;D:\android-ndk-r10c

注意多个值之间有分号分隔。

一路按确定。


2.建好sublimeproject

最简单的方法是打开代码的根文件夹,然后点击菜单Project -> Save Project As... -> 起个名字保存在代码的根文件夹(保存位置是随意的,后面步骤中的路径对应改变即可)。


3.为project增加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是设置命令行的初始路径,可填入androidproject的路径,当中${project_path}是sublime text的保留变量,指代此sublime textproject文件的文件夹(注意,sublime textproject路径和androidproject路径是两个概念,别混淆了)。

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

你可能感兴趣的:(android)