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
Windows SublimeText内使用NDK编译Android so(不用cygwin)的更多相关文章
- protobuf使用NDK编译Android的静态库(工作记录)
1.protobuf 编译过程 前提: 确保自己电脑上已经安装了cygwin + ndk, 并且NDK能够编译hello-jni成功 1.1 把protobuf 压缩包解压到protobuf文件夹下 ...
- macos下命令行通过ndk编译android下可以执行的ELF程序(并验证opencl的调用)
源码如下,实现把一个JPG保存成灰度图格式的BMP 1 //jpg2bmp.cpp 2 #include <stdio.h> 3 #include <inttypes.h> 4 ...
- ndk编译android的lame库
1.lame c库: https://github.com/intervigilium/liblame 下载后解压,进入目录,terminal里运行ndk-build即可 2.lame android ...
- 浅谈独立使用NDK编译库文件(Android)
阅读前准备 这是一篇相对入门的文章.文中会涉及到少许NDK的知识,但个人认为对初学者来说都相对比较实用,因为都是在平时项目中遇到的(目前自己也是初学者).一些其他高深的技术不再本文探讨范围之内(因为我 ...
- ndk 编译 c++ 兼容性问题汇总整理
转自:http://blog.csdn.net/wenrenwang/article/details/12003671 1.__int64找不到符号 采用int64_t来代替: #if defined ...
- 在Windows下使用nmake+Makefile+编译ZThread库(附例子)
----------2015/01/09/23:21更新----------------------------------- 关于保留DEBUG信息的一个简单例子,见这篇随笔 ----------2 ...
- ffmpeg2.2在ubuntu下使用NDK编译——并在android工程下测试使用
作者:wainiwann 出处:http://www.cnblogs.com/wainiwann/ 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则 ...
- windows系统上安装与使用Android NDK r5 (转)
windows系统上安装与使用Android NDK r5 很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...
- [原]如何用Android NDK编译FFmpeg
我们知道在Ubuntu下直接编译FFmpeg是很简单的,主要是先执行./configure,接着执行make命令来编译,完了紧接着执行make install执行安装.那么如何使用Android的ND ...
随机推荐
- spark源码解析之scala基本语法
1. scala初识 spark由scala编写,要解析scala,首先要对scala有基本的了解. 1.1 class vs object A class is a blueprint for ob ...
- 关于Altium Designer中的搜索图纸上的元件
一开始以为Altium Designer搜索完成的pcb上的元件用ctrl+f 但是错了,应该是j,c
- HDU 1251统计难题 字典树
字典树的应用. 数据结构第一次课的作业竟然就需要用到树了!!!这不科学啊.赶紧来熟悉一下字典树. 空间开销太大T T #include<cstdio> #include<cstrin ...
- 工欲善其事必先利其器--------搭建Android平台
工欲善其事必先利其器--------搭建Android平台 1.1 安装JDK 在Eclipse的开发过程中需要JDK或JRE的支持,否则会报错. (1) 下载JDK(建 ...
- Java中关键字throw和throws的区别
==========================================题外话===================================================== 今 ...
- HDU 1013 Digital Roots 题解
Problem Description The digital root of a positive integer is found by summing the digits of the int ...
- iOS开发之Quartz2D 六 绘制UIImageView
#import <UIKit/UIKit.h> @interface XMGImageView : UIView /** <#注释#> */ @property (nonato ...
- js进阶正则表达式修饰符(i、g、m)(var reg2=/html/gi)
js进阶正则表达式修饰符(i.g.m)(var reg2=/html/gi) 一.总结 1.正则表达式使用:通过那些支持正则表达式的字符串函数来使用(search.match.replace.spli ...
- goodFeaturesToTrack——Shi-Tomasi角点检测
J.Shi和C.Tomasi在1994年在其论文"Good Features to Track"中,提出了一种对Harris角点检测算子的改进算法--Shi-Tomasi角点检测算 ...
- android,安卓get请求的提交以及我遇到的异常
首先说明 我是安卓4.0以上的版本,这个时候直接用网上的代码会报错的,先赋上网上的普遍代码 String uri = "http://url"; HttpGet httpGet = ...