【问题标题】:Nested android application won't launch嵌套的 android 应用程序不会启动
【发布时间】:2011-07-08 18:41:13
【问题描述】:

我有一个 Android 应用程序,其主要活动名为 GameOfLifeGameActivity,位于名为 edu.brandeis.gameoflife 的包中。

它在名为 edu.brandeis.minigamee 的包中扩展了一个名为 GameActivity 的不同包(和不同的 Eclipse 项目)中的类。我无法启动它。

我认为这与跨包和跨项目引用有关。它永远不会到达 onCreate。相反,看起来在应用程序启动期间,我得到了这个致命的异常(见下文。)

有人知道这可能意味着什么以及如何解决它吗?谢谢 10^6。

  • 皮托

    07-08 13:50:19.970: 错误/AndroidRuntime(347): 致命异常: main 07-08 13:50:19.970: 错误/AndroidRuntime(347): java.lang.RuntimeException: 无法实例化活动 ComponentInfo{edu.brandeis.gameoflife/edu.brandeis.gameoflife.GameOfLifeGameActivity}: java.lang.ClassNotFoundException: edu .brandeis.gameoflife.GameOfLifeGameActivity 在加载器 dalvik.system.PathClassLoader[/data/app/edu.brandeis.gameoflife-1.apk] 07-08 13:50:19.970: 错误/AndroidRuntime(347): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569) 07-08 13:50:19.970: 错误/AndroidRuntime(347): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 07-08 13:50:19.970: 错误/AndroidRuntime(347): 在 android.app.ActivityThread.access$1500(ActivityThread.java:117) 07-08 13:50:19.970: 错误/AndroidRuntime(347): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 07-08 13:50:19.970: 错误/AndroidRuntime(347): 在 android.os.Handler.dispatchMessage(Handler.java:99) 07-08 13:50:19.970: 错误/AndroidRuntime(347): 在 android.os.Looper.loop(Looper.java:123) 07-08 13:50:19.970: 错误/AndroidRuntime(347): 在 android.app.ActivityThread.main(ActivityThread.java:3683) 07-08 13:50:19.970: 错误/AndroidRuntime(347): 在 java.lang.reflect.Method.invokeNative(Native Method) 07-08 13:50:19.970: 错误/AndroidRuntime(347): 在 java.lang.reflect.Method.invoke(Method.java:507) 07-08 13:50:19.970: 错误/AndroidRuntime(347): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 07-08 13:50:19.970: 错误/AndroidRuntime(347): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 07-08 13:50:19.970:错误/AndroidRuntime(347):在 dalvik.system.NativeStart.main(本机方法) 07-08 13:50:19.970: 错误/AndroidRuntime(347): 由: java.lang.ClassNotFoundException: edu.brandeis.gameoflife.GameOfLifeGameActivity 在加载器 dalvik.system.PathClassLoader[/data/app/edu.brandeis.gameoflife -1.apk] 07-08 13:50:19.970: 错误/AndroidRuntime(347): 在 dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) 07-08 13:50:19.970: 错误/AndroidRuntime(347): 在 java.lang.ClassLoader.loadClass(ClassLoader.java:551) 07-08 13:50:19.970: 错误/AndroidRuntime(347): 在 java.lang.ClassLoader.loadClass(ClassLoader.java:511) 07-08 13:50:19.970: 错误/AndroidRuntime(347): 在 android.app.Instrumentation.newActivity(Instrumentation.java:1021) 07-08 13:50:19.970: 错误/AndroidRuntime(347): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561) 07-08 13:50:19.970: 错误/AndroidRuntime(347): ... 11 更多 07-08 13:50:19.980: WARN/ActivityManager(60): 强制完成活动 edu.brandeis.gameoflife/.GameOfLifeGameActivity 07-08 13:50:20.491: WARN/ActivityManager(60): HistoryRecord{4052d618 edu.brandeis.gameoflife/.GameOfLifeGameActivity} 的活动暂停超时 07-08 13:50:30.691: WARN/ActivityManager(60): HistoryRecord{4052d618 edu.brandeis.gameoflife/.GameOfLifeGameActivity}

【问题讨论】:

    标签: java android exception


    【解决方案1】:

    我从未见过使用来自单独项目的类的项目。我不知道这是行不通的,我只是从未见过。所以我建议将你的 edu.brandeis.minigamee 包复制到包含 GameOfLifeGameActivity 的同一个项目中。

    【讨论】:

    • 那行得通。进一步的改进是为引用的 Eclipse 项目创建一个 Jar,并将该 jar 复制到引用的 Eclipse 项目中。该方案的唯一弱点是,由于我仍在编写库,因此每次更改库并对其进行重建时,我都必须手动重新创建 jar 并将其放入客户端项目中。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多