我正在尝试使用Skobbler建立一个新项目。 我已经集成了SKMaps.jar并将其放入构建路径中。我正在使用带有gradl的AndroidStudio。
现在的问题是:我打电话的那一刻
SKMaps.getInstance().initializeSKMaps(this, initMapSettings, getString(R.string.skobbler_api_key));
它抛出异常
android.view.InflateException:二进制XML文件行#44:错误 膨胀类com.skobbler.ngx.map.SKMapViewHolder
和
无法从加载程序加载ngnative dalvik.system.PathClassLoader [DexPathList [[zip文件 " /data/app/de.aeins.theswap.swap-1.apk"],nativeLibraryDirectories = [/数据/ APP-LIB / de.aeins.theswap.swap-1, / vendor / lib,/ system / lib]]]:findLibrary返回null
我的项目根目录中有一个lib文件夹,在单独的文件夹中有SKMaps.jar和3个libngnative.so文件。
知道出了什么问题吗?
答案 0 :(得分:2)
我遇到了同样的问题。
一些想法(这就是我如何使它工作)
1)确保在properties-> Java Build Path-> Libraries中添加SKMaps.jar文件,并在Order and Export中选择它
2)我在演示应用程序中意识到SplashActivity正在进行大量工作 - 特别是初始化库。我假设必须在布局在Activity中膨胀之前完成此操作。我最终在我的应用程序中放了一个SplashActivity,在进入显示地图的Activity之前初始化那里的库,现在它可以工作了。
答案 1 :(得分:1)
我遇到了同样的问题。修正了:
答案 2 :(得分:1)
在Android Studio项目中,应将原生.so库放在/ app / src / main /文件夹中以便识别:
这可能是您崩溃的原因。 stackoverflow.com上报告了一些类似的问题:
答案 3 :(得分:1)
将地图初始化部分放入最初启动的活动中是重要的,就像在Skobbler AndroidOpenSourceDemo应用程序的SplashActivity中一样。即初始化必须在它自己的启动活动中完成,然后从那里开始一个新的(主)活动,即显示地图(SKMapViewHolder xml元素)。
(另外,如果有疑问,请在再次运行之前在设备上手动卸载应用程序。)