If this is of any help to the Java/Library developers, I have a link to OBB Tutorials:
Android Development: APK Expansion Files in Android with Example
From what I am understanding from all the tutorials I read, there is a process:
1) Android attempts to download the expansion files. You can have up to two expansion files which are 2gb in size, max. The expansion files are OBB files, which are basically zips.
2) Your app needs to be able to locate the OBB files. If it cannot locate them, then it will need to download it from the google servers using an encryption key hash, which you wont get until you upload the expansion files first anyway.
3) Once you have determined that the OBB Files have been downloaded, you need to either use them as is, or extract them.
So from what I am gathering then, you would need a library that would work something like this:
DIM DLexp as OBBPackageManager
If DLexp.checkobb1 = true & DLexp.checkobb2 = true Then 'Checks if Expansion file one and two are downoaded
DLexp.ExtractContents(File.DirRootExternal) 'Extracts them to the location of your choice.
Else
DLexp.DLOBB1 'Download Expansion 1
DLexp.DLOBB2 'Then 2
End If
Going down to where it detects that the file has been downloaded...
Sub OBBDLFinish (OBBJob as OBBPackageManager)
If OBBJob.DLBothSuccess = true Then 'If both files were downloaded successfully.
DLexp.ExtractContents(File.DirRootExternal)
End If
End Sub
Once the files are extracted:
Sub OBBExtractFinish
DO WHATEVER...
End Sub
Hopefully this is a good starting point for motivation. I don't know. But I desperately need this turned into a library so that we can start putting expansion files with our apps.