disusered / cordova-safe

File encryption for Cordova.
MIT License
35 stars 22 forks source link

package com.facebook.android.crypto.keychain does not exist #22

Open thiraj opened 6 years ago

thiraj commented 6 years ago

After install plugin Ionic 3 app cannot run. it getting error

Error: cmd: Command failed with exit code 1 Error output: G:\Android\TestProject\platforms\android\src\com\disusered\Safe.java:26: error: package com.facebook.android.crypto.keychain does not exist import com.facebook.android.crypto.keychain.SharedPrefsBackedKeyChain; ^ G:\Android\TestProject\platforms\android\src\com\disusered\Safe.java:120: error: cannot find symbol CRYPTO = new Crypto(new SharedPrefsBackedKeyChain(CONTEXT), new SystemNativeCryptoLibrary()); ^ symbol: class SharedPrefsBackedKeyChain location: class Safe Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: G:\Android\TestProject\platforms\android\src\org\apache\cordova\file\AssetFilesystem.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 2 errors

FAILURE: Build failed with an exception.

juthawong commented 6 years ago

Hi Thiraj , I fork this project and found that this error from Original Facebook Conceal Gradle.

After Update The Version Number , The Code is back working again!

:+1: :+1: :trophy:

govind38 commented 6 years ago

Hi juthawong ,

Can you please mention which version in which file did u change?

abhishekSDEI commented 6 years ago

Hi @juthawong Can you please mention in which file you made the change. Also what did you change?

juthawong commented 6 years ago

Hello @abhishekSDEI , @govind38 .

Sorry , I just open my Github.

Just update conceal.gradle file to 1.1.2 or 1.1.3.

Here is the references : https://github.com/juthawong/cordova-safe/blob/master/src/android/conceal.gradle

I tested it on Cordova 6.4.0 and it works!.

Thanks.

P.s. I also submitting pull request for the awesome project owner for review because he is a creator and he knows best.

abhishekSDEI commented 6 years ago

Hello @juthawong

Thanks for the quick reply.

Unfortunately it didn't fix my issue. I updated the conceal.gradle file to both 1.1.2 & 1.1.3 but neither fixed my issue. :(

dirk-theshiftleft commented 6 years ago

In case it helps, I got mine working in ionic 3 after downgrading cordova

npm uninstall cordova
npm install -g cordova@7.1.0
thiraj commented 6 years ago

@juthawong

Thanks for reply. But I had to release app without that feature. Anyway now I can use in future.

BDominik commented 5 years ago

I'm using cordova 7.1.0 and still get this error: C:\www\cordova-plugins\platforms\android\app\src\main\java\com\disusered\Safe.java:26: error: package com.facebook.android.crypto.keychain does not exist import com.facebook.android.crypto.keychain.SharedPrefsBackedKeyChain; Any other sollution?

BDominik commented 5 years ago

I already found this solution somewhere else but then it's didn't worked. Ionic Info

Ionic:

ionic (Ionic CLI) : 4.0.5 (C:\Users\bdomi\AppData\Roaming\npm\node_modules\ionic) Ionic Framework : ionic-angular 3.9.2 @ionic/app-scripts : 3.1.11

Cordova:

cordova (Cordova CLI) : 8.0.0 Cordova Platforms : not available

System:

Android SDK Tools : 26.1.1 NodeJS : v8.11.3 (C:\Program Files\nodejs\node.exe) npm : 6.3.0 OS : Windows 10

So now what I did is the folowing. In the platforms/android/cordova-safe/starter-conceal.gradle change this compile('com.facebook.conceal:conceal:1.0.0@aar') to this compile('com.facebook.conceal:conceal:2.0.1@aar') I hope it will work for you too.