Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AndroidKeysetManager: keyset not found, will generate a new one #321

Closed
bot101 opened this issue Sep 19, 2022 · 5 comments
Closed

AndroidKeysetManager: keyset not found, will generate a new one #321

bot101 opened this issue Sep 19, 2022 · 5 comments

Comments

@bot101
Copy link

bot101 commented Sep 19, 2022

Describe the bug
I get the following error message when I generate a signed release build of an Ionic 6 app: AndroidKeysetManager: keyset not found, will generate a new one. This error doesn't come up in debug builds. The error stack trace is listed below:

W/AndroidKeysetManager: keyset not found, will generate a new one
    java.io.FileNotFoundException: can't read keyset; the pref value __androidx_security_crypto_encrypted_prefs_key_keyset__ does not exist
        at com.google.crypto.tink.integration.android.SharedPrefKeysetReader.readPref(SharedPrefKeysetReader.java:71)
        at com.google.crypto.tink.integration.android.SharedPrefKeysetReader.readEncrypted(SharedPrefKeysetReader.java:89)
        at com.google.crypto.tink.KeysetHandle.read(KeysetHandle.java:105)
        at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.read(AndroidKeysetManager.java:311)
        at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewKeyset(AndroidKeysetManager.java:287)
        at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:238)
        at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:155)
        at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:120)
        at com.getcapacitor.community.database.sqlite.CapacitorSQLite.setSharedPreferences(CapacitorSQLite.java:144)
        at com.getcapacitor.community.database.sqlite.CapacitorSQLite.<init>(CapacitorSQLite.java:121)
        at com.getcapacitor.community.database.sqlite.CapacitorSQLitePlugin.load(CapacitorSQLitePlugin.java:43)
        at com.getcapacitor.PluginHandle.load(PluginHandle.java:99)
        at com.getcapacitor.PluginHandle.<init>(PluginHandle.java:62)
        at com.getcapacitor.Bridge.registerPlugin(Bridge.java:614)
        at com.getcapacitor.Bridge.registerAllPlugins(Bridge.java:562)
        at com.getcapacitor.Bridge.<init>(Bridge.java:201)
        at com.getcapacitor.Bridge.<init>(Unknown Source:0)
        at com.getcapacitor.Bridge$Builder.create(Bridge.java:1421)
        at com.getcapacitor.BridgeActivity.load(BridgeActivity.java:43)
        at com.getcapacitor.BridgeActivity.onCreate(BridgeActivity.java:37)
        at android.app.Activity.performCreate(Activity.java:7994)
        at android.app.Activity.performCreate(Activity.java:7978)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3422)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:223)
        at android.app.ActivityThread.main(ActivityThread.java:7656)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
2022-09-19 17:15:10.493 3812-3812/com.fideleapps.dataset W/AndroidKeysetManager: keyset not found, will generate a new one
    java.io.FileNotFoundException: can't read keyset; the pref value __androidx_security_crypto_encrypted_prefs_value_keyset__ does not exist
        at com.google.crypto.tink.integration.android.SharedPrefKeysetReader.readPref(SharedPrefKeysetReader.java:71)
        at com.google.crypto.tink.integration.android.SharedPrefKeysetReader.readEncrypted(SharedPrefKeysetReader.java:89)
        at com.google.crypto.tink.KeysetHandle.read(KeysetHandle.java:105)
        at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.read(AndroidKeysetManager.java:311)
        at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.readOrGenerateNewKeyset(AndroidKeysetManager.java:287)
        at com.google.crypto.tink.integration.android.AndroidKeysetManager$Builder.build(AndroidKeysetManager.java:238)
        at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:160)
        at androidx.security.crypto.EncryptedSharedPreferences.create(EncryptedSharedPreferences.java:120)
        at com.getcapacitor.community.database.sqlite.CapacitorSQLite.setSharedPreferences(CapacitorSQLite.java:144)
        at com.getcapacitor.community.database.sqlite.CapacitorSQLite.<init>(CapacitorSQLite.java:121)
        at com.getcapacitor.community.database.sqlite.CapacitorSQLitePlugin.load(CapacitorSQLitePlugin.java:43)
        at com.getcapacitor.PluginHandle.load(PluginHandle.java:99)
        at com.getcapacitor.PluginHandle.<init>(PluginHandle.java:62)
        at com.getcapacitor.Bridge.registerPlugin(Bridge.java:614)
        at com.getcapacitor.Bridge.registerAllPlugins(Bridge.java:562)
        at com.getcapacitor.Bridge.<init>(Bridge.java:201)
        at com.getcapacitor.Bridge.<init>(Unknown Source:0)
        at com.getcapacitor.Bridge$Builder.create(Bridge.java:1421)
        at com.getcapacitor.BridgeActivity.load(BridgeActivity.java:43)
        at com.getcapacitor.BridgeActivity.onCreate(BridgeActivity.java:37)
        at android.app.Activity.performCreate(Activity.java:7994)
        at android.app.Activity.performCreate(Activity.java:7978)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3422)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:223)
        at android.app.ActivityThread.main(ActivityThread.java:7656)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

To Reproduce
Steps to reproduce the behavior:

  1. Generate release build with ionic capacitor build android --prod --release
  2. Sign with Android Studio
  3. Deploy to emulator/device
  4. Open Android Studio Logcat
  5. See error

Expected behavior
Error doesn't come up and app runs as expected.

Smartphone (please complete the following information):

  • Device: API 30 Pixel 3 Emulator
  • OS: Android
@jepiqueau
Copy link
Collaborator

@bot101 can you share a demo app reproducing the error

@jepiqueau
Copy link
Collaborator

@bot101 can i see the capacitor.config.ts

@KevinTurnbull
Copy link

@jepiqueau - I am having the same issue; except mine doesn't work on Debug builds either.

Here's my capacitor.config.ts


const config: CapacitorConfig = {
  appId: 'ca.farmbuck.farmunity.theefor',
  appName: 'Theefor Garden',
  webDir: 'www',
  bundledWebRuntime: false,
  plugins: {
  	'SplashScreen': {
  		'launchAutoHide': false,
  		'showSpinner': false
  	},

    CapacitorSQLite: {
      androidIsEncryption: true,
    }
  }
};

export default config;

@jepiqueau
Copy link
Collaborator

@bot101 @KevinTurnbull Do you still have the issue with the latest release v4.6.3-1 of the plugin. Have a look to the Android Quirks which has been amended.

@jepiqueau
Copy link
Collaborator

@bot101 @KevinTurnbull As i do not get feedback, i assume you do not have the issue in the latest release so i close it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants