`
浮生长恨
  • 浏览: 208024 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

cocos2dx 2.0版本在android下的安装配置问题

阅读更多
    最近因工作需要,要在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
分享到:
评论
1 楼 cuicici11 2013-07-30  
     

相关推荐

Global site tag (gtag.js) - Google Analytics