Skip to content

anova-culinary/AndroidUSBCamera

 
 

Repository files navigation

AndroidUSBCamera - Building AAR Files

This repository contains the source code for building AndroidUSBCamera AAR files locally.

Prerequisites

  • Android SDK with NDK (version 24.0.8215888 recommended for compatibility)
  • CMake 3.22.1 or newer
  • Java 11 (Gradle 6.7.1 doesn't support Java 17+)

Setup

  1. Create a local.properties file in the project root:
sdk.dir=/path/to/your/Android/sdk
ndk.dir=/path/to/your/Android/sdk/ndk/24.0.8215888
cmake.dir=/path/to/your/Android/sdk/cmake/3.22.1
  1. Make sure gradlew is executable:
chmod +x gradlew

Build Commands

Build all AAR files:

JAVA_HOME=/path/to/java11 ./gradlew assembleRelease

Or build individual modules:

# Build libausbc AAR
JAVA_HOME=/path/to/java11 ./gradlew :libausbc:assembleRelease

# Build libuvc AAR
JAVA_HOME=/path/to/java11 ./gradlew :libuvc:assembleRelease

# Build libnative AAR
JAVA_HOME=/path/to/java11 ./gradlew :libnative:assembleRelease

Output Locations

After successful build, the AAR files will be located at:

  • libausbc/build/outputs/aar/libausbc-release.aar
  • libuvc/build/outputs/aar/libuvc-release.aar
  • libnative/build/outputs/aar/libnative-release.aar

Required AAR Files

All three AAR files are required for complete functionality:

  • libausbc: Main camera client library
  • libuvc: UVC camera native implementation
  • libnative: Native utilities (YUVUtils, MP3 encoding, etc.)

Notes

  • The build is configured for ARM architectures only (armeabi-v7a, arm64-v8a) to avoid PIC compilation issues with x86 architectures on newer NDK versions

About

Flexible and useful UVC camera engine on Android platform, supporting multi-road cameras!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 50.2%
  • Assembly 13.0%
  • C++ 7.9%
  • HTML 6.9%
  • Kotlin 5.4%
  • Shell 4.4%
  • Other 12.2%