How to Check Camera2 API Support on Android Devices

How to Check if your Android Device supports Camera2 API

Camera2 API is essential for Android devices in order to take full advantage of the camera features or use mods like the Google Camera Port or the Nokia Camera app. In this post, we will talk about what Camera2 API is, and also how to check Camera2 API Support on Android devices.

Smartphones have seen a great deal of evolution over the past few years. This includes evolution in terms of both hardware and software. When we speak of smartphone hardware, the first thing that comes to our mind is the camera section of the smartphone. It has become an unwritten rule for all smartphones to offer a powerful camera experience. To add further, the Android framework itself has evolved to be more powerful with a lot of scope for customization. This customization also applies to the smartphone camera.

Today one can mod the camera of any device. While reading about that you must have come across a particular term – “Camera2 API”. And this tutorial will help you check Camera2 API support on Android phones. Before we even get there, let us take a quick look at what the term actually means and how it affects an Android device.

Table of Contents

What is Camera2 API?

Camera2 in Android is an Application Programming Interface (API) that gives developers access to certain features of the phone’s camera via the software. It was first introduced by Google in Android 5.0 Lollipop, with the purpose to extend the camera quality by controlling aspects like the shutter speed (ISO), auto-focus, RAW Capture, etc.

With the support of this API, smartphone cameras can have access to various features and take full advantage of the camera sensor. This indicates technology like HDR or other such photography features can be available on smartphones. The Camera2 API also allows for much more fine-grained control of the sensor, lens, and flash per individual frame.

For more information about the API, you can also refer to the official Google documentation here.

How To Check Camera2 API Support on Android?

Now the question arises – how can you check if your Android device supports Camera2 API? Well, all you need to do is download a simple app called ‘Camera2 API probe’ from the Google Play Store and run it. The app gives detailed info about both the rear and front camera sensors of your Android phone. From that info, you can easily deduce whether your Android device supports Camera2 API or not.

The steps below will take you through the procedure in detail.

Step 1: Install the Camera2 API Probe App

By default, your phone’s stock camera app or any other section in the OS will inform you if the device supports the said API. So, we will be using a simple third-party application to check Camera2 API support on Android.

Check Camera2 API Support on Android - Install Camera2 API Probe App

After installing and reviewing almost every other app available for the purpose, we finally concluded that the Camera2 API Probe app by March Media Lab is the best. We also tested the app across different OEM devices with different Android OS versions and it laid off the correct results every time.

So, start by clicking on the download link below and install the app on your Android device via the Play Store.

Once the app is installed, you can easily use to it check Camera2 API support on your Android device. The next step will explain to you how to use the app and the information provided by it.

Step 2: Use the App to check Camera2 API Support

Here is an important part of the guide, so follow it carefully. After you install the Camera2 API Probe app, launch it by going to the app drawer. It will show you detailed information about camera hardware. It will also provide the info about the device and the current Android OS that’s running on it, under a seperate section.

In the app’s interface, you will see two or more sections depending on the number of camera lens your device has.  These sections are grouped by camera IDs, wherein “Camera ID: 0” represents the back/rear camera lens and “Camera ID: 1” and above represents the front/selfie camera lens.

Use the app to check camera2 API support on Android

Step 3: Different Support Levels of Camera2 API

Under each Camera ID, there will be a sub-category of various features and their support details. One such sub-category is the ‘Hardware Level Support Category‘, which shows the Camera2 API support level on your phone.

The support levels here refer to the type of API implementation that been done on a specific device. And according to the official documentation, there are four different support levels for Camera2 API and these are Level-3, Full, Limited, or Legacy. Below is the explanation for each of these support levels in layman terms:

  • Level-3 – The OEM of the device has added some additional features to the camera hardware including YUV reprocessing, RAW image capture, and more.
  • Full – The smartphone fully supports all major capabilities of the Camera2 API.
  • Limited – The phone supports only some of the features of Camera2 API.
  • Legacy – Your Android smartphone only supports the Camera1 API features. So, no support for Camera2 API.

NOTE: A green tick means the feature under the category is supported. A red cross denotes no support for the feature.

While some Android phones do support camera2 API, it often is disabled within the software by the device manufacturer. These include phones like the Xiaomi Mi A1, Xiaomi Mi A2/A2 Lite, etc. So, for such devices, you will need to enable the said API by rooting the phone.

So you have just learned what Camera2 API is and how to check Camera2 API support on Android devices. The information comes in handy while you’re trying to install third-party camera apps like the Google Camera Port on your device that might require its support. The API is an example of how much of a big role the software plays to work with the camera hardware on any Android device.

If you have any questions, please let us know via the comments below.

