React-native-keychain: Compilation error: cannot find symbol return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_FACE);

Created on 16 Jun 2020  路  6Comments  路  Source: oblador/react-native-keychain

This is a new installation on a RN 0.62.2 and Nodejs 12.18.0. After yarn add react-native-keychain, the app launch of npx react-native run-android failed with the error:

error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup. Run CLI with --verbose flag for more details.
Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081
C:\D\code\js\xyz_app\node_modulesreact-native-keychain\android\src\mainjava\com\oblador\keychain\DeviceAvailability.java:30: error: cannot find symbol
return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_FACE);
^
symbol: variable FEATURE_FACE
location: class PackageManager
C:\D\code\js\xyz_app\node_modulesreact-native-keychain\android\src\mainjava\com\oblador\keychain\DeviceAvailability.java:34: error: cannot find symbol
return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_IRIS);
^
symbol: variable FEATURE_IRIS
location: class PackageManager
2 errors

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':react-native-keychain:compileDebugJavaWithJavac'.
    > Compilation failed; see the compiler error output for details.

The OS is win10. react-native-keychain is 6.1.1. Here is the package.json:

"@react-native-community/masked-view": "^0.1.10",
"@react-navigation/native": "^5.5.1",
"@react-navigation/stack": "^5.5.1",
"react": "16.11.0",
"react-native": "0.62.2",
"react-native-device-info": "^5.6.1",
"react-native-elements": "^2.0.2",
"react-native-gesture-handler": "^1.6.1",
"react-native-keychain": "^6.1.1",
"react-native-reanimated": "^1.9.0",
"react-native-safe-area-context": "^3.0.5",
"react-native-screens": "^2.8.0",
"react-native-vector-icons": "^6.6.0"

Most helpful comment

Changed to 29 in above seems working.

All 6 comments

compileSdkVersion = 28

Changed to 29 in above seems working.

Changed to 29 in above seems working.

I have changes it already in my build.gradle file. But still the same error is coming.

Any luck with this? I am using API version 30 and have tried on version 29 with no success.

Add to the last (after allprojects) android/build.gradle will work

allprojects {
  ...
}

subprojects {
    afterEvaluate {
        project ->
            if (project.hasProperty("android")) {
                android {
                    compileSdkVersion = 29
                    buildToolsVersion = "29.0.3"
                }
            }
    }
}

Can confirm, @sieuhuflit solution works after updating to RN 0.64.0

Was this page helpful?
0 / 5 - 0 ratings