【问题标题】:Tux Rider compiles but crashes on startupTux Rider 编译但在启动时崩溃
【发布时间】:2013-07-18 01:31:38
【问题描述】:

我想尝试 Android 开发,所以我决定尝试使用 drodin 的 Tux Rider 应用。我不得不在 Eclipse 中创建一个新项目,因为 drodin 的现有项目无法识别。从那里,我复制并粘贴了原始项目。该应用程序在 Eclipse 中编译得很好(一旦我下载了最新的 Google Ads SDK 并替换了构建路径中缺少的旧版本)。问题是,每当我尝试在虚拟 Android 1.6 手机以及带有 Android 4.2.2 的 Nexus 7 上运行它时,它都会崩溃。当我尝试在虚拟手机上使用调试模式时,应用程序在加载屏幕上挂起,然后在我关闭 Eclipse 时继续崩溃。

我做错了什么?

编辑 这是 LogCat 日志: http://pastebin.com/3jdHEbw2 这是来自 data/anr 的 traces.txt: http://pastebin.com/x9vijEjm

【问题讨论】:

  • 从 LogCat 发布您的堆栈跟踪。

标签: android eclipse crash startup


【解决方案1】:

这个:

07-18 04:26:30.696: W/dalvikvm(379): threadid=17: thread exiting with uncaught exception (group=0x4001aa28)
07-18 04:26:30.705: E/AndroidRuntime(379): Uncaught handler: thread Thread-9 exiting due to uncaught exception
07-18 04:26:30.776: E/AndroidRuntime(379): java.lang.ExceptionInInitializerError
07-18 04:26:30.776: E/AndroidRuntime(379):      at com.drodin.tuxrider.Installer.InstallFiles(Installer.java:54)
07-18 04:26:30.776: E/AndroidRuntime(379):      at com.drodin.tuxrider.Installer$1.run(Installer.java:41)
07-18 04:26:30.776: E/AndroidRuntime(379):      at java.lang.Thread.run(Thread.java:1060)
07-18 04:26:30.776: E/AndroidRuntime(379): Caused by: java.lang.UnsatisfiedLinkError: Library tuxrider not found
07-18 04:26:30.776: E/AndroidRuntime(379):      at java.lang.Runtime.loadLibrary(Runtime.java:489)
07-18 04:26:30.776: E/AndroidRuntime(379):      at java.lang.System.loadLibrary(System.java:557)
07-18 04:26:30.776: E/AndroidRuntime(379):      at com.drodin.tuxrider.NativeLib.<clinit>(NativeLib.java:33)
07-18 04:26:30.776: E/AndroidRuntime(379):      ... 3 more

具体来说:

 at com.drodin.tuxrider.Installer.InstallFiles(Installer.java:54)

因为这个:

07-18 04:26:30.776: E/AndroidRuntime(379): Caused by: java.lang.UnsatisfiedLinkError: Library tuxrider not found)

它似乎正在寻找一个您的项目中没有的库,或者您的项目中可能有它,但您没有链接它;缺少一些东西。

在属性下检查 Java 构建路径选项卡,确保在“订购和导出”下检查私有库,同时确保你的 libs 文件夹中有任何必要的东西...

编辑:根据这个问题Building a JNI Lib for Tux Rider Android,GoogleAds API 似乎存在问题

注释掉 MainActivity 中的所有 GoogleAds 代码。

【讨论】:

  • Private Libraries 已选中,Google Ads SDK 和 Android 1.6 未选中。我的 libs 文件夹中唯一的东西是 android-support-v4.jar。我不知道我还会在 libs 文件夹中放什么。先运行 NDK 有帮助吗?
  • @user2593596 找到了针对似乎相同问题的特定解决方案。编辑答案。
  • 我以前看过那个帖子。在注释掉与广告相关的代码和请求“tuxrider”库的行后,应用程序仍然崩溃,但这一次是因为缺少 libhgl.so。我想这意味着我必须运行 NDK。
  • 我可以确认使用 NDK 解决了 'tuxrider' 库的问题,但问题仍然存在。这是新的 logcat 日志:pastebin.com/5qJHD84T。看起来与 resize 命令有关,我不知道如何修复它。这是有问题的命令所在的 NativeLib.java:pastebin.com/bVTY0Xb2
  • 事实证明硬件加速对于 Tux Rider 来说是必不可少的,所以我的模拟器无法解决它(我的上网本无法模拟硬件加速,想象一下)。在真实硬件上运行完美。谢谢你的帮助,托尼​​西!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-10
  • 1970-01-01
  • 2017-12-02
  • 1970-01-01
  • 2016-08-18
相关资源
最近更新 更多