Skip to content
Encode AAC files in Android
Java C Assembly Other
Latest commit 06f07c4 Jan 29, 2015 @timsu Update

Android AAC Encoder project

Extraction of Android Stagefright VO AAC encoder with a nice Java API.

In addition, includes a patched MP4Parser Java library for wrapping AAC files in an MP4 container to produce M4A audio files playable by Google Chrome and Apple QuickTime.

This project is set up as a single Eclipse project with a example activity. AAC encoding logic is found in jni/aac-enc.c, which needs to be built with the Android NDK. I used NDK r7c, but any version should work.

For more information, check out the original blog article.


  • smaller code footprint than FFmpeg (< 500k compared to > 2M)
  • less native code to compile = less work to support new architectures
  • easiest way to make an M4A file


This project is released under the Apache License, version 2


This project grants you no rights to any of the patents this technology may require. However, since Android version 4.0 and up ship with the Stagefright VO AAC encoder, it is my understanding that you can release code that depends on these libraries for any version of Android. Please note that I am not a lawyer.

Have changes?

Pull requests are accepted!

Something went wrong with that request. Please try again.