I, too, am unaware of a device-based OCR solution for Android, so one of the cloud-based ones may be your only choice.
And what formats do OpenCV and/or tesseract accept and how do I read them in java?
I'm not sure what you're asking - they work with images. The camera hands you an image as a byte array, which you can convert to a BitMap. From there on it should be relatively easy to create an image in whichever format you need for further processing.