Unity android应用程序在启动时崩溃,java空对象引用错误
我有一个使用谷歌Tango sdk和GVR sdk的android应用程序的Unity项目,该项目在Unity 2017.2上运行良好。我不得不将它移植回Unity 5,现在该应用程序在手机上一开始就崩溃了,我不知道它来自哪里,我不熟悉android和java 我将该项目从Unity 2017移植到Unity 5,方法是使用Unity 5打开它,并让它降级该项目 以下是我启动应用程序时获得的电话日志:Unity android应用程序在启动时崩溃,java空对象引用错误,java,android,unity3d,google-project-tango,google-vr,Java,Android,Unity3d,Google Project Tango,Google Vr,我有一个使用谷歌Tango sdk和GVR sdk的android应用程序的Unity项目,该项目在Unity 2017.2上运行良好。我不得不将它移植回Unity 5,现在该应用程序在手机上一开始就崩溃了,我不知道它来自哪里,我不熟悉android和java 我将该项目从Unity 2017移植到Unity 5,方法是使用Unity 5打开它,并让它降级该项目 以下是我启动应用程序时获得的电话日志: 02-16 12:41:35.181 1392-4698/? I/ActivityManage
02-16 12:41:35.181 1392-4698/? I/ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.GFI.TangoMapping9/com.google.unity.GoogleUnityActivity} from uid 2000 on display 0
02-16 12:41:35.197 1392-4698/? I/ActivityManager: Start proc 15084:com.GFI.TangoMapping9/u0a165 for activity com.GFI.TangoMapping9/ com.google.unity.GoogleUnityActivity
02-16 12:41:35.239 15084-15084/? E/AndroidRuntime:
FATAL EXCEPTION: main
Process: com.GFI.TangoMapping9, PID: 15084
java.lang.Error: FATAL EXCEPTION [main]
Unity version : 5.6.5f1
Device model : LENOVO Lenovo PB2-690M
Device fingerprint: Lenovo/phinny_row/PB2PRO:6.0.1/MMB29M/PB2-690M_S200100_170228:user/release-keys
Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.GFI.TangoMapping9/com.google.unity.GoogleUnityActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Bundle.getBoolean(java.lang.String, boolean)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2477)
at android.app.ActivityThread.access$900(ActivityThread.java:150)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5418)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Bundle.getBoolean(java.lang.String, boolean)' on a null object reference
at com.google.unity.GoogleUnityActivity.onCreate(GoogleUnityActivity.java:107)
at android.app.Activity.performCreate(Activity.java:6285)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2370)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2477)
at android.app.ActivityThread.access$900(ActivityThread.java:150)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5418)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
02-16 12:41:35.241 1392-4608/? W/ActivityManager: Force finishing activity com.GFI.TangoMapping9/com.google.unity.GoogleUnityActivity
我知道有很多类似的问题被贴了出来,我读到,对于这类问题,问题通常出现在主要活动中,但在Unity项目中,我不应该编辑它,甚至不知道在apk中的哪里可以找到它。知道它是从哪里来的吗
编辑
我找到了一个转机,让我的项目在Unity 5上再次运行。我创建了一个新的Unity 5项目,将我的Unity 2017项目中的资产文件夹复制/粘贴到此新项目中,并在此项目中重新导入GVR sdk包。Google Tango sdk在Unity 2017上不起作用,Unity 5中的新错误是什么?@PierreBaret有一种方法可以通过这样做在Unity 2017上创建Google Tango sdk。这对我有用。我认为我的问题主要是Unity将一个项目降级到以前的版本并破坏了一些东西,有时候在旧版本中创建一个项目并重新导入包比让Unity降级项目要好。