作为学习 LibGDX 的一部分,我一直在尝试运行 Hello-World 项目。使用每晚构建 (libgdx-nightly-20140322)。但是,我变得非常沮丧,因为 hello-world-desktop 项目在作为 Java 应用程序运行时可以正常工作,而 hello-world-html 项目将作为 Web 应用程序运行。但是 hello-world-android simple 会产生一个描述性不强的错误:
我在这里查看是否存在类似问题并找到了 Android Emulator does not launch LibGDX project? ,但给出的解决方案不适用于我所拥有的。还有libgdx my first triangle tutorial not working? ,这让我找到了可以尝试的新教程,但无济于事。
我第一次尝试按照 GITHUB 上的教程进行操作,以及第二次 Games from Scratch 的 LibGDX Tutorial 1: Creating an initial project . 我尝试了不同的 API 级别 8、13、16 和 19。
这是日志文件的转储:
03-28 03:41:33.344: E/Trace(622): error opening trace file: No such file or directory (2)
03-28 03:41:33.435: D/dalvikvm(622): Trying to load lib /data/data/com.me.mygdxgame/lib/libgdx.so 0x411e9590
03-28 03:41:33.445: D/dalvikvm(622): Added shared lib /data/data/com.me.mygdxgame/lib/libgdx.so 0x411e9590
03-28 03:41:33.445: D/dalvikvm(622): No JNI_OnLoad found in /data/data/com.me.mygdxgame/lib/libgdx.so 0x411e9590, skipping init
03-28 03:41:33.465: D/libEGL(622): Emulator without GPU support detected. Fallback to software renderer.
03-28 03:41:33.496: D/libEGL(622): loaded /system/lib/egl/libGLES_android.so
03-28 03:41:33.535: D/AndroidRuntime(622): Shutting down VM
03-28 03:41:33.535: W/dalvikvm(622): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
03-28 03:41:33.555: E/AndroidRuntime(622): FATAL EXCEPTION: main
03-28 03:41:33.555: E/AndroidRuntime(622): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.me.mygdxgame/com.me.mygdxgame.MainActivity}: java.lang.RuntimeException: Libgdx requires OpenGL ES 2.0
03-28 03:41:33.555: E/AndroidRuntime(622): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
03-28 03:41:33.555: E/AndroidRuntime(622): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
03-28 03:41:33.555: E/AndroidRuntime(622): at android.app.ActivityThread.access$600(ActivityThread.java:130)
03-28 03:41:33.555: E/AndroidRuntime(622): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
03-28 03:41:33.555: E/AndroidRuntime(622): at android.os.Handler.dispatchMessage(Handler.java:99)
03-28 03:41:33.555: E/AndroidRuntime(622): at android.os.Looper.loop(Looper.java:137)
03-28 03:41:33.555: E/AndroidRuntime(622): at android.app.ActivityThread.main(ActivityThread.java:4745)
03-28 03:41:33.555: E/AndroidRuntime(622): at java.lang.reflect.Method.invokeNative(Native Method)
03-28 03:41:33.555: E/AndroidRuntime(622): at java.lang.reflect.Method.invoke(Method.java:511)
03-28 03:41:33.555: E/AndroidRuntime(622): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
03-28 03:41:33.555: E/AndroidRuntime(622): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
03-28 03:41:33.555: E/AndroidRuntime(622): at dalvik.system.NativeStart.main(Native Method)
03-28 03:41:33.555: E/AndroidRuntime(622): Caused by: java.lang.RuntimeException: Libgdx requires OpenGL ES 2.0
03-28 03:41:33.555: E/AndroidRuntime(622): at com.badlogic.gdx.backends.android.AndroidGraphics.createGLSurfaceView(AndroidGraphics.java:118)
03-28 03:41:33.555: E/AndroidRuntime(622): at com.badlogic.gdx.backends.android.AndroidGraphics.<init>(AndroidGraphics.java:90)
03-28 03:41:33.555: E/AndroidRuntime(622): at com.badlogic.gdx.backends.android.AndroidApplication.initialize(AndroidApplication.java:97)
03-28 03:41:33.555: E/AndroidRuntime(622): at com.me.mygdxgame.MainActivity.onCreate(MainActivity.java:15)
03-28 03:41:33.555: E/AndroidRuntime(622): at android.app.Activity.performCreate(Activity.java:5008)
03-28 03:41:33.555: E/AndroidRuntime(622): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
03-28 03:41:33.555: E/AndroidRuntime(622): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
03-28 03:41:33.555: E/AndroidRuntime(622): ... 11 more
最佳答案
正如@Sid 在评论中指出的那样,该错误表明 LibGDX 需要 OpenGL ES 2.0 支持。模拟器的软件渲染器不支持 OpenGL ES 2.0。
您可以通过在模拟器中启用图形加速来让您的模拟器支持。参见 http://developer.android.com/tools/devices/emulator.html#accel-graphics和 Android OpenGL ES 2.0 emulator
这是突出显示设置的 Android 虚拟设备管理器对话框。启用此功能肯定可以解决 Macbook Air 以及许多其他计算机上的问题。
关于java - LibGDX HelloWorld 项目在 Android 模拟器上运行时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22703940/
如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby
为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar
是的,我知道最好使用webmock,但我想知道如何在RSpec中模拟此方法:defmethod_to_testurl=URI.parseurireq=Net::HTTP::Post.newurl.pathres=Net::HTTP.start(url.host,url.port)do|http|http.requestreq,foo:1endresend这是RSpec:let(:uri){'http://example.com'}specify'HTTPcall'dohttp=mock:httpNet::HTTP.stub!(:start).and_yieldhttphttp.shou
当我在Rails控制台中按向上或向左箭头时,出现此错误:irb(main):001:0>/Users/me/.rvm/gems/ruby-2.0.0-p247/gems/rb-readline-0.4.2/lib/rbreadline.rb:4269:in`blockin_rl_dispatch_subseq':invalidbytesequenceinUTF-8(ArgumentError)我使用rvm来管理我的ruby安装。我正在使用=>ruby-2.0.0-p247[x86_64]我使用bundle来管理我的gem,并且我有rb-readline(0.4.2)(人们推荐的最少
我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘
我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="
我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/
假设我有这个范围:("aaaaa".."zzzzz")如何在不事先/每次生成整个项目的情况下从范围中获取第N个项目? 最佳答案 一种快速简便的方法:("aaaaa".."zzzzz").first(42).last#==>"aaabp"如果出于某种原因你不得不一遍又一遍地这样做,或者如果你需要避免为前N个元素构建中间数组,你可以这样写:moduleEnumerabledefskip(n)returnto_enum:skip,nunlessblock_given?each_with_indexdo|item,index|yieldit
我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www
我只想对我一直在思考的这个问题有其他意见,例如我有classuser_controller和classuserclassUserattr_accessor:name,:usernameendclassUserController//dosomethingaboutanythingaboutusersend问题是我的User类中是否应该有逻辑user=User.newuser.do_something(user1)oritshouldbeuser_controller=UserController.newuser_controller.do_something(user1,user2)我