Galaxy Note 8 - couldn't find "liblua.so"

I installed my app to Galaxy Note 8(Android 7.1.1, API 25) through Android Studio with Corona [prev. enterprise]. And it throws error below.


E/AndroidRuntime: FATAL EXCEPTION: main

                                                                        Process: com.wonhada.korea, PID: 9407

                                                                        java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/com.wonhada.korea-2/base.apk”, zip file “/data/app/com.wonhada.korea-2/split_lib_dependencies_apk.apk”, zip file “/data/app/com.wonhada.korea-2/split_lib_slice_0_apk.apk”, zip file “/data/app/com.wonhada.korea-2/split_lib_slice_1_apk.apk”, zip file “/data/app/com.wonhada.korea-2/split_lib_slice_2_apk.apk”, zip file “/data/app/com.wonhada.korea-2/split_lib_slice_3_apk.apk”, zip file “/data/app/com.wonhada.korea-2/split_lib_slice_4_apk.apk”, zip file “/data/app/com.wonhada.korea-2/split_lib_slice_5_apk.apk”, zip file “/data/app/com.wonhada.korea-2/split_lib_slice_6_apk.apk”, zip file “/data/app/com.wonhada.korea-2/split_lib_slice_7_apk.apk”, zip file “/data/app/com.wonhada.korea-2/split_lib_slice_8_apk.apk”, zip file “/data/app/com.wonhada.korea-2/split_lib_slice_9_apk.apk”],nativeLibraryDirectories=[/data/app/com.wonhada.korea-2/lib/arm64, /data/app/com.wonhada.korea-2/base.apk!/lib/arm64-v8a, /data/app/com.wonhada.korea-2/split_lib_dependencies_apk.apk!/lib/arm64-v8a, /data/app/com.wonhada.korea-2/split_lib_slice_0_apk.apk!/lib/arm64-v8a, /data/app/com.wonhada.korea-2/split_lib_slice_1_apk.apk!/lib/arm64-v8a, /data/app/com.wonhada.korea-2/split_lib_slice_2_apk.apk!/lib/arm64-v8a, /data/app/com.wonhada.korea-2/split_lib_slice_3_apk.apk!/lib/arm64-v8a, /data/app/com.wonhada.korea-2/split_lib_slice_4_apk.apk!/lib/arm64-v8a, /data/app/com.wonhada.korea-2/split_lib_slice_5_apk.apk!/lib/arm64-v8a, /data/app/com.wonhada.korea-2/split_lib_slice_6_apk.apk!/lib/arm64-v8a, /data/app/com.wonhada.korea-2/split_lib_slice_7_apk.apk!/lib/arm64-v8a, /data/app/com.wonhada.korea-2/split_lib_slice_8_apk.apk!/lib/arm64-v8a, /data/app/com.wonhada.korea-2/split_lib_slice_9_apk.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]] couldn’t find “liblua.so”

                                                                            at java.lang.Runtime.loadLibrary0(Runtime.java:984)

                                                                            at java.lang.System.loadLibrary(System.java:1567)

                                                                            at com.ansca.corona.JavaToNativeShim.<clinit>(JavaToNativeShim.java:115)

                                                                            at com.ansca.corona.JavaToNativeShim.useJavaLuaErrorHandler(JavaToNativeShim.java:261)

                                                                            at com.ansca.corona.CoronaEnvironment.setLuaErrorHandler(CoronaEnvironment.java:391)

                                                                            at com.ansca.corona.CoronaEnvironment.<clinit>(CoronaEnvironment.java:50)

                                                                            at com.ansca.corona.CoronaEnvironment.addRuntimeListener(CoronaEnvironment.java:434)

                                                                            at com.wonhada.korea.CoronaApplication.onCreate(CoronaApplication.java:30)

                                                                            at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1032)

                                                                            at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6017)

                                                                            at android.app.ActivityThread.-wrap3(ActivityThread.java)

                                                                            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1727)

                                                                            at android.os.Handler.dispatchMessage(Handler.java:102)

                                                                            at android.os.Looper.loop(Looper.java:154)

                                                                            at android.app.ActivityThread.main(ActivityThread.java:6823)

                                                                            at java.lang.reflect.Method.invoke(Native Method)

                                                                            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1557)

                                                                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)


It seems to have found the cause. I build JNI with NDK. This causes an error. But I could not find a solution. Most other devices do not generate an error, but the latest device, ‘Note 8’, only generates an error. Is there a way to solve it quickly?

