servo / pathfinder

A fast, practical GPU rasterizer for fonts and vector graphics
Apache License 2.0
3.62k stars 207 forks source link

Android demo crashes: /lib/arm64/libpathfinder_android_demo.so" has bad ELF magic #302

Open nokola opened 4 years ago

nokola commented 4 years ago

Windows 10 Android Studio 3.6.3 (latest as of 2020-04-22) XiaoMi Note 7 phone

Steps to reproduce:

  1. Open pathfinder\demo\android in Android Studio
  2. Attach phone to your computer
  3. Select Run | Debug app

Expected: All OK, app runs on phone

Actual: crash 2020-04-22 09:26:55.237 17507-17507/graphics.pathfinder.pathfinderdemo E/AndroidRuntime: FATAL EXCEPTION: main Process: graphics.pathfinder.pathfinderdemo, PID: 17507 java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/graphics.pathfinder.pathfinderdemo-5COgVLAOg2Kr8SURAR_OWg==/lib/arm64/libpathfinder_android_demo.so" has bad ELF magic at java.lang.Runtime.loadLibrary0(Runtime.java:1016) at java.lang.System.loadLibrary(System.java:1669) at graphics.pathfinder.pathfinderdemo.PathfinderDemoRenderer.(PathfinderDemoRenderer.java:42) at graphics.pathfinder.pathfinderdemo.PathfinderDemoActivity.init(PathfinderDemoActivity.java:85) at graphics.pathfinder.pathfinderdemo.PathfinderDemoActivity.onCreate(PathfinderDemoActivity.java:55) at android.app.Activity.performCreate(Activity.java:7224) at android.app.Activity.performCreate(Activity.java:7213) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2926) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3081) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:201) at android.app.ActivityThread.main(ActivityThread.java:6810) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873) 2020-04-22 09:26:55.265 17507-17507/graphics.pathfinder.pathfinderdemo E/MQSEventManagerDelegate: failed to get MQSService.

pcwalton commented 4 years ago

I'm guessing this might be because your phone is 32-bit?

nokola commented 4 years ago

Yes, looks like 32-bit

nokola commented 4 years ago

hmm, just checked - the OS is 64-bit, supported ABIs: arm64-v8a, armeabi-v7a, armeabi using https://play.google.com/store/apps/details?id=com.danielpolish.a64bitchecker

faywong commented 3 years ago

@nokola Hi, what's the right way to build out the libpathfinder_android_demo.so?