Documentation

​
​

Development

User Acquisition

Monetization

Industry

Vivox Core SDK

Vivox Core SDK

Vivox
​
​
Vivox Core SDK
  • Overview
  • Before you begin
  • Get started
  • Release notes
  • Developer Guide
    • Client SDK basics
    • Channels
    • Presence management
    • Messaging
    • Manage audio
    • Couch co-op
    • Android app development
      • Bluetooth profile management
      • Android SDK permission requirements
      • Android library requirements
      • Initialize Vivox Android services
      • Android speakerphone audio: Mono or stereo
      • Update the ProGuard rule file
      • Smart Platform Audio Management
      • Acoustic echo cancellation
      • Disable the Vivox SDK internal AEC
      • Hardware echo cancellation
      • Absolute paths for native libraries
      • Reduce Opus CPU load on low-powered Android devices
    • iOS app development
    • macOS app development
    • Windows app development
    • Real-time recording
    • Speech-to-text audio transcription
    • Text-to-speech
    • Troubleshooting
  • Reference
  • Privacy overview
  1. Vivox Core SDK documentation
  2. Android app development

Absolute paths for native libraries

Information on how to store native libraries out of the APK.
Read time 1 minute
Last updated 8 months ago

If you plan to split up your Android application to reduce the initial download size, then you are probably looking to use Android App Bundles with Play Feature Delivery or APK Expansion Files (OBB). For more information, see the Android developer documentation on Play Feature Delivery and APK Expansion Files.
When using Play Feature Delivery or APK Expansion Files, you can choose to store some native libraries outside of the APK. To do this, you need to provide absolute paths to those native libraries.
For example, if
libvivox-sdk.so
is stored outside of the APK, specify this by calling a
JNIHelpers.init(...)
function that accepts the
vivoxLibraryPath
parameter:
JNIHelpers.init("/the/absolute/path/to/libvivox-sdk.so", context)
After
vivox-sdk
is loaded, any additional libraries that you specify to load through
JNIHelpers.init(..., String[] libs)
work based on whether they are an absolute path:
  • If the library string is an absolute path (which typically means that the path starts with / on Android), then
    System.load(...)
    is used to load the library from that absolute path.
  • If the library string is not an absolute path (the path does not start with / on Android), then it is assumed to be a library name without the
    lib
    prefix or the
    .so
    ending, and is used with
    System.loadLibrary(...)
    to load the library.

Copyright © 2026 Unity Technologies
LegalPrivacy PolicyCookiesDocumentation Terms of UseDo Not Sell or Share My Personal InformationYour Privacy Choices (Cookie Settings)

"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S and elsewhere (more info here). Other names or brands are trademarks of their respective owners.

Some pages are machine-translated for convenience, and may contain inaccuracies. In the event of conflicting information, the English version is authoritative.


    Report a problem with this page