EDIT: So, for Android 4.0 and above, there is setAutoExposureLock(boolean) , which should work for what you need. It does not allow you to set the exposure yourself, but after determining the exposure, you can fix it in the current exposure. However, you need to protect it when checking isAutoExposureLockSupported() to make sure the device supports this function.
To get the same actual exposure every time, you will need to set a fixed ISO, shutter speed and aperture. As you said, exposure compensation only shifts from the measured exposure, which the camera automatically determines. As far as I know, there is no built-in way to set ISO, shutter speed or aperture value in Android.
kcoppock
source share