I'm developing a custom version of AOSP for a particular device, but when I install certain apps like DuckDuckGo, Instagram, Whatsapp, etc the apps crash with ParcelFormatException. Other apps work fine. The android version I'm using is Android 8.1.1 (SDK 27).
After some research, I found that this might be related to cryptography/encryption. The device I'm working on currently uses Full Disk Encryption.
Logs attached
DuckDuckGo
09-02 06:04:46.146 9216 9216 E AndroidRuntime: FATAL EXCEPTION: main
09-02 06:04:46.146 9216 9216 E AndroidRuntime: Process: com.duckduckgo.mobile.android, PID: 9216
09-02 06:04:46.146 9216 9216 E AndroidRuntime: java.lang.RuntimeException: Unable to create application com.duckduckgo.app.global.DuckDuckGoApplication: android.os.ParcelFormatException: Bad tag: 0 at 180
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5758)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.app.ActivityThread.-wrap1(Unknown Source:0)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1659)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.os.Looper.loop(Looper.java:164)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6518)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: Caused by: android.os.ParcelFormatException: Bad tag: 0 at 180
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.security.keymaster.KeymasterArgument$1.createFromParcel(KeymasterArgument.java:56)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.security.keymaster.KeymasterArgument$1.createFromParcel(KeymasterArgument.java:35)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.os.Parcel.createTypedArrayList(Parcel.java:2471)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.security.keymaster.KeymasterArguments.<init>(KeymasterArguments.java:61)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.security.keymaster.KeymasterArguments.<init>(Unknown Source:0)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.security.keymaster.KeymasterArguments$1.createFromParcel(KeymasterArguments.java:47)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.security.keymaster.KeymasterArguments$1.createFromParcel(KeymasterArguments.java:45)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.security.keymaster.KeyCharacteristics.readFromParcel(KeyCharacteristics.java:66)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.security.IKeystoreService$Stub$Proxy.generateKey(IKeystoreService.java:1151)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.security.KeyStore.generateKey(KeyStore.java:434)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.security.keystore.AndroidKeyStoreKeyGeneratorSpi.engineGenerateKey(AndroidKeyStoreKeyGeneratorSpi.java:313)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at javax.crypto.KeyGenerator.generateKey(KeyGenerator.java:604)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at androidx.security.crypto.MasterKeys.generateKey(MasterKeys.java:142)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at androidx.security.crypto.MasterKeys.getOrCreate(MasterKeys.java:97)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at androidx.security.crypto.MasterKey$Builder.buildOnM(MasterKey.java:357)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at androidx.security.crypto.MasterKey$Builder.build(MasterKey.java:314)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.email.db.EmailEncryptedSharedPreferences.encryptedPreferences(EmailDataStore.kt:67)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.email.db.EmailEncryptedSharedPreferences.<init>(EmailDataStore.kt:55)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.email.di.EmailModule.providesEmailDataStore(EmailModule.kt:63)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.email.di.EmailModule_ProvidesEmailDataStoreFactory.providesEmailDataStore(EmailModule_ProvidesEmailDataStoreFactory.java:49)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.email.di.EmailModule_ProvidesEmailDataStoreFactory.get(EmailModule_ProvidesEmailDataStoreFactory.java:38)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.email.di.EmailModule_ProvidesEmailDataStoreFactory.get(EmailModule_ProvidesEmailDataStoreFactory.java:13)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.email.di.EmailModule_ProvidesEmailManagerFactory.get(EmailModule_ProvidesEmailManagerFactory.java:43)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.email.di.EmailModule_ProvidesEmailManagerFactory.get(EmailModule_ProvidesEmailManagerFactory.java:14)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.email.waitlist.AppConfigurationWorkerInjectorPlugin_Factory.get(AppConfigurationWorkerInjectorPlugin_Factory.java:37)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.email.waitlist.AppConfigurationWorkerInjectorPlugin_Factory.get(AppConfigurationWorkerInjectorPlugin_Factory.java:11)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at dagger.internal.SetFactory.get(SetFactory.java:126)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at dagger.internal.SetFactory.get(SetFactory.java:37)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.global.plugins.worker.WorkerInjectorPluginPoint_Factory.get(WorkerInjectorPluginPoint_Factory.java:23)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.global.plugins.worker.WorkerInjectorPluginPoint_Factory.get(WorkerInjectorPluginPoint_Factory.java:9)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.di.WorkerModule_WorkerFactoryFactory.get(WorkerModule_WorkerFactoryFactory.java:29)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.di.WorkerModule_WorkerFactoryFactory.get(WorkerModule_WorkerFactoryFactory.java:11)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.di.WorkerModule_WorkManagerFactory.get(WorkerModule_WorkManagerFactory.java:33)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.di.WorkerModule_WorkManagerFactory.get(WorkerModule_WorkManagerFactory.java:12)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.di.PrivacyModule_AutomaticDataClearerFactory.get(PrivacyModule_AutomaticDataClearerFactory.java:49)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.di.PrivacyModule_AutomaticDataClearerFactory.get(PrivacyModule_AutomaticDataClearerFactory.java:15)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.di.PrivacyModule_DataClearerLifecycleObserverFactory.get(PrivacyModule_DataClearerLifecycleObserverFactory.java:29)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.di.PrivacyModule_DataClearerLifecycleObserverFactory.get(PrivacyModule_DataClearerLifecycleObserverFactory.java:11)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at dagger.internal.SetFactory.get(SetFactory.java:126)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at dagger.internal.SetFactory.get(SetFactory.java:37)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.global.plugin.LifecycleObserverPluginPoint_Factory.get(LifecycleObserverPluginPoint_Factory.java:24)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.global.plugin.LifecycleObserverPluginPoint_Factory.get(LifecycleObserverPluginPoint_Factory.java:10)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.di.DaggerAppComponent.injectDuckDuckGoApplication(DaggerAppComponent.java:2229)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.di.DaggerAppComponent.inject(DaggerAppComponent.java:1959)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.di.DaggerAppComponent.inject(DaggerAppComponent.java:569)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.global.DuckDuckGoApplication.configureDependencyInjection(DuckDuckGoApplication.kt:130)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at com.duckduckgo.app.global.DuckDuckGoApplication.onCreate(DuckDuckGoApplication.kt:84)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1120)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5755)
09-02 06:04:46.146 9216 9216 E AndroidRuntime: ... 8 more
09-02 06:04:49.146 9235 9235 I AndroidRuntime: VM exiting with result code 0, cleanup skipped.
09-02 05:46:57.528 7995 7995 E AndroidRuntime: FATAL EXCEPTION: main
09-02 05:46:57.528 7995 7995 E AndroidRuntime: Process: com.instagram.android, PID: 7995
09-02 05:46:57.528 7995 7995 E AndroidRuntime: java.lang.RuntimeException: Unable to create application com.instagram.app.InstagramAppShell: android.os.ParcelFormatException: Bad tag: 0 at 180
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5758)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.app.ActivityThread.-wrap1(Unknown Source:0)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1659)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.os.Looper.loop(Looper.java:164)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6518)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: Caused by: android.os.ParcelFormatException: Bad tag: 0 at 180
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.security.keymaster.KeymasterArgument$1.createFromParcel(KeymasterArgument.java:56)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.security.keymaster.KeymasterArgument$1.createFromParcel(KeymasterArgument.java:35)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.os.Parcel.createTypedArrayList(Parcel.java:2471)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.security.keymaster.KeymasterArguments.<init>(KeymasterArguments.java:61)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.security.keymaster.KeymasterArguments.<init>(Unknown Source:0)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.security.keymaster.KeymasterArguments$1.createFromParcel(KeymasterArguments.java:47)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.security.keymaster.KeymasterArguments$1.createFromParcel(KeymasterArguments.java:45)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.security.keymaster.KeyCharacteristics.readFromParcel(KeyCharacteristics.java:66)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.security.IKeystoreService$Stub$Proxy.generateKey(IKeystoreService.java:1151)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.security.KeyStore.generateKey(KeyStore.java:434)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.security.keystore.AndroidKeyStoreKeyGeneratorSpi.engineGenerateKey(AndroidKeyStoreKeyGeneratorSpi.java:313)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at javax.crypto.KeyGenerator.generateKey(KeyGenerator.java:604)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at X.10z.A00(:69)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at X.10H.A00(:71)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at X.10X.<init>(:138)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at X.10U.A6h(:8)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at X.10R.A00(:26)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at X.8O7.get(:9)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at X.0Vd.Anh(:11)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at X.15U.A00(:7)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at X.05u.Awr(:6)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at X.1Kb.A00(:161)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at X.05u.AaR(:0)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at X.0Za.get(:28)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at X.0Vd.Anh(:11)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at X.0ZZ.A01(:41)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at X.0em.A03(:18)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at X.0em.A2q(:2)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at X.0o0.A03(:214)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at com.instagram.process.instagram.InstagramApplicationForMainProcess.onCreate(:56155)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at com.instagram.app.InstagramAppShell.onCreate(:1311)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1120)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5755)
09-02 05:46:57.528 7995 7995 E AndroidRuntime: ... 8 more
09-02 05:53:12.964 3612 3612 D AndroidRuntime: Shutting down VM
Been stuck on this for a couple of days now. Any help would be much appreciated. Thank you