Setup Instructions

How to get everything up and running?

1. Cloning the Flutter Project

Open a terminal, and clone the project from GitHub. Please, make sure git is installed before doing this.

$ git clone https://github.com/Imperial-lord/INR-miAyarla.git

2. Setting up Firebase.

Open the Firebase project and head to the Project Settings. Or directly click on this link (won't open unless signed in with proper Google account to access the Firebase Project).

Find the app settings, and add your debug SHA keys. To generate the debug SHA keys use the following commands -

keytool -list -v \
-alias androiddebugkey -keystore ~/.android/debug.keystore

or follow the instructions here -

While following the steps to generate the debug SHA-1 and SHA-256 keys keep the following in mind:

  • It is possible that the debug.keystore file, has not yet got generated, so you might not be able to generate the SHA keys. For that please follow step 3 and onwards without adding any keys, and run your the code once. This will generate your debug.keystore file.

  • When running the above commands, it'll prompt you for a password. Use android, as the default password.

After that download the google-serivces.json and replace it inside the project. This is found inside the android/app folder. We will need to do this anytime we make some changes to the app, like adding release keys, or changing other parameters.

3. Preparing for app release.

Since the app is already in release, parts of build.gradle have been modified for the same. To make sure your app runs, make sure to follow these 2 steps.

a) Signing the app.

A detailed instruction for this can be found here -

Enter the command below in a terminal. This command stores the upload-keystore.jks file in your home directory. If you want to store it elsewhere, change the argument you pass to the -keystore parameter.

  keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 
  -validity 10000 -alias upload

Keep the keystore file private; never check it into public source control!

The keytool command might not be in your path — it’s part of Java, which is installed as part of Android Studio. For the concrete path, run flutter doctor -v and locate the path printed after ‘Java binary at:’. Then use that fully qualified path replacing java (at the end) with keytool.

After this step, create a file named [project]/android/key.properties that contains a reference to your keystore. This should never have be checked into public source control. Usually it's in the git ignore by default.

key.properties
storePassword=<password from previous step>
keyPassword=<password from previous step>
keyAlias=upload
storeFile=<location of the key store file, such as /Users/<user name>/upload-keystore.jks>

At this stage you should be able to run the project (but will not be able to use Firebase related functionality yet). To run the flutter app, simple open a terminal, navigate to the root directory of your project, and simply enter:

flutter run

b) Adding release keys to Firebase project.

Now that the app has been successfully run, we need to complete setting up the firebase. Release keys be generated in the same manner as debug keys, with the exception that now you need to replace the debug.keystore with your generated keystore (previously referred to as upload-keystore.jks) file after signing the app. This answer clearly describes the steps for the same.

After all generated keys are added, re-download and replace the google-serivces.json file in the project as before.

4. And that's all.

Congratulations! You have successfully set up the project and are ready to use the code to build something amazing.

Last updated