The Android system requires that all installed applications be digitally signed with a
certificate whose private key is held by the application's developer.
When exporting an APK the application is compiled in release mode, and you have to sign
the .apk with a private key.
It is recommended that you sign all your apps with the same certificate, and that you
make the key valid for at least 25 years.
When developing and testing Android Studio does this for you with
a known keystore and key, in $HOME/.android/debug.keystore.
This certificate is valid for 365 days.
Use the "Build->Build Bundle(s) / APK(s)->Build APK(s)" feature of Android Studio,
which will guide you through the process.
Versioning
Apps can have version numbers and version names
The values are set in build.gradle (Module ...)
The versionCode is a positive integer used to determine if one version is more
recent than another, with higher numbers indicating more recent versions.
This is not shown to users.
The versionName is a string used as the version number shown to users.