前段时间换手机了,旧的安卓手机闲着没事,就想编几个简单的小游戏试试手。
于是使用了COCOS2DX 3.0的引擎来开发。
由于习惯C++的编程,跨平台的编译就存在问题,好在COCOS2DX提供的python的自动编译脚本,工程按照要求格式建立就好了。
但调试又成了一个大麻烦,本来下载了eclipse c++版本,发现用起来还是不习惯。于是下载了visualgdb的插件在vs2012上调试,helloworld是没问题,但Cocos2dx的项目就是编译不通过。
一怒之下下载了一个python的IDE PYCHARM调试COCOS2DX的自动编译功能脚本,调试过程中对使用NDK的交叉编译有了更深的理解。
经过百度(谷歌被墙了是个不用谷歌的好借口)之后,发现以下红色部分为转载:
AndroidManifest.xml中的minSdkVersion、targetSdkVersion、maxSdkVersion和project.properties中target API level 四个数值区别
新建工程的时候minSdk和target API level 是一致的
(1)minSdkVersion与maxSdkVersion :在安装程序的时候,如果目标设备的API版本小于minSdkVersion,
或者大于maxSdkVersion,程序将无法安装。一般来说没有必要设置maxSdkVersion。
(2) targetSdkVersion :如果设置了此属性,那么在程序执行时,如果目标设备的API版本正好等于此数值,他会告诉Android平台:此程序在此版本已经经过充分测试,没有问题。不必为此程序开启兼容性检查判断的工作了。也就是说,如果targetSdkVersion与目标设备的API版本相同时,运行效率可能会高一些。
(3)在project.properties中的target是指在编译的时候使用哪个版本的API进行编译。开发时工程SDK版本和target的值是保持一致的,无论修改哪一个另外一个值相应改变。
这四个数值在程序编译时也没有严格的检查,比如说,你可以将minSdkVersion设置的比maxSdkVersion还大,他会自动忽略掉错误的maxSdkVersion。
http://www.jb51.cc/article/p-tecgwwgz-kp.html