【问题标题】:NullReferenceException only when building and running in android in unityNullReferenceException 仅当在 android 中统一构建和运行时
【发布时间】:2017-07-02 20:55:53
【问题描述】:

所以我有以下代码:

LongLat[0] = Convert.ToDouble(Input.location.lastData.latitude);
LongLat[1] = Convert.ToDouble(Input.location.lastData.longitude);
if (Input.location.status == LocationServiceStatus.Running) { print("Running"); }
print(LongLat[0]);

我将 LongLat 定义为公共数组:

public double[] LongLat = new double[2];

当我在统一编辑器中运行它时,我没有任何问题(稍后我重新定义了 LongLat,因为显然电脑没有 GPS)。但是当我在 android 上构建和运行时,我在第四行 print(LongLat[0]) 上得到一个 NullReferenceException,我不清楚为什么会这样。

定位服务正在运行。

这是来自 adb 的输出。

07-02 23:48:37.409 20555 20570 I Unity   : NullReferenceException: Object reference not set to an instance of an object
07-02 23:48:37.409 20555 20570 I Unity   :   at Location.GetLocation () [0x00065] in F:\Dropbox\Dropbox\UnityGames\Tagger\Assets\Location.cs:205
07-02 23:48:37.409 20555 20570 I Unity   :   at Location+<Start>c__Iterator0.MoveNext () [0x00233] in F:\Dropbox\Dropbox\UnityGames\Tagger\Assets\Location.cs:82
07-02 23:48:37.409 20555 20570 I Unity   :   at UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) [0x00028] in /Users/builduser/buildslave/unity/build/Runtime/Export/Coroutines.cs:17

如果我注释掉

LongLat[0] = Input.location.lastData.latitude;
LongLat[1] = Input.location.lastData.longitude;

并使用:

LongLat[0] = 55.953251f; 
LongLat[1] = 3.188267f;

效果很好。

【问题讨论】:

  • 发布带有错误标志的 logcat。
  • 我已将其添加到原帖中,谢谢。
  • 空引用意味着它正在尝试访问不存在的东西。您要么忘记在编辑器中拖动某些内容,要么领先一步并且有一些未注释的内容仍应被注释。您的代码正在使用不存在的东西。
  • 它可以在 Unity 编辑器中运行,所以 android 编译器肯定会发生一些奇怪的事情。
  • 是什么让您认为问题出在print(LongLat[0])?我真的很怀疑。我认为你应该评论那条线。你会看到这个问题依然存在。

标签: c# android unity3d location location-services


【解决方案1】:

所以我设法通过不将 Input.location.lastData 放入数组中而是直接使用它来解决。

我还是不知道为什么放数组这么麻烦。

【讨论】:

    【解决方案2】:

    您是否初始化了诸如here 之类的定位服务?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多