Thanks for that at least it is a starting point.
Before you attempt to build a release build using r8 you must be able to build a successful build without it. It is a waste of time attempting to build with r8 unless you can successfully build without. That is why r8 is off (blank) by default.
Important question - Can you confirm that you can build a successful release build with r8 off?
If you can build successfully then you can proceed to strip unused code with r8.
I've got no idea where you got all those rules and why you would think they should be there.
Please replace the existing contents of your proguard.cfg with the following. I'd also suggest removing those 3 files you added previously.
-printconfiguration config_navigation.txt
-printseeds seeds.txt
-printusage usage.txt
#usage.txt - this file contains the code that was removed from the apk
#seeds.txt - this file has a list of classes and class members which were not obfuscated
#mappings.txt - this file provides the translation between the original and the obfuscated classes,
#methods, field names.
#Not applicable to xamarin, because we don't obfuscate.
# Added 20/06/2021 To upload a mapping.txt file
# Open the Play Console.
# Select an app.
# On the left menu, select Release > App bundle explorer.
# Select the Downloads tab, and scroll down to the 'Assets' section. Click the upload arrow for the
# mapping file or the debug symbols as applicable to upload the deobfuscation for the version of
# your app.
# Added these 3 13/01/2021
-printmapping mapping.txt
-keepattributes SourceFile
-keepattributes LineNumberTable
# remember to change back the build Action in the Properties Window to ProguardConfiguration
# if you ever exclude the proguard.cfg from the project,
# as it will come back as none if you do not which means this file won't be read.
-keep class androidx.appcompat.widget.FitWindowsLinearLayout
There is only a single keep rule in this particular proguard.cfg. Most of the file is just comments to remind me of things I always seem to forget or overlook.
That should solve your original ClassNotFoundException. Please note that there probably will be others. So, launch the app and see if it crashes. If it crashes look at the log output and search for the ClassNotFoundException. It will be very close to the top of the log and if you are using Android Studio's log - the text will be in red.
For each crash add a new keep rule. It's a tedious exercise, but doable and the proguard.cfg created can then be used in other similar Android projects as a starting point.
If you want to check what proguard does then look at the files, usage.txt and seeds.txt - use Show all files to see them and read up on the articles about proguard and r8.