UnsatisfiedLinkError: dlopen failed: cannot locate symbol "strtof" referenced by "libsupportjni.so" on API <20

AndroidAndroid StudioDebugging

Android Problem Overview


I'm getting the following error immediately on launch, but only for devices running API <20.

**edit: I initially reported this in Android Studio 2.4, and it's still an issue in Android Studio 3.0 stable

D/dalvikvm: Trying to load lib /mnt/asec/[[packagename]]-1/lib/libsupportjni.so 0x41b13f30
E/dalvikvm: dlopen("/mnt/asec/[[packagename]]-1/lib/libsupportjni.so") failed: dlopen failed: cannot locate symbol "strtof" referenced by "libsupportjni.so"...
W/dalvikvm: Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/android/tools/profiler/support/ProfilerService;
D/AndroidRuntime: Shutting down VM
W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x41659ce0)
E/AndroidRuntime: FATAL EXCEPTION: main
              Process: [[packagename]], PID: 7500
              java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "strtof" referenced by "libsupportjni.so"...
                  at java.lang.Runtime.loadLibrary(Runtime.java:364)
                  at java.lang.System.loadLibrary(System.java:526)
                  at com.android.tools.profiler.support.ProfilerService.<clinit>(ProfilerService.java:44)
                  at [[packagename]].App.<init>(App.kt:25)
                  at java.lang.Class.newInstanceImpl(Native Method)
                  at java.lang.Class.newInstance(Class.java:1208)
                  at android.app.Instrumentation.newApplication(Instrumentation.java:990)
                  at android.app.Instrumentation.newApplication(Instrumentation.java:975)
                  at android.app.LoadedApk.makeApplication(LoadedApk.java:509)
                  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4446)
                  at android.app.ActivityThread.access$1500(ActivityThread.java:144)
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
                  at android.os.Handler.dispatchMessage(Handler.java:102)
                  at android.os.Looper.loop(Looper.java:136)
                  at android.app.ActivityThread.main(ActivityThread.java:5146)
                  at java.lang.reflect.Method.invokeNative(Native Method)
                  at java.lang.reflect.Method.invoke(Method.java:515)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
                  at dalvik.system.NativeStart.main(Native Method)

Android Solutions


Solution 1 - Android

Go to Run -> Edit Configurations -> Profiling, and disable "Enable advanced profiling". This feature is not currently compatible with API <20, and will cause this or similar crashes. This may be fixed in the future, but as of Android Studio 2.4 preview 7, it's an open issue. Related issue

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJim PekarekView Question on Stackoverflow
Solution 1 - AndroidJim PekarekView Answer on Stackoverflow