What is Camera2 API?
First off, I have to say that I’m not a software expert at all so this comes from a layman’s point of view and I will – for obvious reasons – not dig too deep into the more technical aspects underneath the surface.
Now, what is an API? API stands for „application programming interface“. An operating system uses APIs to give (third party) developers tools and access to certain parts of the system to use them for their application. In reverse, this means that the maker of the operating system can also restrict access to certain parts of the system. To quote from Wikipedia: „In general terms, it is a set of clearly defined methods of communication between various software components. A good API makes it easier to develop a computer program by providing all the building blocks, which are then put together by the programmer.“ Now you know it.
Up to version 4.4 (KitKat) of Android, the standard API to access the camera functionality embedded in the OS was very limited. With version 5 (Lollipop), Google introduced the so-called Camera2 API to give camera app developers better access to more advanced controls of the camera, like manual exposure (ISO, shutter speed), focus, RAW capture etc. While the phone makers themselves are not necessarily fully dependent on Google’s new API, because they can customize their own version of the Android OS, third-party app developers are to a large extend – they can only work with the tools they are given.
Depending on the level of implementation, you can use those features in an advanced image capturing apps – or not. An app like Filmic Pro can only be installed if the Camera2 support level is at least ‚Full‘ – otherwise, you can only install the less feature-packed Filmic Plus. Lumio Cam, on the other hand, can be installed on most devices but you can only activate the pro mode with manual exposure and focus if the support level is at least ‚Full‘ again. So if you’re interested in using advanced third-party apps for capturing photos or recording video with manual exposure controls etc. you want to have a device that at least has ‚Full‘ Camera2 API support.
How To Enable Camera2 API?
- First Root the device either with TWRP, SuperSu or any other, whatever works fine with your device.
- Install ES File Explorer File Manager from Play Store
- Open the application and hit Menu, then tap “Settings”, this will bring you to the apps Settings Menu. Once in the Settings Menu, scroll all the way down to Root Settings. In Root Settings, “check” Root Explorer and Mount File System.
- Once that is done, go back to the main part of the app that shows all the folders. Go to Device’s Internal Storage. And then navigate to System, there you will find build.prop file. Be aware that there is also a file named build.prop.bak, don’t touch that file.
- In build.prop file, search for “persist.camera.HAL3.enabled=0” and replace with “persist.camera.HAL3.enabled=1“. Save and reboot the device.
That’s all You are all done!
You can whether you have done it right or not. Just install Manual Camera Compatibility app from Play Store and check.[appbox googleplay pl.vipek.camera2_compatibility_test]
Now you can install apps which support manual controls like exposure ,focus etc. some are given below:
You can get Google Camera for your device directly from XDA-Developers.[appbox googleplay com.camtechstudio.lumiocam] [appbox googleplay com.footjet.camera] [appbox googleplay com.flavionet.android.camera.pro] [appbox googleplay pl.vipek.camera2] [appbox googleplay com.riseupgames.proshot2] [appbox googleplay com.filmic.filmicpro]