UnsatisfiedLinkError Arcgis 10.2.3 Android ArcGISRuntime.setClientId

У меня проблема с Arcgis SDK для Android, которой у меня никогда не было. Кажется, проблема с его родным интерфейсом, когда я вызываю этот метод:

ArcGISRuntime.setClientId

У меня есть этот метод внутри onCreate() (класс приложения), поэтому он падает в начале

Это трассировка стека:

java.lang.UnsatisfiedLinkError: nativeIsClientIdValid
at com.esri.core.runtime.LicenseImpl.nativeIsClientIdValid(Native Method)
at com.esri.core.runtime.LicenseImpl.b(Unknown Source)
at com.esri.android.runtime.ArcGISRuntime$License.b(Unknown Source)
at com.esri.android.runtime.ArcGISRuntime$License.a(Unknown Source)
at com.esri.android.runtime.ArcGISRuntime.setClientId(Unknown Source)
at com.pkg.manager.AppManager.onCreate(AppManager.java:262)

И вот что я нашел в документации Arcgis об этом методе:

public static LicenseResult setClientId (String clientId)

Лицензируйте приложение для базовых функций. Это удалит водяной знак, присутствующий в режиме разработчика, и его необходимо вызывать в развернутом приложении. Всякий раз, когда осуществляется доступ к стандартным лицензированным функциям, будет выдано исключение RuntimeException.

Этот метод необходимо вызывать перед установкой лицензии с помощью setLicense(LicenseInfo) или setLicense(String). Обратите внимание, что если перед вызовом этого метода осуществляется доступ к какой-либо стандартной лицензированной функции, при вызове этого метода будет выдано исключение, и приложение останется в режиме разработчика.

Параметры

ID клиента. идентификатор клиента для установки

Возвращает

LicenseResult.Invalid или LicenseResult.Valid

(https://developers.arcgis.com/android/api-reference/reference/com/esri/android/runtime/ArcGISRuntime.html)

Любые идеи, спасибо!


person jbc25    schedule 06.08.2014    source источник


Ответы (2)


UnsatisfiedLinkError обычно означает, что приложение не может загрузить необходимую ему нативную библиотеку, даже если для этой библиотеки присутствует Java-оболочка. Если бы оболочка Java также отсутствовала, ваш код не скомпилировался бы.

Вы переключились с более ранней версии ArcGIS на ArcGIS 10.2.3 в этом проекте? Если это так, возможно, в проекте все еще есть собственные библиотеки из старой версии ArcGIS, в которой не было метода setClientId, хотя в проекте есть библиотеки Java из новой версии ArcGIS, в которых есть setClientId.

Предполагая, что вы находитесь в Eclipse, щелкните проект правой кнопкой мыши и выберите Инструменты ArcGIS > Исправить свойства проекта. Это должно заменить старые собственные библиотеки на собственные библиотеки 10.2.3.

person Gary Sheppard    schedule 06.08.2014

http://maroofi.github.io/ceal/ для удаления водяных знаков с экрана

person srn    schedule 15.10.2015
comment
Добро пожаловать в Stack Overflow! Хотя это может ответить на вопрос, было бы предпочтительнее включить сюда основные части ответа и предоставить ссылку для ссылка. - person IKavanagh; 15.10.2015