#c# #unity3d
#c# #unity3d
Вопрос:
Я очень новичок в Unity, и я попытался интегрировать плагин Huawei Mobile Service, и я получил эту ошибку.
Тип ‘AndroidJavaObject’ определен в сборке, на которую нет ссылки. Необходимо добавить ссылку на сборку ‘UnityEngine.AndroidJNIModule
Есть ли кто-нибудь, кто сталкивался с этой проблемой раньше? Спасибо.
Редактировать Этот код принадлежит плагину.
using HuaweiMobileServices.Id;
using HuaweiMobileServices.Utils;
using System;
using UnityEngine;
namespace HmsPlugin
{
public class AccountManager : MonoBehaviour
{
public static AccountManager GetInstance(string name = "AccountManager") => GameObject.Find(name).GetComponent<AccountManager>();
private static HuaweiIdAuthService DefaultAuthService
{
get
{
Debug.Log("[HMS]: GET AUTH");
var authParams = new HuaweiIdAuthParamsHelper(HuaweiIdAuthParams.DEFAULT_AUTH_REQUEST_PARAM).SetIdToken().CreateParams();
Debug.Log("[HMS]: AUTHPARAMS AUTHSERVICE" authParams);
var result = HuaweiIdAuthManager.GetService(authParams);
Debug.Log("[HMS]: RESULT AUTHSERVICE" result);
return resu<
}
}
public AuthHuaweiId HuaweiId { get; private set; }
public Action<AuthHuaweiId> OnSignInSuccess { get; set; }
public Action<HMSException> OnSignInFailed { get; set; }
private HuaweiIdAuthService authService;
// Start is called before the first frame update
void Awake()
{
Debug.Log("[HMS]: AWAKE AUTHSERVICE");
authService = DefaultAuthService;
}
public void SignIn()
{
Debug.Log("[HMS]: Sign in " authService);
authService.StartSignIn((authId) =>
{
HuaweiId = authId;
OnSignInSuccess?.Invoke(authId);
}, (error) =>
{
HuaweiId = null;
OnSignInFailed?.Invoke(error);
});
}
public void SignOut()
{
authService.SignOut();
HuaweiId = null;
}
}
}
Изображение проблемы здесь.
Комментарии:
1. Я полагаю, что вы не импортируете эту библиотеку или не ссылаетесь на нее в project. Можете ли вы показать нам свой код?
2. Я отредактировал свой вопрос и добавил картинку и код. Спасибо за внимание. @VoidSpirit
Ответ №1:
Проблема в моем единстве. У меня не было модуля AndroidJNI, поэтому я получил эту ошибку. Наконец, я удаляю текущую версию, затем устанавливаю новую версию Unity, и проблема решена. В новой версии модуль AndroidJNI устанавливается автоматически.