Android-NDK编译:cocos2d-x(二)
看了看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(二)的更多相关文章
- android NDK编译(导入).a文件和编译多个so文件(转)
源:android NDK编译(导入).a文件和编译多个so文件 一.编译一个静态库 libstatic_android.a LOCAL_PATH := $(call my-dir) include ...
- Android NDK编译之undefined reference to 'JNI_CreateJavaVM'
利用Android NDK编译动态库,在C文件中调用了两个JNI函数:JNI_GetDefaultJavaVMInitArgs和JNI_CreateJavaVM.编译的时候始终报以下错误: XXX: ...
- 使用android ndk编译x86 so在linux下使用的问题
一直以为android ndk编译x86 so库可以在linxu下运行,结果我试了几次都行不通.后来想了一下,android ndk编译的库应该只能在android设备或模拟器上运行才有效,后来改用 ...
- [原]如何用Android NDK编译FFmpeg
我们知道在Ubuntu下直接编译FFmpeg是很简单的,主要是先执行./configure,接着执行make命令来编译,完了紧接着执行make install执行安装.那么如何使用Android的ND ...
- Android NDK 编译FFmpeg(不需要复杂的环境变量设置)
环境: CentOS6.2——64位 借鉴:https://vec.io/posts/how-to-build-ffmpeg-with-android-ndk 在根目录下创建work文件夹:cd / ...
- android ndk编译项目(android-ndk-16r1)
由于采用android-ndk-16r1版本的ndk来编译 编译的环境之类在这里省略,注意是最后编译的命令如下 Administrator@WIN-AF6P80LVIJ0 ~ $ cd $ANDROI ...
- Linux环境下使用Android NDK编译c/c++生成可执行文件
1.安装Android NDK至Linux(Lubuntu 16) 从网上下载 android-ndk-r13b-linux-x86_64.zip,本人将其解压至/home/guanglun/work ...
- android ndk 编译的时候指令集的选取
android ndk在编译的时候默认生成的是thumb指令(拇指)不是arm(手臂)指令,但是有时候在看反汇编的时候,不太熟悉thumb指令或者说thumb指令看起来更费劲,需要生成arm指令,这个 ...
- 用Android NDK编译FFmpeg
附(2018-01-06): 有一个将x264及lame等库集成进去了且基于android的ffmpeg的编译方法,地址参见: https://github.com/writing ...
- android ndk 编译 libevent
1. 下载 libevent 2.1.8 版本 https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/ ...
随机推荐
- [stm32][ucos][ucgui] 2、LED闪烁、串口、滑块、文本编辑框简单例程
上一篇:[stm32][ucos] 1.基于ucos操作系统的LED闪烁.串口通信简单例程 * 内容简述: 本例程操作系统采用ucos2.86a版本, 建立了7个任务 任务名 ...
- Linux:软件安装
Linux 上的软件安装 四种安装方式 在线安装 从磁盘安装盘deb软件包 从二进制软件包安装 从源代码编译安装 在线安装 在不同的linux发行版上面在线安装方式会有一些差异包括使用的命令及它们的包 ...
- 无线客户端框架设计(5):调用MobileAPI的设计(iOS篇)
这一节讲如何发起网络请求. iOS用于调用MobileAPI的第三方组件很多,我们这里采用的是以下组件: 1)ASIHTTPRequest,用于请求MobileAPI:http://allseeing ...
- js图片时间翻转
带素材 代码一: <!-- Author: XiaoWen Create a file: 2016-12-12 10:08:02 Last modified: 2016-12-12 11:30: ...
- Cocoa编程开发者手册
Cocoa编程开发者手册(Objective-C权威著作超一流翻译阵容) [美] 奇斯纳尔(Chisnall,D.) 著 霍炬等 译 ISBN 978-7-121-12239-2 2013年7月出版 ...
- iOS-APP发布应注意要点
Android和IOS的app发布的流程有一个相同之处,就是都需要先将编译好的app签名,然后上传到market里,但两者的复杂度是冰火两重天.Android可以手动通过集成在eclipse里的工具进 ...
- mysql优化之表建设
就拿常见的用户表.文章类的表.日志表来分析如下 CREATE TABLE `user` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMEN ...
- hdu1875 畅通工程再续 最小生成树并查集解决---kruskal
http://acm.hdu.edu.cn/showproblem.php?pid=1875 New~ 欢迎“热爱编程”的高考少年——报考杭州电子科技大学计算机学院关于2015年杭电ACM暑期集训队的 ...
- 通过ReadWriteReentrantLock源代码分析AbstractQueuedSynchronizer共享模式
1.特点 ReentrantLock能够实现共享资源的互斥访问,但是它在某些条件下效率比较低下.比如,多个线程要查询(或者说读取)某列车的余票数,如果使用ReentrantLock,那么多个线程的查询 ...
- 在Eclipse中使用MAT分析Android程序内存使用状况(转)
对于Android这种手持设备来说,通常不会带有太大的内存,而且一般用户都是长时间不重启手机,所以编写程序的时候必须要非常小心的使用内存,尽量避免有内存泄露的问题出现.通常分析程序中潜在内存泄露的问题 ...