最近因工作需要,要在XP下在配置android以及cocos2dx。虽说也曾在大学的时候搞过java用过Eclipse,但属android小白的那种,上网找了不少安装教程来看,并严格按照教程步骤一步一步弄,但是人算不如天算,不管怎么弄各种error还是如期而至,最后费了九牛二虎之力一一给解决了,今特记载如下,以便不时之需或他人参考。
一、首先要安装android,这个按步骤来就行了,具体步骤网上都有
http://w1334986743.blog.163.com/blog/static/198265015201111410211410/
http://www.raywenderlich.com/5527/getting-started-with-android-development
二、然后是安装cocos2dx,可参考下列网站
http://www.cnblogs.com/zilongshanren/archive/2012/04/28/2473282.html
本来以为这样就OK了,没想到这个时候就报错了:
1、Caused by: java.lang.UnsatisfiedLinkError: Couldn't load game: findLibrary returned null
一开始不明白是怎么回事,后来仔细看了步骤才发现少了一步,那就是编译工程项目,即运行proj.android文件夹下的build_native.sh,这一步会生成libgame.o,原来报的错就是因为缺少这个文件。
2、那个错误好了以后又开始报了个错:
java.lang.IllegalArgumentException: No configs match configSpec
网上给的解决方案是:到android-ndk安装目录下的samples\hello-gl2\src\com\android\gl2jni目录下找到GL2JNIView.java,将其中的
setEGLConfigChooser( translucent ?
new ConfigChooser(8, 8, 8, 8, depth, stencil) :
new ConfigChooser(5, 6, 5, 0, depth, stencil) );
修改为:setEGLConfigChooser(5, 6, 5, 0, 0, 0);
本来以为这次一定没问题了,没想到最大的麻烦才刚刚开始。
3、接上面,问题还是没解决。于是继续在网上寻找解决方案,看到有个老外说2.0只支持真机而不支持模拟器运行,于是才导致的这问题,因为模拟器不支持OpenGL2.0。于是这个时候问题转移到了don't support gles2.0这个bug上面来了。
最后终于在cocos2dx官方论坛上找到了解决方案。经测试终于看到cocos2dx那界面了。
方法如下:
<1>、在mainfest文件下添加这一行
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
<2>、在android-sdk安装目录下的
\samples\android-16\ApiDemos\src\com\example\android\apis\graphics里的GLES20Activity.java里面有个方法detectOpenGLES20,修改成如下
//记得添加import
import android.os.Build;
private boolean detectOpenGLES20() {
ActivityManager am =
(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
ConfigurationInfo info = am.getDeviceConfigurationInfo();
return (info.reqGlEsVersion >= 0x20000 || Build.FINGERPRINT.startsWith('generic'));
}
<3>、在Eclipse下打开AVD manager,修改AVD设置
在Hardware选项里面添加一项:GPU emulation。并将value值设置问yes。
终于搞定!声明一下:以上的种种解决方案都是在网上收集而来,非我原创。另外对于android小白的我来说,前辈们在给出解决方案的时候没有具体指明是要修改哪些文件导致我纠结了好一阵,因为对于没用过android的我们来说,这些文件我们都不熟悉,所以我在每一部尽量给出需要修改的文件来,方便那些遇到类似我这样的问题而又无从下手的新手们...
具体参考链接如下:
关于安装步骤:(前文已列出一部分)
http://www.cnblogs.com/zilongshanren/archive/2012/04/28/2473282.html
http://www.raywenderlich.com/5527/getting-started-with-android-development
http://www.raywenderlich.com/11283/cocos2d-x-for-ios-and-android-getting-started
关于No configs match configSpec:
http://blog.zhukunqian.com/?p=357
关于Don't support gles2.0:
http://stackoverflow.com/questions/12203918/failure-in-running-helloworld-cocos2dx
http://www.cocos2d-x.org/boards/6/topics/12563
https://github.com/cocos2d/cocos2d-x/issues/1080
http://developer.android.com/tools/devices/emulator.html#accel-graphics
分享到:
相关推荐
简易版cocos2dx 2.0版本 ShatterSprite,可以实现sprite的炸成碎片的效果(以及恢复到原体的效果) 自带一个简单的DEMO(当然你要先配环境才能运行),按下屏幕开始爆炸,手指离开屏幕开始恢复
cocos2d-2.0-x-2.0.2.zip.003第三部分,总共三部分
Cocos2dx 2.x版本播放mp4格式的文件 这里只是代码部分,还有.a文件,由于太大无法下载,有需要找本人私传给你
cocos2d-x2.0
网上找到的一个游戏实例 不过版本是cocos2dx 1.0.x的 我做了些修改 能在2.0.3上正常运行
cocos2dx 水果忍者 2.0 简单版本 1.0版本在升级到2.0的版本以上时,出现了很多的问题。现在我把它都解决了,欢迎大家下载。
cocos2dx 2.0.3
GB2ShapeCache-x PhysicsEditor 加快 cocos2dx-Box2D 开发 cocos2d-x 2.0.4
使用cocos2dx新建的helloword工程,嵌入到android原生项目中的demo
cocos2d-x 2.0版本 自适应屏幕分辨率,
sneakyInput的C++版代码,用在COCOS2D-X 2.0以上的版本,SneakyInput是虚拟手柄的实现
该配置文件适用于LuaStudio中编写cocos2dx的...拷贝cocos2dx.luac到LuaStudio的安装目录下(该目录下可以看到LuaStudio.exe) 3.重启LuaStudio,然后就能看到在输入cocos2dx相关函数时候的强大提示了(截图中有效果展示)
将Cocos2dx从win32移植到android平台 不用cygwin 只要简单的几步就可轻松搞定
cocos2d-2.0-x-2.0.2.zip.001 第一部分总共三部分
cocos2dx 编译到 android
该问题的解决方案有两种:1)升级Cocos2dx的版本,在查看Cocoas官网及Cocoas论坛,cocoas在4.0修复了这个问题,如果可以更新到4.0以上,建议更新;不想更新的话,可以修改UIWebView为WKWebView。具体的修改方式使用...
开发cocos2d-20.0-x-2.0.4用的jar包,这个是最新的。懒人必备!!
现在老版本都很难找到,赶紧收藏吧
基于cocos2dx3.2的ScrollView改良版,...由于cocos库太大,压缩包里已经移除cocos核心库,需要自行下载安装cocos2dx 3.2版本,并任意生成一个cocos2dx项目,把里面的cocos文件夹复制到ScrollViewDemo文件夹下即可。
cocos2d-2.0-x-2.0.2.zip.002第二部分,总共三部分,都是免费的