The objects in this prebuilt directory can be rebuilt
using the source archive

commons-compress-1.0-bin.zip

hosted at <http://android.kernel.org/pub/>.
