SoLoader is a native code loader for Android. It takes care of unpacking your native libraries and recursively loads dependencies on Android API 23 and earlier, since those old OS versions do not support all of that functionality out of box.
SoLoader is useful for applications running on Android API 23 and earlier. SoLoader should not be used on Android API 24 and above unless the app is delivered as Exopackage, requires Android Native Library Merging or uses Superpack compression.
You can use prebuilt aars
or fetch SoLoader from Maven repository by adding the following to your
build.gradle file:
implementation 'com.facebook.soloader:soloader:0.13.0+'To build the Android library and its two Java dependencies with Gradle, install the Android SDK and JDK 17, then run:
./gradlew :soloader:assembleDebug :annotation:jar :nativeloader:jarThe AAR is written to soloader/build/outputs/aar/, and the annotation and
nativeloader JARs to their respective build/libs/ directories.
Run ./gradlew publishToMavenLocal to publish all three artifacts to your local
Maven repository, using the version from the artifacts/ configuration files.
The published class files target Java 7, matching earlier SoLoader releases.
The existing Buck build is also available. Once you have Buck installed, run the following commands from the project root directory:
buck fetch //...
buck build :soloaderThe build command generates buck-out/gen/soloader.aar file.
Please use our issues page to let us know of any problems. See the CONTRIBUTING file for how to help out.
SoLoader is Apache-2.0-licensed.