測试环境:

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

Windows SublimeText内使用NDK编译Android so(不用cygwin)的更多相关文章

  1. protobuf使用NDK编译Android的静态库(工作记录)

    1.protobuf 编译过程 前提: 确保自己电脑上已经安装了cygwin + ndk, 并且NDK能够编译hello-jni成功 1.1 把protobuf 压缩包解压到protobuf文件夹下 ...

  2. macos下命令行通过ndk编译android下可以执行的ELF程序(并验证opencl的调用)

    源码如下,实现把一个JPG保存成灰度图格式的BMP 1 //jpg2bmp.cpp 2 #include <stdio.h> 3 #include <inttypes.h> 4 ...

  3. ndk编译android的lame库

    1.lame c库: https://github.com/intervigilium/liblame 下载后解压,进入目录,terminal里运行ndk-build即可 2.lame android ...

  4. 浅谈独立使用NDK编译库文件(Android)

    阅读前准备 这是一篇相对入门的文章.文中会涉及到少许NDK的知识,但个人认为对初学者来说都相对比较实用,因为都是在平时项目中遇到的(目前自己也是初学者).一些其他高深的技术不再本文探讨范围之内(因为我 ...

  5. ndk 编译 c++ 兼容性问题汇总整理

    转自:http://blog.csdn.net/wenrenwang/article/details/12003671 1.__int64找不到符号 采用int64_t来代替: #if defined ...

  6. 在Windows下使用nmake+Makefile+编译ZThread库(附例子)

    ----------2015/01/09/23:21更新----------------------------------- 关于保留DEBUG信息的一个简单例子,见这篇随笔 ----------2 ...

  7. ffmpeg2.2在ubuntu下使用NDK编译——并在android工程下测试使用

    作者:wainiwann 出处:http://www.cnblogs.com/wainiwann/ 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则 ...

  8. windows系统上安装与使用Android NDK r5 (转)

    windows系统上安装与使用Android NDK r5  很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...

  9. [原]如何用Android NDK编译FFmpeg

    我们知道在Ubuntu下直接编译FFmpeg是很简单的,主要是先执行./configure,接着执行make命令来编译,完了紧接着执行make install执行安装.那么如何使用Android的ND ...

随机推荐

  1. POJ 3169 Layout (HDU 3592) 差分约束

    http://poj.org/problem?id=3169 http://acm.hdu.edu.cn/showproblem.php?pid=3592 题目大意: 一些母牛按序号排成一条直线.有两 ...

  2. java回调函数这样说,应该明确了吧!

    有哥们问我回调怎么用,回调怎么理解? 怎么说好呢,仅仅可意会不可言传呐,非也,回调在实际开发中使用频率事实上是非常高的,恰好我小时候也被回调函数欺负过,居然问了,那么肯定要好好分享一下我的一些经验. ...

  3. complex query几个原则

    1.一般来说in比exists更有利(更容易变成join). 2.尽量避免union,使用union all代替,避免sort. 3,绝对不能在没有on条件下使用join(除非有特殊目的). 4.ou ...

  4. [Node.js] Provide req.locals data though middleware

    We can create Template Helpers, which can contains some common reuseable data and libs. /* This is a ...

  5. VS2008的C++TR1库已经支持正则表达式

    作者:朱金灿 来源:http://blog.csdn.net/clever101 发现VS2008的C++ TR1库已经支持正则表达式了(注意装了VS 2008sp1采用TR1库的).下面简单做个测试 ...

  6. xp2p系统的10点技术创新和经验总结

    最近在开发完善九天鸟的xp2p系统,解决了很多技术问题,特此总结下. 第一个项目开发,非常重要,它对建立开发规范.团队协作.开发效率,有很重大的意义. 1.分页前台AJAX异步分页,用咱们自己的fup ...

  7. CF 559B(Equivalent Strings-构造法)

    B. Equivalent Strings time limit per test 2 seconds memory limit per test 256 megabytes input standa ...

  8. 【u225】最优分解方案

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 经过第一轮的游戏,不少同学将会获得圣诞特别礼物,但这时细心的数学课代表发现了一个问题: 留下来的人太多 ...

  9. Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip

    Various embodiments of methods and systems for thermally aware scheduling of workloads in a portable ...

  10. callback回调函数理解 相当于this指针

    1.callback函数在微软的官方手册中是这样定义callback函数的:“callback函数是由应用程序定义而由操作系统调用的函数”.   凡是由用户设计而却由windows系统调用的函数,统称 ...