How to build OpenAL-Soft and set up it in Qt Creator for Android
-
I tried to build OpenAL-Soft for Android but I have these errors: https://github.com/DJLink/android-openal-soft/issues/1
E:\Libs\open-soft-android\android-openal-soft-master\jni>ndk-build
fcntl(): Bad file descriptor
Android NDK: The armeabi ABI is no longer supported. Use armeabi-v7a.
Android NDK: NDK Application 'local' targets unknown ABI(s): armeabi
Android NDK: Please fix the APP_ABI definition in E:/Libs/open-soft-android/android-openal-soft-master/jni/Application.mk E:/AppData/Android/SDK/ndk/22.1.7171670/build//../build/core/setup-app.mk:76: *** Android NDK: Aborting . Stop. -
@8Observer8 You need to show the picture of Tools->Options->Devices->Android
-
@8Observer8 what is your targeted android version(s)?
-
I added Bullet Physics to the project using sources. It works for emulator and for smartphone too:
-
@8Observer8
from here:
https://developer.android.com/build/jdks14 (API 34) 17 Core libraries
13 (API 33) 11 Core libraries
12 (API 32) 11 Java API
11 and lower Android versions=============================
your JDK version should be 11, not 17 for Android 7.
Still Android 7? I guess most Android phones have version 12 or 13 now. -
@JoeCFD said in How to install OpenAL-Soft for Android in Qt Creator by copying OpenAL-Soft sources into a project:
Still Android 7?
I have Redmi 4x with Android 7
-
@8Observer8 That is very old. Then your JDK version is wrong at the first place.
-
Android NDK: The armeabi ABI is no longer supported. Use armeabi-v7a.
I use
armeabi-v7a
when I build for smartphone (and x86_64 - for emulator) but how to usearmeabi-v7a
when I build from the console? It will be good to have at lease a library for smartphone. -
@8Observer8 show Projects->Build(Android)->Build Settings
click qmake "Details" button under Build Steps. You will see options for ABIs on QtCreator 11.0.1(comes with Qt-5.15.2)
I use arm64-v8a and my JDK version is 11. My target Android versions are 12/13. -
@8Observer8 I guess you have a different version of qt creator. I do not know yours.
-
@8Observer8 You build OpenAL-Soft for Android 7. I did not say it does not support Android 7.
Instead you need JDK 11 to build C++ apps for Android 7. But in your settings, JDK 17 is used. -
@JoeCFD said in How to install OpenAL-Soft for Android in Qt Creator by copying OpenAL-Soft sources into a project:
Instead you need JDK 11 to build C++ apps for Android 7. But in your settings, JDK 17 is used.
I tried to run apps with Box2D and Bullet Physics on real smartphone Redmi 4x with Android 7. I use JDK 17 and it works. I tried to run an example with QMediaPlayer on my smartphone and it plays music. I think I found a solution. I should try to use Bass Audio Library for 3D sounds on Android. It's is too difficult to add OpenAL-Soft directly with sources. Now I know this information:
Note that OpenAL is LGPL-licensed. Which means you need to release the source to your application if you make it part of your application.
-
@8Observer8 Great it works for you with JDK 17. You can still build OpenAL-Soft to dynamic lib and add it to your app for Android. It does not violate LGPL-license.
-
@JoeCFD what do you think about this? https://github.com/AerialX/openal-soft-android How to build it?
-
Does anyone have compiled libraries (.so) of OpenAL-Soft for Android? I mean
armeabi-v7a
andx86_64
. I can't find step by step instructions. -
@8Observer8 you may need to change CMakefile or create a pro file for Android. And build it for Android. It is just another project.