Unity System 和 Newtonsoft 库在为 android 构建时不起作用
Posted
技术标签:
【中文标题】Unity System 和 Newtonsoft 库在为 android 构建时不起作用【英文标题】:Unity System and Newtonsoft libraries does not work when built for android 【发布时间】:2022-01-17 23:25:23 【问题描述】:我是 Unity 的新手,但我在 Asp.Net 编程方面有一些经验。我需要开发一个需要连接 API 并从该 API 获取、发布、删除一些数据的应用程序。为了实现这一点,我正在使用以下这些库:
using System.Net.Http;
using System;
using Newtonsoft.Json;
当我运行应用程序时,我的计算机上没有任何错误、警告等(我使用的是 Unity 2020.3.24f1)。它完全按照我的意愿工作。但是当我为安卓平台(apk)构建它并将它安装到我的安卓手机时,我使用这些库的代码在手机上不起作用。我在手机屏幕上看不到任何错误,只是不起作用。我希望我能解释一下。
【问题讨论】:
为什么不用Unity自带的json工具呢? 我假设您缺少一些异常处理,因此您无法正确捕获错误。您可能会得到一个 PlattformNotSupported 异常。您需要使用支持您的部署目标的库,而 NewtonSoft 并非开箱即用。像 github.com/jilleJr/Newtonsoft.Json-for-Unity 这样的东西可能会有所帮助。 【参考方案1】:没有“统一系统”..您使用的是一般的 c#
System
和 System.Net.Http
命名空间!一般来自System.Net
System.Net 命名空间中的类可用于开发 Windows 应用商店应用或桌面应用。
所以这在android
上不存在。
您应该相应地使用 Unity 的 UnityWebRequest.Get
、UnityWebRequest.Post
和 UnityWebRequest.Delete
。
对于 JSON,如果可能,请坚持使用内置的 JsonUtility
,或者确保使用“半内置”package Newtonsoft JSON,您可以通过 Package Manager 安装(如果不是这样的话默认情况下更新版本)。
【讨论】:
非常感谢。它有帮助。以上是关于Unity System 和 Newtonsoft 库在为 android 构建时不起作用的主要内容,如果未能解决你的问题,请参考以下文章
unity 中引用 Newtonsoft.Json的 DLL
C# unity (发布到安卓端中使用)解析json字符串—使用微软官方的包Newtonsoft.Json
C# unity (发布到安卓端中使用)解析json字符串—使用微软官方的包Newtonsoft.Json