Android多软件包问题

Android多软件包问题,android,Android,我在eclipse中有一个项目,其中我对所有包使用了多个前缀相同的包。这是结构的截图 问题是,当我运行应用程序时,会收到以下错误消息: 无法启动活动组件信息{com.td.bookshelf/com.td.bookshelf.SplashActivity}:java.lang.NullPointerException) 我已经手动添加了所有包,并从其他项目复制了类文件。 因此,我干净地构建了项目,并重新启动了eclipse,但没有成功 请帮我消除这个错误 08-22 13:43:07.367:

我在eclipse中有一个项目,其中我对所有包使用了多个前缀相同的包。这是结构的截图

问题是,当我运行应用程序时,会收到以下错误消息:

无法启动活动组件信息{com.td.bookshelf/com.td.bookshelf.SplashActivity}:java.lang.NullPointerException)

我已经手动添加了所有包,并从其他项目复制了类文件。 因此,我干净地构建了项目,并重新启动了eclipse,但没有成功

请帮我消除这个错误

08-22 13:43:07.367: E/AndroidRuntime(4900): FATAL EXCEPTION: main
08-22 13:43:07.367: E/AndroidRuntime(4900): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.td.bookshelf/com.td.bookshelf.SplashActivity}: java.lang.NullPointerException
08-22 13:43:07.367: E/AndroidRuntime(4900):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
08-22 13:43:07.367: E/AndroidRuntime(4900):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
08-22 13:43:07.367: E/AndroidRuntime(4900):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
08-22 13:43:07.367: E/AndroidRuntime(4900):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
08-22 13:43:07.367: E/AndroidRuntime(4900):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-22 13:43:07.367: E/AndroidRuntime(4900):     at android.os.Looper.loop(Looper.java:123)
08-22 13:43:07.367: E/AndroidRuntime(4900):     at android.app.ActivityThread.main(ActivityThread.java:3687)
08-22 13:43:07.367: E/AndroidRuntime(4900):     at java.lang.reflect.Method.invokeNative(Native Method)
08-22 13:43:07.367: E/AndroidRuntime(4900):     at java.lang.reflect.Method.invoke(Method.java:507)
08-22 13:43:07.367: E/AndroidRuntime(4900):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
08-22 13:43:07.367: E/AndroidRuntime(4900):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
08-22 13:43:07.367: E/AndroidRuntime(4900):     at dalvik.system.NativeStart.main(Native Method)
08-22 13:43:07.367: E/AndroidRuntime(4900): Caused by: java.lang.NullPointerException
08-22 13:43:07.367: E/AndroidRuntime(4900):     at com.td.bookshelf.SplashActivity.onCreate(SplashActivity.java:56)
08-22 13:43:07.367: E/AndroidRuntime(4900):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-22 13:43:07.367: E/AndroidRuntime(4900):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
08-22 13:43:07.367: E/AndroidRuntime(4900):     ... 11 more

看起来错误不是来自包结构的

在堆栈跟踪中,您可以读取:

E/AndroidRuntime(4900): Caused by: java.lang.NullPointerException
E/AndroidRuntime(4900):     at com.td.bookshelf.SplashActivity.onCreate(SplashActivity.java:56)
调用SplashActivity的
onCreate
方法时,您将得到一个
NullPointerException


您的
onCreate
方法可能有问题。

您能给出完整的堆栈跟踪吗?你确定你的问题来自你的包结构吗?SplashActivity.java:56行上有什么?我不知道是我添加到项目中的新类文件还是包结构的问题。无论如何,我在项目中没有任何错误。SplashActivity.java:56行是什么?字符串文件=TDApplication.getAppContext().getFilesDir().getAbsolutePath()+“/bookinfo.gmms”;字符串文件=TDApplication.getAppContext().getFilesDir().getAbsolutePath()+“/bookinfo.gmms”;bookinfo=新文件(文件);这是我在第56行的代码。但是你能解释一下代码的问题吗。因为当我用一个包处理同一代码时,它运行良好。什么是TDApplication?它是在哪里初始化的?TDApplication与屏幕截图中的u来自同一个包。内容是:公共类TDApplication扩展应用程序{private static Context Context;@Override public void onCreate(){super.onCreate();TDApplication.Context=getApplicationContext();}公共静态上下文getAppContext(){return TDApplication.Context;}}尝试将第56行拆分为几行。使用log.d(“您的_消息”)添加空检查和日志跟踪。然后找出什么是空的。可能是getFilesDir()?谢谢@Timothée Jeannin能够通过代码修复代码中的一些小错误。