react-native-keychain version 3.1.1 compileDebugJavaWithJavac FAILED

Created on 14 Feb 2019  路  16Comments  路  Source: oblador/react-native-keychain

When I building projet, throw this error. How can solve this?

> Task :react-native-keychain:compileDebugJavaWithJavac FAILED
node_modules/react-native-keychain/android/src/main/java/com/oblador/keychain/cipherSt
orage/CipherStorageKeystoreAESCBC.java:28: error: cannot find symbol
import android.security.keystore.StrongBoxUnavailableException;
                                ^
  symbol:   class StrongBoxUnavailableException
  location: package android.security.keystore
node_modules/react-native-keychain/android/src/main/java/com/oblador/keychain/cipherStorage/CipherStorageKeystoreAESCBC.java:266: error: cannot find symbol
    @TargetApi(Build.VERSION_CODES.P)
                                  ^
  symbol:   variable P
  location: class VERSION_CODES
node_modules/react-native-keychain/android/src/main/java/com/oblador/keychain/cipherStorage/CipherStorageKeystoreAESCBC.java:270: error: cannot find symbol
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P) {
                                                       ^
  symbol:   variable P
  location: class VERSION_CODES
node_modules/react-native-keychain/android/src/main/java/com/oblador/keychain/cipherStorage/CipherStorageKeystoreAESCBC.java:274: error: cannot find symbol
            return generateKey(getKeyGenSpecBuilder(service).setIsStrongBoxBacked(true).build());
                                                            ^
  symbol:   method setIsStrongBoxBacked(boolean)
  location: class Builder
node_modules/react-native-keychain/android/src/main/java/com/oblador/keychain/cipherStorage/CipherStorageKeystoreAESCBC.java:275: error: cannot find symbol
        } catch (StrongBoxUnavailableException e) {
                 ^
  symbol:   class StrongBoxUnavailableException
  location: class CipherStorageKeystoreAESCBC
5 errors


System:
OS: macOS 10.14.1
Shell: 3.2.57 - /bin/bash
Binaries:
Yarn: 1.13.0 - /usr/local/bin/yarn
npmPackages:
react: 16.6.3 => 16.6.3
react-native: 0.57.8 => 0.57.8

Most helpful comment

@vdpdev @burhanyilmaz what version of Android SDK do you use? build.gradle of your app (android/app/build.gradle)? Does changing it compileSdkVersion 28 help?

All 16 comments

I have the same issue

@vdpdev @burhanyilmaz what version of Android SDK do you use? build.gradle of your app (android/app/build.gradle)? Does changing it compileSdkVersion 28 help?

@vdpdev if you want to use "react-native-keychain": "3.0.0", there is no problem. Bu using 3.1.0 or 3.1.1, there is problem

@mandrigin
Version of react-native-keychain, i'm using, is

react-native-keychain@^3.0.0-rc.3:
  version "3.0.0"

compileSdkVersion is 27
buildToolsVersion is 27.0.3

@mandrigin
I've tried to increase compileSdkVersion from 27 to 28 and it helped
Thanks!

Thanks @mandrigin :) it is work. My compileSdkVersion was 27

For those who lands here from Google search, the solution is here: https://github.com/oblador/react-native-keychain/issues/193#issuecomment-463599455

Hello there. I've got same problem on my project and (@mandrigin) your solution worked perfectly but do you have any explanation on why we had to increase compileSdkVersion to 28 ?
Thanks in advance

@Thebarda if you don't want to increase compileSdkVersion to 28 you can set react-native-keychain strict to 3.0.0 like this "react-native-keychain": "3.0.0",
This way is worked for me with compileSdkVersion = 27

Thank you @vdpdev it works aswell. It's strange, when I got this error I was sure to have "react-native-keychain": "3.0.0" and compileSdkVersion = 27. So, nevermind ^^

@Thebarda the new version of react-native-keychain supports what is called "strongbox" for better encryption keys storage, it requires API level 28: https://proandroiddev.com/android-keystore-what-is-the-difference-between-strongbox-and-hardware-backed-keys-4c276ea78fd0?gi=9b63fdc7e1e2

Very nice @mandrigin . "StrongBox" seems to be a good improvement for keys storage !

I had this config but the project was cannot be compiled

ext {
        buildToolsVersion = "28.0.3"
        minSdkVersion = 16
        compileSdkVersion = 28
        targetSdkVersion = 28
    }

After I changed to this config my project have been compiled

    ext {
        buildToolsVersion = "29.0.3"
        minSdkVersion = 16
        compileSdkVersion = 29
        targetSdkVersion = 29
    }

file android/build.gradle

@ksetrin I just installed version 6.1.1 and I also needed to set the SDK version to 29.

    buildToolsVersion = "29.0.3"
    minSdkVersion = 16
    compileSdkVersion = 29
    targetSdkVersion = 29

This worked for me.

I had this config but the project was cannot be compiled

ext {
        buildToolsVersion = "28.0.3"
        minSdkVersion = 16
        compileSdkVersion = 28
        targetSdkVersion = 28
    }

After I changed to this config my project have been compiled

    ext {
        buildToolsVersion = "29.0.3"
        minSdkVersion = 16
        compileSdkVersion = 29
        targetSdkVersion = 29
    }

file android/build.gradle

Same here, this worked perfectly!

Was this page helpful?
0 / 5 - 0 ratings