Reputation: 10360
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_modules\react-native-keychain\android\src\main\java\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_modules\react-native-keychain\android\src\main\java\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.
Tried a few times with installation and the error is the same. The modules has been used in other app before and the error may be related to the recent update of the module. 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"
Upvotes: 3
Views: 4316
Reputation: 1
This might be due to the react native keychain version as well ..
I am also facing issues with the latest version - 9.2.2
But than I installed - 8.2.0 version , and after that it installed without any issues .
Upvotes: 0
Reputation: 128
A senior dev advised me to do this: "I see, react-native-keychain is using lambdas which are available from java 8 upwards. We should tell it to use java 8 . Add this block"
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
in node_modules/react-native-keychain/android/build.gradle add as shown below.
Upvotes: 3
Reputation: 10360
Bumped up the SDK version from 28 to 29 in build.gradle seems working. Here is the file after change:
buildToolsVersion = "29.0.3"
minSdkVersion = 16
compileSdkVersion = 29
targetSdkVersion = 29
Upvotes: 15