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

;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的结果。
踩了几个坑才总结出来的,如果遇到问题欢迎留言交流。

转载请注明出处:http://blog.csdn.net/hursing

时间: 2024-10-05 06:44:15

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

Windows下,Ant自动化编译Android项目具体步骤和方法

 备注:若Android项目引用有第三方库,步骤和方法亦适用. 前提是已经安装好Ant. 1,首先需要创建一个批处理命令(*.bat)文件:Ant for Android.bat,文件内写入以下命令: set path=C:\Windows\System32;D:\Java\JDK\bin;D:\Ant\apache-ant-1.9.3\bin;D:\Android\adt-bundle-windows-x86_64-20130522\sdk\tools; start "Ant for An

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

源码如下,实现把一个JPG保存成灰度图格式的BMP 1 //jpg2bmp.cpp 2 #include <stdio.h> 3 #include <inttypes.h> 4 #include <opencv2/opencv.hpp> 5 #include <opencv2/core.hpp> 6 7 #ifndef P 8 #define P(format, ...) do 9 { 10 printf("%s %s %d " form

ndk编译android的lame库

1.lame c库: https://github.com/intervigilium/liblame 下载后解压,进入目录,terminal里运行ndk-build即可 2.lame android库 https://github.com/intervigilium/Lame4Android 需要引用上面编译好的.so文件 3.方法1里的lame的源码可能不是最新的,我们可以下载最新的lamehttp://lame.sourceforge.net/download.php a.解压,复制lam

【Cocos2d-x】编译Android工程时提示error: &#39;GL_LINE_SMOOTH&#39; was not declared in this scope

在Cocos2d-x项目中用到了OpenGL,使用GL_LINE_SMOOTH开启线条抗锯齿.代码如下: ccDrawColor4B(50, 26, 12, 255); // 设置线宽 glLineWidth(2.0f); // 启用线段反锯齿 glEnable(GL_LINE_SMOOTH); // 画第一条线 ccDrawLine(startPoint1,endPoint); // 画第二条线 ccDrawLine(startPoint2,endPoint); // 关闭线段反锯齿 glDi

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

转自:http://blog.csdn.net/wenrenwang/article/details/12003671 1.__int64找不到符号 采用int64_t来代替: 1 #if defined(__ANDROID__) 2 typedef int64_t __int64; 3 #endif 2.<sys/io.h>找不到 1 android下不需要直接引用该文件,用下面的宏去掉即可 2 #if !defined(__APPLE__) && !defined(__AN

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

作者:wainiwann 出处:http://www.cnblogs.com/wainiwann/ 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 摘要:本文主要介绍将FFmpeg音视频编解码库移植到Android平台上的编译和基本测试过程. 环境准备: Ubuntu12.04 TLS android-ndk-r9d-linux-x86_64.tar.bz2 ffmpeg2.2 --------------------

[原]如何用Android NDK编译FFmpeg

\我们知道在Ubuntu下直接编译FFmpeg是很简单的,主要是先执行./configure,接着执行make命令来编译,完了紧接着执行make install执行安装.那么如何使用Android的NDK编译出来可以在Android下面可以使用的FFmpeg动态链接库呢?写下这篇文章就是学习如何裁剪并且编译出来可以使用的动态库. 一.获取FFmpeg源码: 首先在编译之前,得获取一份FFmpeg的源码,如果你没有git并且也不打算使用,你可以去FFmpeg官网http://ffmpeg.org/

使用Android Studio自带的NDK编译JNI

/********************************************************************************** * 使用Android Studio自带的NDK编译JNI * 说明: * 省得自己另外去下载NDK,编译JNI,麻烦. * * 2017-4-30 深圳 龙华民治樟坑村 曾剑锋 ****************************************************************************

[Android]Cygwin使用及NDK编译方法

在Windows XP, Cygwin, NDK SDK r5b下成功编译了ffmpeg,下面是完整的编译过程: 一.准备工作 2.下载Cygwin, 请猛击这里 3.下载Android SDK,请猛击这里,Android SDK的网页 4.下载Android NDK SDK r5b, 请猛击这里,NDK SDK的网页 5.下载ffmpeg,可以下载压缩包,也可以git一个snapshot 好了,有必要说明一下Android SDK和Android NDK SDK的区别: Android SDK