cocos2dx在android的问题
来源:互联网 发布:星河战队 知乎 编辑:程序博客网 时间:2024/04/28 02:11
最近因工作需要,要在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,修改成如下
<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
一、首先要安装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'));
- }
//记得添加importimport 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在android的问题
- cocos2dx 在ANDROID下的NDK问题
- cocos2dx使用Jsoncpp在android运行的问题
- cocos2dx 在android下的帧频设置问题
- cocos2dx 2.0版本在android下的安装配置问题
- cocos2dx 2.0版本在android下的安装配置问题
- cocos2dx 在android平台打开文件问题
- Cocos2dx 3.0 PageView ListView 在Android设备下背景显示为绿色的问题的解决方案
- 在windwos7_x64下搭建cocos2dx 3.1.1的android开发环境出现的问题
- Cocos2dx 解决在Android平台运行游戏长时间不操作,导致的锁屏问题
- 解决了一个cocos2dx 在部分 android手机上模板测试错误的问题
- 小技巧-cocos2dx中在win32和android下解决中文乱码的问题。
- 对于cocos2dx,3.0的android编译问题
- cocos2dx移植到android碰到的问题
- cocos2dx移植android问题
- [重要] Cocos2dx 3.0 PageView ListView 在Android设备下背景显示为绿色的问题的解决方案
- cocos2dx在surface pro上启动崩溃的问题
- 在vc上创建cocos2dx项目遇到的问题
- 有关iOS App上线之后的用户跟踪以及Crash报告情况
- 使用shell提取xml文件并建立下载链接
- 一款学习java的好源码,推荐下
- 直方图规定化之SML和GML映射
- C++编写自己的头文件
- cocos2dx在android的问题
- ewf
- Android中xml设置Animation动画
- C++ String对象中字符的处理
- WinCE触摸屏驱动(开发详解)
- hdu2601 An easy problem
- 2012年北理工计算机学院保研C++上机复试题(一)
- http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=301 (矩阵的用法)
- Linux嵌入式 -- 内核 - 内存管理