How can I fix them below? I wanna make the arm-v8a.

Error:(81) Android NDK: Application targets deprecated ABI(s): armeabi    

Error:(82) Android NDK: Support for these ABIs will be removed in a future NDK release.    

Error:(81) Android NDK: Application targets deprecated ABI(s): mips    

Error:(81) Android NDK: Application targets deprecated ABI(s): mips64    

Error:(82) Android NDK: Support for these ABIs will be removed in a future NDK release.    

Error:(81) Android NDK: Application targets deprecated ABI(s): armeabi    

Error:(82) Android NDK: Support for these ABIs will be removed in a future NDK release.    

Error:(81) Android NDK: Application targets deprecated ABI(s): mips    

Error:(82) Android NDK: Support for these ABIs will be removed in a future NDK release.    

Error:(81) Android NDK: Application targets deprecated ABI(s): mips64    

Error:(82) Android NDK: Support for these ABIs will be removed in a future NDK release.    

How can I get the arm64-v8a?

We do not currently support arm64 or x86 ABIs. Does this happen when you’re building with Corona Simulator, or only with Native?

It happens only with native build. using Android Studio.

I need arm64-v8a for Galaxy Note 8(Android 7.1.1, API 25).

Thank you. (-:

I’m not an android pro, but I think you can use older NDK, it would work then without issues… I am not sure how to do that exactly, though.

I used NDK r15c and latest version. But it doesn’t work.

I must fix it. Please help me.

Do you think it will be able to fix if I use Corona Cards?

Our game needs to support arm64-v8a for Galaxy Note 8(Android 7.1.1, API 25).

It will be good for other Corona users. Please help us. (-:

We would look into supporting arm64, but it wouldn’t happen soon. I suggest for you you downgrade to older ndk, like, really older. Like r10d. I know it is inconvenience, but that way it would work if you want to get it fast

All failed. :frowning:

Can I get the liblua.so 64bit?

This is a very important issue.

My app is with famous celebrities like BTS. As expected, millions of people will use it. This is really really TRUE!! Others wanted to create a Native App, but I insisted on using Corona. I am confident that the app I create will have a huge impact on Corona.

I expect your support. I have no time. I have to finish the work quickly.

I understand your request, but problem is that we do not currently have arm64-v8a binaries to give you. It takes time to port everything to arm64-v8a. Also, do you experience same issues when using Corona Simulator for builds? Do you need Corona Native for your project? Can you explain how you’re using Corona Native features, may be you can use Simulator to make builds right now than wait some time while we’re looking into making arm64-v8a? Because it wouldn’t be fast…

Please, explain what features of Corona Native are you using, and why you can not use Corona Simulator. Because as far as I know, Simulator builds work fine everywhere.

OK. I use a native library through JNI on Android. The library is libimagequant. (https://pngquant.org/lib/)

My Xcode project is well to build. I can’t use the basic build through Corona Simulator. It doesn’t support JNI and NDK, does it?

I’ve been trusting your team. So I believe your team will solve this problem. Thank you. (-:

When you need a specific library like this, you would use native builds and not simulator builds. The only way to do simulator builds would be to make a plugin and either a) submit it to the Marketplace for everyone to use or ​b ) purchase the Advanced Support Package to get our self-hosted plugins feature. At that point, you can include your plugin in your build.settings and do simulator builds.

Rob

We have a variety of native plugins built with JNI, like zip and bit plugins. We are using them in Corona without any problems. Would you consider building yourself a binary libimagequant with older NDK as a native plugin? Like, you can make it work right now, without waiting for us to make arm64 binaries for you, and it would be any time soon. Would you like help with that?
 

You have several ways of solving your issue, and waiting for arm64 binaries would be by far the slowest one, I can’t even promise we would deliver arm64 just for you in next month.

P.S. to be honest, I won’t promise that we even would do it.

To add to what Rob wrote - can you run Native/Project Template/App as it is on your Note 8 device? I’m pretty sure answer is “yes”.

Then, you can copy your native .so library (arm7 arch) into “app/src/main/jniLibs/armeabi-v7a” and you now can use it.

Idea is to build libimagequant and it’s API separately. This seems to be possible to do without having to wait months for us to deliver arm64, if we commit to that.

I did it, too. But it doesn’t work.

It shows an error ‘Don’t find method’.

Lets fix that! Can you provide more details on that error?