After migrating to Here SDK v3.15 and replacing the new service in the android manifest based on Here new sdk doc
<service
android:name="com.here.android.mpa.service.MapService"
android:label="HereMapService"
android:process="global.Here.Map.Service.v3">
<intent-filter>
<!--Note, action name should not be changed.-->
<action android:name="com.here.android.mpa.service.MapService.v3" />
</intent-filter>
</service>
I am facing this issue in global.Here.Map.Service.v3
process:
2020-06-02 17:52:43.043 E/Zygote: isWhitelistProcess - Process is Whitelisted
2020-06-02 17:52:43.044 E/Zygote: accessInfo : 1
2020-06-02 17:52:43.098 E/.Map.Service.v: Unknown bits set in runtime_flags: 0x8000
2020-06-02 17:52:45.160 E/LoadedApk: Unable to instantiate appComponentFactory
java.lang.ClassNotFoundException: Didn't find class "{##APPLICATION_PACKAGE_NAME##}.debug.whateverString" on path: DexPathList[[zip file "/data/app/{##APPLICATION_PACKAGE_NAME##}.debug-2kj8tO3o7W1yzkrRozOJbg==/base.apk"],nativeLibraryDirectories=[/data/app/{##APPLICATION_PACKAGE_NAME##}.debug-2kj8tO3o7W1yzkrRozOJbg==/lib/arm64, /data/app/{##APPLICATION_PACKAGE_NAME##}.debug-2kj8tO3o7W1yzkrRozOJbg==/base.apk!/lib/arm64-v8a, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.app.LoadedApk.createAppFactory(LoadedApk.java:273)
at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:896)
at android.app.LoadedApk.getClassLoader(LoadedApk.java:991)
at android.app.LoadedApk.getResources(LoadedApk.java:1248)
at android.app.ContextImpl.createAppContext(ContextImpl.java:2616)
at android.app.ContextImpl.createAppContext(ContextImpl.java:2608)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6871)
at android.app.ActivityThread.access$1300(ActivityThread.java:270)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2051)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:7948)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)
2020-06-02 17:52:45.607 W/.Map.Service.v: Accessing hidden method Landroid/app/AppGlobals;->getInitialApplication()Landroid/app/Application; (greylist, reflection, allowed)
2020-06-02 17:52:46.172 E/AndroidRuntime: FATAL EXCEPTION: main
Process: global.Here.Map.Service.v3, PID: 22039
java.lang.RuntimeException: Unable to create application {##APPLICATION_PACKAGE_NAME##}.MyApplication: java.lang.IllegalStateException: WorkManager is not initialized properly. You have explicitly disabled WorkManagerInitializer in your manifest, have not manually called WorkManager#initialize at this point, and your Application does not implement Configuration.Provider.
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6998)
at android.app.ActivityThread.access$1300(ActivityThread.java:270)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2051)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:7948)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)
Caused by: java.lang.IllegalStateException: WorkManager is not initialized properly. You have explicitly disabled WorkManagerInitializer in your manifest, have not manually called WorkManager#initialize at this point, and your Application does not implement Configuration.Provider.
at androidx.work.impl.WorkManagerImpl.getInstance(WorkManagerImpl.java:146)
at androidx.work.WorkManager.getInstance(WorkManager.java:181)
at {##APPLICATION_PACKAGE_NAME##}.bl.actions.WorkDefinition$RecurringWorkDefinition.register(WorkDefinition.kt:63)
at {##APPLICATION_PACKAGE_NAME##}.MyApplication.onCreate(MyApplication.kt:71)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1190)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6993)
at android.app.ActivityThread.access$1300(ActivityThread.java:270)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2051)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:7948)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)
2020-06-02 17:52:47.250 E/(CombinedCrashHandler.kt:19)::uncaughtException [main]: uncaughtException
java.lang.RuntimeException: Unable to create application {##APPLICATION_PACKAGE_NAME##}.MyApplication: java.lang.IllegalStateException: WorkManager is not initialized properly. You have explicitly disabled WorkManagerInitializer in your manifest, have not manually called WorkManager#initialize at this point, and your Application does not implement Configuration.Provider.
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6998)
at android.app.ActivityThread.access$1300(ActivityThread.java:270)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2051)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:7948)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)
Caused by: java.lang.IllegalStateException: WorkManager is not initialized properly. You have explicitly disabled WorkManagerInitializer in your manifest, have not manually called WorkManager#initialize at this point, and your Application does not implement Configuration.Provider.
at androidx.work.impl.WorkManagerImpl.getInstance(WorkManagerImpl.java:146)
at androidx.work.WorkManager.getInstance(WorkManager.java:181)
at {##APPLICATION_PACKAGE_NAME##}.bl.actions.WorkDefinition$RecurringWorkDefinition.register(WorkDefinition.kt:63)
at {##APPLICATION_PACKAGE_NAME##}.MyApplication.onCreate(MyApplication.kt:71)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1190)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6993)
at android.app.ActivityThread.access$1300(ActivityThread.java:270)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2051)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:7948)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)
2020-06-02 17:52:47.775 E/SQLiteLog: (10) POSIX Error : 11 SQLite Error : 3850
2020-06-02 17:52:47.775 E/SQLiteLog: (10) LOCK : Getting pending lock for (1) failed due to (11). The current owner is (21676).
2020-06-02 17:52:47.777 E/SQLiteLog: (10) POSIX Error : 11 SQLite Error : 3850
2020-06-02 17:52:47.777 E/SQLiteLog: (10) LOCK : Getting pending lock for (1) failed due to (11). The current owner is (21676).
2020-06-02 17:52:47.779 E/SQLiteLog: (10) POSIX Error : 11 SQLite Error : 3850
2020-06-02 17:52:47.779 E/SQLiteLog: (10) LOCK : Getting pending lock for (1) failed due to (11). The current owner is (21676).
2020-06-02 17:52:47.784 E/SQLiteLog: (10) POSIX Error : 11 SQLite Error : 3850
2020-06-02 17:52:47.784 E/SQLiteLog: (10) LOCK : Getting pending lock for (1) failed due to (11). The current owner is (21676).
any suggestion?
I removed the android:process
part from the service definition in AndroidManifest and problem solved:
<service
android:name="com.here.android.mpa.service.MapService"
android:exported="false"
android:label="HereMapService">
<intent-filter>
<!--Note, action name should not be changed.-->
<action android:name="com.here.android.mpa.service.MapService.v3" />
</intent-filter>
</service>