2

We started working on Skobbler maps and downloaded demo project AndroidOpenSourceDemoGradle with API key we generated in Skobbler account and started working on our own values of latitude and longitude. We tried to calculate custom route using the method launchRouteCalculation() by passing starting position and ending position in the form of SKCordinate.
In the same method we called com.skobbler.ngx.routing.SKRouteManager.calculateRouteWithPoints() by passing a list SKPostion objects consisting of latitude and longitude values along with SKRouteSettings object.

Code we tried

List pointsList = new ArrayList();
pointsList.add(new SKPosition(23.609239, 46.767936));
pointsList.add(new SKPosition(23.609149, 46.769281));
pointsList.add(new SKPosition(23.605704, 46.768879));
// set the route listener
SKRouteManager.getInstance().setRouteListener(this);
SKRouteSettings routeSettings = new SKRouteSettings();
//set route mode
routeSettings.setRouteMode(SKRouteMode.CAR_FASTEST);
        SKRouteManager.getInstance().calculateRouteWithPoints(pointsList,routeSettings);

But we ended with error stating

GPX track navigation is available for commercial use with a enterprise license" and JNI DETECTED ERROR IN APPLICATION: jmethodID was NULL.

The exact error statement we came across in log is as follows

04-27 23:31:44.881 9577-9577/com.skobbler.sdkdemo E/SKRouteManager: GPX track navigation is available for commercial use with a enterprise license
 04-27 23:31:44.950 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65] JNI DETECTED ERROR IN APPLICATION: jmethodID was NULL
04-27 23:31:44.950 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]     in call to CallDoubleMethodV

04-27 23:31:44.950 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]     from void com.skobbler.ngx.routing.SKRouteManager.createroutefromgpspoints(com.skobbler.ngx.positioner.SKPosition[], int, boolean, boolean, boolean, boolean)

04-27 23:31:44.950 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65] "main" prio=5 tid=1 Runnable

04-27 23:31:44.950 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]   | group="main" sCount=0 dsCount=0 obj=0x74ab0000 self=0xf4c27800

04-27 23:31:44.950 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]   | sysTid=9577 nice=0 cgrp=default sched=0/0 handle=0xf723bbec

04-27 23:31:44.950 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]   | state=R schedstat=( 1395219590 318169633 1433 ) utm=113 stm=26 core=0 HZ=100

04-27 23:31:44.950 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]   | stack=0xff563000-0xff565000 stackSize=8MB

04-27 23:31:44.950 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]   | held mutexes= "mutator lock"(shared held)

04-27 23:31:44.950 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]   native: #00 pc 0000485c  /system/lib/libbacktrace_libc++.so (UnwindCurrent::Unwind(unsigned int, ucontext*)+23)

04-27 23:31:44.950 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]   native: #01 pc 00003005  /system/lib/libbacktrace_libc++.so (Backtrace::Unwind(unsigned int, ucontext*)+8)

04-27 23:31:44.950 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]   native: #02 pc 00243911  /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, char const*, art::mirror::ArtMethod*)+68)

04-27 23:31:44.951 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]   native: #03 pc 00227cb9  /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+144)

04-27 23:31:44.951 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]   native: #04 pc 000aff1b  /system/lib/libart.so (art::JniAbort(char const*, char const*)+582)

04-27 23:31:44.951 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]   native: #05 pc 000b0661  /system/lib/libart.so (art::JniAbortF(char const*, char const*, ...)+60)

04-27 23:31:44.951 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]   native: #06 pc 000b090b  /system/lib/libart.so (art::ScopedCheck::CheckSig(_jmethodID*, char const*, bool) (.constprop.131)+358)

04-27 23:31:44.951 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]   native: #07 pc 000ba779  /system/lib/libart.so (art::CheckJNI::CallDoubleMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+60)

04-27 23:31:44.951 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]   native: #08 pc 000fa67b  /data/app/com.skobbler.sdkdemo-1/lib/arm/libngnative.so (_JNIEnv::CallDoubleMethod(_jobject*, _jmethodID*, ...)+22)

04-27 23:31:44.951 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]   native: #09 pc 000e9df1  /data/app/com.skobbler.sdkdemo-1/lib/arm/libngnative.so (Java_com_skobbler_ngx_routing_SKRouteManager_createroutefromgpspoints+144)

04-27 23:31:44.951 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]   native: #10 pc 0019c8d3  /data/dalvik-cache/arm/data@app@com.skobbler.sdkdemo-1@base.apk@classes.dex (Java_com_skobbler_ngx_routing_SKRouteManager_createroutefromgpspoints___3Lcom_skobbler_ngx_positioner_SKPosition_2IZZZZ+142)

04-27 23:31:44.951 9577-9577/com.skobbler.sdkdemo A/art: art/runtime/check_jni.cc:65]   at com.skobbler.ngx.routing.SKRouteManager.createroutefromgpspoints(Native method) 04-27 23:31:44.951 9577-9577/com.skobbler.sdkdemo A/art:         art/runtime/check_jni.cc:65] atcom.skobbler.ngx.routing.SKRouteManager.calculateRouteWithPoints(SourceFile:327)

Can someone help us regarding this error, please?

mmBs
  • 8,421
  • 6
  • 38
  • 46
SriramTej
  • 21
  • 5

1 Answers1

1

This is a known bug for the 2.5.1 SDK. A hotfix was provided to solve this issue. The latest build for 2.5.1 can be downloaded from here

SylviA
  • 1,577
  • 9
  • 13