的UnsatisfiedLinkError Arcgis的10.2.3的Andr​​oid ArcGISRuntime.setClientId [英] UnsatisfiedLinkError Arcgis 10.2.3 Android ArcGISRuntime.setClientId

查看:504
本文介绍了的UnsatisfiedLinkError Arcgis的10.2.3的Andr​​oid ArcGISRuntime.setClientId的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在使用ArcGIS SDK为Android这是我以前从未有过的问题。
看来问题,其原生界面,当我调用这个方法:

I'm having a problem with Arcgis SDK for Android which I've never had before. It seems an issue with its native interface when I call this method:

ArcGISRuntime.setClientId

的onCreate()(应用类)在此方法中,所以它崩溃之初

I have this method inside onCreate() (Application class), so it crashes at the beginning

这是堆栈跟踪:

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的文档中发现这个方法:

And this is what I found on Arcgis documentation about this method:

公共静态LicenseResult SETCLIENTID(字符串的clientId)

public static LicenseResult setClientId (String clientId)

许可基本功能的应用程序。这将消除在开发人员模式水印present,必须部署的应用程序调用。每当标准许可功能被访问时,一个RuntimeException将被抛出。

License an application for basic functionality. This will remove the watermark present in developer mode and must be called in a deployed application. Whenever standard licensed functionality is accessed, a RuntimeException will be thrown.

这个方法必须设置一个执照,要么 setLicense(LicenseInfo) setLicense(字符串)之前调用。请注意,如果任何标准许可的功能调用此方法之前访问,破例将在调用此方法抛出,应用程序将保持在开发人员模式。

This method must be called before setting a license with either setLicense(LicenseInfo) or setLicense(String). Note that if any standard licensed functionality is accessed before calling this method, an exception will be thrown when this method is called and the application will remain in developer mode.

参数

的clientId。客户端ID设置

clientId. client ID to set

返回

LicenseResult.Invalid或LicenseResult.Valid

LicenseResult.Invalid or LicenseResult.Valid

(<一个href=\"https://developers.arcgis.com/android/api-reference/reference/com/esri/android/runtime/ArcGISRuntime.html\" rel=\"nofollow\">https://developers.arcgis.com/android/api-reference/reference/com/esri/android/runtime/ArcGISRuntime.html)

任何想法,谢谢!

推荐答案

的UnsatisfiedLinkError 通常意味着应用程序无法加载它需要一个机库,尽管Java包装该库是present。如果Java包装也不见了,你的code则不会进行编译。

UnsatisfiedLinkError normally means the application can't load a native library it needs, even though the Java wrapper for that library is present. If the Java wrapper were also missing, your code wouldn't compile.

你在这个项目的早期版本的ArcGIS为ArcGIS 10.2.3切换?如果是这样,则可能是该项目仍然有从老版本的ArcGIS,其中没有一个 SETCLIENTID 方法,即使项目有Java的本地库从ArcGIS的新版本,它确实有图书馆 SETCLIENTID

Did you switch from an earlier version of ArcGIS to ArcGIS 10.2.3 in this project? If so, it is possible that the project still has the native libraries from the old version of ArcGIS, which didn't have a setClientId method, even though the project has the Java libraries from the new version of ArcGIS, which do have setClientId.

假设你在Eclipse是,用鼠标右键单击该项目并选择 ArcGIS的工具>修复项目属性即可。这应该与10.2.3本机库更换旧机库。

Assuming you're in Eclipse, right-click the project and choose ArcGIS Tools > Fix Project Properties. That should replace the old native libraries with the 10.2.3 native libraries.

这篇关于的UnsatisfiedLinkError Arcgis的10.2.3的Andr​​oid ArcGISRuntime.setClientId的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