sqlite icon indicating copy to clipboard operation
sqlite copied to clipboard

AndroidKeysetManager: keyset not found, will generate a new one

Open bot101 opened this issue 3 years ago • 2 comments

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

bot101 avatar Sep 19 '22 16:09 bot101

@bot101 can you share a demo app reproducing the error

jepiqueau avatar Sep 19 '22 17:09 jepiqueau

@bot101 can i see the capacitor.config.ts

jepiqueau avatar Sep 20 '22 17:09 jepiqueau

@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;

KevinTurnbull avatar Feb 04 '23 13:02 KevinTurnbull

@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 avatar Feb 26 '23 08:02 jepiqueau

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

jepiqueau avatar Apr 02 '23 15:04 jepiqueau