Nethereum 在统一编辑器中运行良好,但在 android 设备中运行不佳
Nethereum works well in unity editor, but not in android device
我正在使用 nethereum 和 unity with infura。 (我正在开发 DApp。)
我写了一些用于铸造新 NFT 的代码,并进行了测试,效果很好。
但是,构建后,它在 android 设备上不起作用。
于是我使用androidlogcat查了一个错误,但是没有报错
下面是我用来测试的异步函数,获取账户余额并保存的代码。
async Task GetBalance()
{
Debug.Log("Before : " + balance);
balance = await web3.Eth.GetBalance.SendRequestAsync(account.Address);
Debug.Log("After : " + balance);
}
然后我在 IEnumerator 中执行了这段代码。
Task balanceTask = GetBalance();
yield return new WaitUntil(() => balanceTask.IsCompleted);
Debug.Log("Balance (Wei) = " + balance);
float balanceEth = (float)UnitConversion.Convert.FromWei(balance);
Debug.Log("Balance (Eth) = " + balanceEth);
结果如下。
Before : -1
Balance (Wei) = -1
Balance (Eth) = -1E -18
Balance初始值为-1,第二个Debug.Log()无效。没有什么看起来是错误的。刚刚跳过,继续
此外,我检查了infura服务器接收到的请求数量保持不变。在我看来,nethereum 无法向 infura 发送请求,这使得 Debug.Log() 被跳过....但我不知道。
我很困惑,因为它在编辑器中有效,但在设备中无效。你能给我什么建议吗?
我明白了!!在我将 Scripting Backend (unity-build settings-player settings-other settings) IL2CPP 更改为 Mono 后,没有错误,我的代码完美运行。我不知道为什么,但如果您正在为这个问题而苦恼,这可能是解决方案之一。 (也许..?)
我正在使用 nethereum 和 unity with infura。 (我正在开发 DApp。)
我写了一些用于铸造新 NFT 的代码,并进行了测试,效果很好。
但是,构建后,它在 android 设备上不起作用。
于是我使用androidlogcat查了一个错误,但是没有报错
下面是我用来测试的异步函数,获取账户余额并保存的代码。
async Task GetBalance()
{
Debug.Log("Before : " + balance);
balance = await web3.Eth.GetBalance.SendRequestAsync(account.Address);
Debug.Log("After : " + balance);
}
然后我在 IEnumerator 中执行了这段代码。
Task balanceTask = GetBalance();
yield return new WaitUntil(() => balanceTask.IsCompleted);
Debug.Log("Balance (Wei) = " + balance);
float balanceEth = (float)UnitConversion.Convert.FromWei(balance);
Debug.Log("Balance (Eth) = " + balanceEth);
结果如下。
Before : -1
Balance (Wei) = -1
Balance (Eth) = -1E -18
Balance初始值为-1,第二个Debug.Log()无效。没有什么看起来是错误的。刚刚跳过,继续
此外,我检查了infura服务器接收到的请求数量保持不变。在我看来,nethereum 无法向 infura 发送请求,这使得 Debug.Log() 被跳过....但我不知道。
我很困惑,因为它在编辑器中有效,但在设备中无效。你能给我什么建议吗?
我明白了!!在我将 Scripting Backend (unity-build settings-player settings-other settings) IL2CPP 更改为 Mono 后,没有错误,我的代码完美运行。我不知道为什么,但如果您正在为这个问题而苦恼,这可能是解决方案之一。 (也许..?)