Comments

  1. Thank you for writing such an excellent article! I am new to all of this and recently replaced my Samsung Galaxy S7 Active with a Samsung Galaxy XCover Pro. I am really disappointed about it not having manual focus so I am trying to see if I can get that capability. I ran the Camera Probe app you suggested and it says the Hardware Support Level is Limited but the Manual Focus mode appears as green under the Focus modes. Would rooting the phone allow me to manually focus using one of the apps such as Footej Camera 2 or Open Camera? What additional steps would need to be taken after rooting the phone? I am looking at the article you linked for installing Magisk and will try to follow the steps if it is as simple as that!
    Thanks!

    1. Joe, I suggest you take a look at ZGCam and see if you could get manual focus working through it.

      As for the rooting part, I am afraid it isn’t that simple considering it’s a Samsung. Things are slightly different with it, and before anything else, you’d need to unlock the bootloader (if it is supported on the model).

      And even after rooting, I am not sure if there’s a mod/module that exists specifically for enabling manual focus. So, it’d still be hit-and-miss.

  2. Hello I have a Samsung Galaxy S10 and in Camera2 probe one of my back cameras (number 0) hardware support level is full and other two are limited as well as the front camera which is limited so can I have Gcam cuz i tried to download it but mostly crashes. Could you help me or send the one i can have?

    1. Edin, it’s crashing because GCam is primarily meant for devices with only Snapdragon chipsets. But there are exceptions of course. For instance, a lot of new devices nowadays with a MediaTek chipset support GCam via dedicated support from certain developers.

      And the good news is that Samsung Galaxy devices with the Exynos chipset also support it via a specific port called “ZGCam”. I suggest you visit the developer’s original website. On that website, you will find the download links, config files, installation instructions, and general tips.

      It’s been quite a while since I last tested GCam on my Galaxy S10e. I will surely give it a try at the same time. If you do find a more favorable and stable port of Google Camera for your Galaxy S10, consider sharing some details with me as well. Good luck!

    1. Aman, the Galaxy M01s uses a MediaTek SoC. I did some research but couldn’t find any Google Camera ports that might work on it.

      You might want to try out the GCam Go ports available on on the official GCam Hub.

    1. I am not very certain. Although you could try the camera2 API enable Magisk module once you have rooted your Galaxy A31. But my guess is that it still wouldn’t work.

      Samsung deliberately disabled full Camera2 API support on the Galaxy A series.

  3. Hello sir,
    By using the camera2api probe in my Vsmart joy 1 plus ( vietnam)
    It was ticked “Level 3”
    Can i change from “Level 3” to “full”?
    Help!

    1. Not actually. The support level stays the same as implemented by the OEM and depends on the available hardware. Level3 or full is generally what you’d want.

      My suggestion, don’t bother much about it. Only a handful of advanced camera features rely on full support.

    1. To fully utilize camera2 API, your phone needs to support level3 or full support.

      May I know which phone is it you’re using?

    1. Rajan, I do not have any knowledge of that. However, you can simply install the Camera2 API Probe app on your Vivo S1 and check what level of Camera2 API is supported.

  4. Hello sir,
    By using the camera2api probe in my Samsung galaxy m31
    It was ticked “LIMITED”
    Can i change from “limited” to “full”?
    Any ways to change to “full “ or “level 3” by not damaging the phone
    Plz do reply sir

    1. Akash, it might be possible to enable full camera2 API support using a Magisk module. It will require you to root your Galaxy M31.

  5. Does it support Huawei P40 Lite?
    I think it supports but not active.
    By the way, it writes limited only in the Camera 2 probe.

  6. Hi Dhananjay! Thank you for your explanations.

    Do you know if exists an updated list of phones supporting level_3 ?

    1. Hi Fab. I am not sure if there exists one.

      But, I can make one and publish it if you want. It would require a lot of in-depth research though but can be done.

    1. Dmitry, if you can get to root your Huawei Y9 Prime, it might just be possible to enable Camera2 API via a Magisk Module.

    1. Hi Ady, if it supports Level3 of Camera2 API, then maybe yes. I haven’t seen an assured method that will work, but we can try if you can get the stock boot image of the current build number installed on your Vivo V3 Max.

    2. Hi man, sorry for my bad English
      I have a Samsung Galaxy j7 2015 exynos, and the Camera2Api support is locked on Legacy
      Is it possible to change??

      Thanks

    3. Hi Regis. I don’t think many resources out there explain it very clearly.

      The thing is, camera2 API can only be enabled (via Magisk modules, ADB shell commands, etc) on Android devices that support it by design. That is, by the OEM itself.

      Let me explain this via an example. Say, the Mi A1 or the Mi A2/A2 Lite.

      These devices come with the API support directly from the manufacturer. But, it is disabled by the software. In such a case, it is possible to enable the support.

      But in the case of your device (Galaxy J7), the manufacturer doesn’t support it by design, and so, there’s nothing you can do to enable it via the software.

      I hope it is clear enough. If you have any questions, please let me know.

    4. Hi Kenneth. As the instructions show, please install the application from the Play Store and launch it to know. You can share the screenshots with me, and I can tell you as well. It’s quite easy.

  7. Hi! I have an old Samsung Galaxy A3 SM-A300FU. It has this ROM: https://forum.xda-developers.com/samsung-a-series/development/rom-sep-8-5-galaxy-a8-2018-rom-t3754851

    It is rooted with magisk. I want to install the GCam if it is possible.

    In Camera2 API app it has Legacy ticked.
    I ‘ve edited the built.prop with: persist.camera.HAL3.enabled=1
    and i flashed Camera2 API enabler with magisk, but nothing happend.
    However, when i run the command “getprop | grep camera” i get the result that says “[persist.camera.HAL3.enabled]: [1]”.

    The problem is that i cannot enable Level_3 support. Can you help me?
    Thanks in advance.

    1. Hi Spirsos. The command you ran will return the value because you have changed it. It doesn’t mean that your phone supports camera2 API.

      If the app above shows “Legacy”, it means that Camera2 API does not support your Galaxy A3, and it couldn’t be enabled by setting “persist.camera.HAL3.enabled” flag to “1” in build.prop. Level3 isn’t something that you can enable. It is something that the manufacturer embeds within the device.

    1. Yes, since it supports level 3 of Camera2 API, you can go ahead and install GCam port on your phone right away.

  8. Sir, my device is Huawei Y7 Prime 2018. It is Android 8.0. In my device, Camera API2 is supported. But I am still unable to download and install Gcam MOD app. I have tried a lot to install Android 8.0+ supporting version of Gcam MOD app but still in vain. Please guide me and thus resolve my issue.

    1. Hi. First off, let me know which level of Camera2 API does your phone supports? Also, let me know the exact GCam ports that you have already tried.

    2. How to install gcam in mi a2. After unlocking bootunloader, gcam can be installed or not?

    3. Hi Ankit. Once you have unlocked the bootloader, you will need to enable Camera2 API. You can do so either by permanently or temporarily rooting your phone. The latter will only root your phone until the next reboot, during which you can enable Camera2 API. The explanation and instructions for the same could be found here.

    1. Hi Florim. That depends. Some OEM devices do support Camera2 API, but it is natively disabled. For example, let’s take the case of the Xiaomi Mi A2 series and Xiaomi Mi A1. Both the phones support camera2 API, however, it is disabled in the software by default (for some unknown reasons).

      Let me know your device name, model number, the Android version it is on, and also the build number currently installed on it. This would allow me to help you further.

  9. What do you do then if your phone does not support the camera2API?
    Is there anything that can help you to install the camera2API

    1. Hi. It depends on the phone itself. Sometimes, manufacturers implement the API but don’t enable it. Like in case of the Mi A1, Mi A2, etc. In such a case, one can enable it with or without root.

      Let me know the device name, model number, and the Android version installed on it.

    2. I have asus zenfone max m2 with Android pie and showing green tick for ‘legacy ‘only .
      I should go with root ??

    3. Hi Praveen. As far as I know, you could do it without root, although I am not sure.

      The only method I could find was using a fastboot command. You could give it a try.

      1) First off, make sure that you download the latest Android SDK platform-tools package from here and extract it to a suitable location on your PC (Say, C:/platform-tools). This folder will contain all the platform tool binaries including adb.exe and fastboot.exe.
      2) Once done, boot your phone into Fastboot Mode and connect it to the PC.
      3) Execute the following command in PowerShell (Windows):
      .\fastboot devices
      4) If using macOS/Linux:
      ./fastboot devices
      5) It shall show the device ID. Which means your phone is properly being detected by fastboot.
      6) With everything set now, execute the following command in Windows PowerShell to enable Camera2 API:
      .\fastboot oem enable_camera_hal3 true
      7) Again, if you’re using Terminal on macOS/Linux, then the command would be:
      ./fastboot oem enable_camera_hal3 true
      8) Once done, reboot your phone using: fastboot devices

      When the phone boots, check for Camera2 API support again and let me know what’s the result.

    4. ” Hi. It depends on the phone itself. Sometimes, manufacturers implement the API but don’t enable it. Like in case of the Mi A1, Mi A2, etc. In such a case, one can enable it with or without root.

      Let me know the device name, model number, and the Android version installed on it. ”

      What is the way to Enable Mi A1 without root ?? How to enable the Camera2API in Mi A1 without root??
      As I have the Mi A1 but it is checked (ticked) under Legacy only.

    5. What are the risk of rooting ??
      Which category of the hardware support must checked (Green tick) in the camera2api so that it is support gcam ??

    6. In general, rooting compromises device security if you’re not careful. Magisk (compared to any other rooting solution in the past) does a very good job in obeying the core Android security system to prevent bad actors from trying to circumvent the device. So, the only thing you’d need to care for is not to install any untrusted root applications and grant them superuser permissions.

      That aside, in order for the Google Camera port to work, your device must support level3 or full support levels of the camera2 API.

      May I know which device you have? And what API level does it support?

  10. hi guys, gcam already installed on mi a2 V10.0.8.0.PDLMIXM. kind of a noob question here but: what if i do a factory reset or restore a backup copy from an older phone? do i have do this all over again to keep the gcam, if so any way to avoid it?

    thx for all the help, real nice job. First time doing this and worked just fine, still trying different camera ports tho

    1. Hi Leo. By “backup copy” do you mean the Nandroid Backup taken via TWRP?

      The theory is simple. The commands that we use modify some properties in the /system partition. If, while restoring the stock firmware, flashing a custom ROM, etc overwrites the said partition, the changes will be lost and will need to be repeated.

      As for the factory reset, I don’t think that will revert the API status, but will definitely remove the GCam Port, like any other app that you might have installed on the phone.

    2. Hello, I Use a Gionee A1 Plus.
      Checked the API probe & it’s got Full support.
      So, could you Recommend me a Gcam version?.
      The Android is 7.0.
      .
      And i couldn’t really find any Custom Roms for my Phone, if u have any Idea or Actually find a Stable fully working custom rom, it’d be great of u could reply with the Link.
      Thanks. ✌️

    3. Hi. I too tried searching, but couldn’t find a custom ROM. Also, only GCam 4+ ports are compatible with Android Nougat, not entirely sure for Nougat 7.0. You can find the most stable versions of GCam 4 from here.

    1. Hi Niket. Apologies for the late response. Yes, you can enable it. If you have already done it, then that’s great. If not, then let me know.

  11. Hello, your write-up has greatly benefited me because i haven’t been able to install 3 different modded version Google Camera from XDA developer on My Nokia 6.1.plus ( X6 chinese version) which has got me worried. At least, I know it is level 3 camera Api enabled, that’s a relief.
    Can you please help me on how I can? When I try to install the mods, the phone only blink and nothing happens after. Please help me, what could be wrong?

    1. Jide, were you successful in finding a suitable GCam port for your Nokia 6.1 Plus? If not, let me know. I can try and research that bit for you.

    1. Depending on what phone you have, you will have to look up a Google Camera Port. I do have a collection of GCam ports for various OEM Android devices here.

      If you do not see your phone in that collection, let me know. I will find and add it (if it exists).

  12. Hi, thanks for the post. I am flashing the patched_boot_10.0.5.0_mi_a1 .img on the february security patch version, but it doesn’t give the su privileges . Does anyone else have the same problem ?

    1. Hi Michael. Once you temporarily boot (Not permanently flash) the patched boot image, do you see Magisk Manager in the app drawer?

    2. Hello, thanks for the reply. I haven’t seen it, i was looking especially for it, but after trying about 5-10 times and not seeing it even once i’ve quit.

    3. I’ve tried again today, without making any changes, and it worked flawlessy (notee: magisk manager asked me to update to the latest version)
      Thank you for your amazing work!
      Cheers

    1. Hi Nigel. Your phone supports all major features of the Camera2 API. But it may exclude RAW image capture support. Full reference can be found here

    1. Hi Uday. What’s ticked green under “Hardware Level Support Category”?

    1. Hi, I am afraid that you’re stuck with it. The level of API implementation is directly from the manufacturer. According to Google’s resources, the ‘Limited’ level supports some Camera2 API capabilities (but not all). You should be able to install mods such as the Google Camera Port, but not all the features will work.

    2. Hi Tonmoy. Yes, it will work considering that you use the right GCam port for your phone.

    1. If your phone has Camera2 API enabled-by-default, then would you please consider dropping which phone is it? I am preparing a list of Android phones that come with the API enabled.

    2. Hi Shakaib! Thanks for dropping in your device name and the support level. Once I have grabbed enough devices, I will be putting the list in the above post. Thanks again.

    3. Redmi 5 plus is same as redmi note 5 in india right
      My phone has no lvl 3 ticked
      It has legacy ticked
      why

    4. It seems like the Redmi 5/5 Plus does not support camera2 API natively via the software. You can enable it though. If you want, I could publish a tutorial on it?

Leave a Reply

Your email address will not be published. Required fields are marked *