Post by rincon on Nov 9, 2018 23:58:03 GMT
I built my app using new Rhodes 7.0-stable, and the following configuration:
version: 8.0.0
minSDK: 21
targetSDK: 26
This selects android API 26 for compilation and target. I am using ndk 16b.
Everything goes OK, the app compiles and installs but fails at immediately on a device with Android 6.0 with error:
cannot locate symbol "__aeabi_atexit" (Its a loader error)
The app runs OK on a device with android 5.1.
The full error output on android 6.0 device is:
AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__aeabi_atexit" referenced by "/data/app/.../lib/arm/librhodes.so"...
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at java.lang.Runtime.loadLibrary(Runtime.java:372)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at java.lang.System.loadLibrary(System.java:1076)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at com.rhomobile.rhodes.NativeLibraries.load(NativeLibraries.java:8)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at com.rhomobile.rhodes.RhodesApplication.<clinit>(RhodesApplication.java:105)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at java.lang.Class.newInstance(Native Method)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at android.app.Instrumentation.newApplication(Instrumentation.java:997)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at android.app.Instrumentation.newApplication(Instrumentation.java:982)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at android.app.LoadedApk.makeApplication(LoadedApk.java:617)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4770)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at android.app.ActivityThread.access$1600(ActivityThread.java:157)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1417)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
Searching I found that is an error of Google on Android 6 version, some functions was incorrectly marked as private, as this links shows:
android.googlesource.com/platform/bionic/+/6d142bcf34ffd49efaf4285bb2af63a1636706f9%5E!/
issuetracker.google.com/issues/37132297
What could we do? Could be a problem with ndk 16b on android 6?
Thanks
version: 8.0.0
minSDK: 21
targetSDK: 26
This selects android API 26 for compilation and target. I am using ndk 16b.
Everything goes OK, the app compiles and installs but fails at immediately on a device with Android 6.0 with error:
cannot locate symbol "__aeabi_atexit" (Its a loader error)
The app runs OK on a device with android 5.1.
The full error output on android 6.0 device is:
AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__aeabi_atexit" referenced by "/data/app/.../lib/arm/librhodes.so"...
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at java.lang.Runtime.loadLibrary(Runtime.java:372)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at java.lang.System.loadLibrary(System.java:1076)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at com.rhomobile.rhodes.NativeLibraries.load(NativeLibraries.java:8)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at com.rhomobile.rhodes.RhodesApplication.<clinit>(RhodesApplication.java:105)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at java.lang.Class.newInstance(Native Method)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at android.app.Instrumentation.newApplication(Instrumentation.java:997)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at android.app.Instrumentation.newApplication(Instrumentation.java:982)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at android.app.LoadedApk.makeApplication(LoadedApk.java:617)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4770)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at android.app.ActivityThread.access$1600(ActivityThread.java:157)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1417)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
11-09 17:17:16.405 22972 22972 E AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
Searching I found that is an error of Google on Android 6 version, some functions was incorrectly marked as private, as this links shows:
android.googlesource.com/platform/bionic/+/6d142bcf34ffd49efaf4285bb2af63a1636706f9%5E!/
issuetracker.google.com/issues/37132297
What could we do? Could be a problem with ndk 16b on android 6?
Thanks