sdk version/level is same as api version/level

minSdk is min version of android on a device that the app can run on

targetSdk is ideal version

compile is what gradle / compiler will compile too. set compile and target as same

minSdk should atleast 23

Keystore

holds your keys(certificates), links them to you as developer/person. keystore has a password too.

while google recommends same keystore for all YOUR apps,

instead have same keystore for a family of apps i.e organisation wise ex hukum and hyaku diff keystore cause otherwise you’ve to share keystore to them, and they coulldddd tamper w each others apps

android sdk comes with a default keystore that’s used by default for signing your android apps. this is a per device level. (when you install the sdk ex via android studio)

keytool - management and generation of keystore

app signing - you sign your app w a certificate (only 1, playstore won’t accept if signed with mulitple, even though you can sign w multiple)

fingerprint - sha1 hash of your specific certificate/key in keystore. obtained from keytool

play app signing - you create an upload keystore , and then upload to play app signing, which creates the actual deploy/release keystore of the published app(you don’t do this directly). basically it handles the release keystore for you. pro is if you loose your upload keystore, you can request to use another one