看了看NDK的文档....里面总是莫名的会提下windows需要cygwin环境...

但是cocos2d-x3.0alpha1 中,

  编译samples的python脚本 cocos2d-x3/build/android-build.py

  或者新建工程的python脚本 cocos2d-x3/projects/<proj-name>/proj.android/build_native.py

  里面明显没有用到啥cygwin环境.

  

  python 里 设置了环境变量,然后执行了一条ndk-build命令,ndk编译就完成了.

  最后得出在CMD环境里执行NDK编译的命令:

  

E:\py\ccs\projects\jjj\proj.android>E:\T_GIT\android_dep\android-ndk-r8e\ndk-build -C E:\py\ccs\projects\jjj\proj.android NDK_MODULE_PATH=E:\py\ccs;E:\py\ccs\external;E:\py\ccs\cocos ANDROID_SDK_ROOT=E:\T_GIT\android_dep\adt_bundle-windows-x86-20130717\sdk NDK_ROOT=E:\T_GIT\android_dep\android-ndk-r8e NDK_TOOLCHAIN_VERSION=4.7

  ccs 是cocos2d-x根目录

  jjj 是新建工程名字

  NDK_ROOT 是NDK根目录

  NDK_MODULE_PATH 是 工程jjj/proj.android/jin/Android.mk里依赖的cocos库的 Android.mk 查找路径

    $(call import-module,SDL2-2.0.1) 这样的外部依赖,后面的SDL2-2.0.1只能填相对于NDK_MODULE_PATH的绝对路径

    不能填写依据LOCAL_PATH等推理出来的相对路径.

  ANDROID_SDK_ROOT 是android SDK根目录.

  在jjj/proj.android目录执行命令可以不用 -C 指定jni目录.

  NDK跟目录设置到windows PATH的话,可以直接用ndk-build,不用全路径

--------------------------------------

python脚本中 ,NDK_MODULE_PATH 、NDK_ROOT 、ANDROID_SDK_ROOT 都设置到了python的环境变量里

    这点比较特殊,在windows 环境变量中增加这些名字的环境变量,没有作用,或者引用环境变量方法不对...

    如果没在CMD命令中指定这些值,编译会报各种找不到的错误.

    但这些设置的变量在python的环境变量os.environ中可以找到.

    (2013-12-22 11:43:07 windows 环境变量使用方法: %NDK_ROOT%  ,也使用echo输出)

------------

最后,

  理解了下NDK在windows平台下的编译,

  用python脚本真的很方便.

Android-NDK编译:cocos2d-x(二)的更多相关文章

  1. android NDK编译(导入).a文件和编译多个so文件(转)

    源:android NDK编译(导入).a文件和编译多个so文件 一.编译一个静态库 libstatic_android.a LOCAL_PATH := $(call my-dir) include ...

  2. Android NDK编译之undefined reference to 'JNI_CreateJavaVM'

    利用Android NDK编译动态库,在C文件中调用了两个JNI函数:JNI_GetDefaultJavaVMInitArgs和JNI_CreateJavaVM.编译的时候始终报以下错误: XXX: ...

  3. 使用android ndk编译x86 so在linux下使用的问题

    一直以为android ndk编译x86 so库可以在linxu下运行,结果我试了几次都行不通.后来想了一下,android ndk编译的库应该只能在android设备或模拟器上运行才有效,后来改用 ...

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

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

  5. Android NDK 编译FFmpeg(不需要复杂的环境变量设置)

    环境: CentOS6.2——64位 借鉴:https://vec.io/posts/how-to-build-ffmpeg-with-android-ndk 在根目录下创建work文件夹:cd  / ...

  6. android ndk编译项目(android-ndk-16r1)

    由于采用android-ndk-16r1版本的ndk来编译 编译的环境之类在这里省略,注意是最后编译的命令如下 Administrator@WIN-AF6P80LVIJ0 ~ $ cd $ANDROI ...

  7. Linux环境下使用Android NDK编译c/c++生成可执行文件

    1.安装Android NDK至Linux(Lubuntu 16) 从网上下载 android-ndk-r13b-linux-x86_64.zip,本人将其解压至/home/guanglun/work ...

  8. android ndk 编译的时候指令集的选取

    android ndk在编译的时候默认生成的是thumb指令(拇指)不是arm(手臂)指令,但是有时候在看反汇编的时候,不太熟悉thumb指令或者说thumb指令看起来更费劲,需要生成arm指令,这个 ...

  9. 用Android NDK编译FFmpeg

    附(2018-01-06):     有一个将x264及lame等库集成进去了且基于android的ffmpeg的编译方法,地址参见:       https://github.com/writing ...

  10. android ndk 编译 libevent

    1. 下载 libevent 2.1.8 版本 https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/ ...

随机推荐

  1. C#下搭建文件格式转换服务器

    文件格式转换,相信很多涉及到office文档在线观看的都会需要,因为浏览器还不能完全支持直接打开office文档,所以很多情况下我们都需要将这些文档转换成flash能够播放的格式,但是另一个问题又来了 ...

  2. C# 截取字符串方法(包含中英混合)

    private string GetByteString(string center, int maxlen, string endStr) { , (center.Length < maxle ...

  3. solr与.net系列课程(九)solr5.1的配置

    solr与.net系列课程(九)solr5.1的配置 最近一些园友来咨询solr5.1的配置方式,然后我就去官网下载了个最新版本的solr,发现solr5.0以后solr的下载包里的内容发生的变化,移 ...

  4. .NET跨平台:在mac命令行下用vim手写ASP.NET 5 MVC程序

    昨天在 Mac 上手写了一个最简单的 ASP.NET 5 程序,直接在 Startup.cs 中通过 Response.WriteAsync() 输出响应内容,详见 .NET跨平台:在Mac上跟着错误 ...

  5. [.NET 即时通信SignalR] 认识SignalR (一)

    ASP .NET SignalR[1] 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信.什么是实时通信的Web呢?就是让客户端(Web页面)和服务器端可以互相通知 ...

  6. [C++] socket - 1 [简单TCP通信C\S代码]

    服务端: #include<iostream> #include<winsock2.h> #include<stdio.h> #pragma comment(lib ...

  7. 到底是 const 还是 static readonly

    真的一样? const 和 static readonly 常在程序中用来声明常量,调用方法也没有什么不同,他们真的一样吗?我们可以做个试验. 程序集内的常量 现在我们建立一个程序,里面有一个MyCl ...

  8. Spring - 基于注解的组件扫描

    关于Spring的书籍都会花很大篇幅来讲解Spring如何注入各种bean的问题,非常令人头疼,自己在工作中还从来没有用到过. 所以就要跳过那些篇章,直接学习基于注解的组件扫描. 发现spring2是 ...

  9. paip.检测信用卡账单数据的正确性算法

    paip.检测信用卡账单数据的正确性算法 主要3点: //1.重点检测.大钱记录 //2.检测遗漏记录 //3.排除双唇记录. //4.试着cls share,改变错误的cls. 作者Attilax ...

  10. C#:通过Visual Studio项目预生成命令获取SVN版本号

    之前有一个winfrom项目,想要通过获取SVN版本号作为程序的内部编译版本号.网上也有各种方法,但没有一篇行得通的方法.于是我经过一系列研究,得出了一些经验,特总结成一篇博客. 方法一:通过SVN命 ...