diff --git a/README.md b/README.md index 38bfe51..10e3d3d 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ alt="MyHushTeam's Reddit">

-SilentDragon Android is an Android frontend for the desktop SilentDragon that lets you send and receive shielded payments from your mobile phone. We are currently working on implementing Hush Lite Wallet and HushChat functionality, so follow us on Twitter or Mastodon to stay updated. +SilentDragon Android is an Android frontend for the desktop SilentDragon that lets you send and receive shielded payments from your mobile phone. We are currently working on implementing Hush Lite Wallet and HushChat functionality, so follow us on Twitter or Mastodon to stay updated. After this functionality is implemented, we are planning on making an F-Droid release. @@ -88,54 +88,9 @@ Or you can use Android Studio on Linux, OS X, or Windows: The first time you create a release build you'll need to create a keystore file and prepare a properties file. The release keystore is used for app signing and a properties file is used to store -sensitive information about the keystore. These files should not be committed -to git. Once you have both of these files you can create a release build for -the Google Play Store. - -### Creating a release keystore via CLI - -The `keytool` command can be used, for example: - - keytool -genkey -alias silentdragon -keyalg RSA -keystore new.jks -dname "CN=Duke Leto, O=Hush" -storepass testing -keypass 123 -validity XXX - -### Creating a release keystore via GUI - -* With Android Studio IDE open, on the system bar click Build -> Generate Signed Bundle/APK -* Select the APK option instead of the Bundle option -* On the next screen select app as the module and click "Create new" -* Set the Key Store Name to `silent_dragon_keystore.jks` and the path to that of the project, create a password for the keystore path, a Key alias, and a key password. The store password and key password should be the same. Fill out some basic organization information and click Ok. -* On the next screen make sure the build variant "release" is selected and click Finish. - -### Preparing a properties file - -Copy `secrets.properties` file from `examples` folder and paste it to the projects main directory. -Fill store_file_location, key_alias, key_password and store_password when you created the release keystore. - -### Building a release APK for Google Play - -Before creating each build you should increment the version code & version name -in the build.gradle file. These must be incremented for each release otherwise -the Play Store will reject the build. - -To create a release build navigate to the project directory in terminal and run - -``` - ./new_binary.sh 1.2.3 -``` - -where 1.2.3 is the version number, which must match the codebase to be accepted to Google Play. - -This will produce an apk file in the following directory. - - SilentDragonAndroid/app/build/output/apk/release/app-release.apk - -and also copy it to the current directory with the filename SilentDragonAndroid-1.2.3.apk - -This build can be directly uploaded to Google Play. - -### Building a release APK for F-Droid - -This will be pursued once lite wallet functionality exists in the SilentDragonAndroid wallet. +sensitive information about the keystore. **These files should not be committed +to git.** Once you have both of these files you can create a release build for +the Google Play Store. For further information, [click here](release_build_process.md). ## Contributing diff --git a/release_build_process.md b/release_build_process.md new file mode 100644 index 0000000..c628801 --- /dev/null +++ b/release_build_process.md @@ -0,0 +1,63 @@ +# Release Build Process + +The first time you create a release build you'll need to create a keystore file and prepare a properties file. The +release keystore is used for app signing and a properties file is used to store +sensitive information about the keystore. **These files should not be committed +to git.** Once you have both of these files you can create a release build for +the Google Play Store. + +## Create a release keystore + +### Creating a release keystore via CLI + +The `keytool` command can be used, for example: + + keytool -genkey -alias silentdragon -keyalg RSA -keystore new.jks -dname "CN=Duke Leto, O=Hush" -storepass testing -keypass 123 -validity XXX + +### Creating a release keystore via GUI + +* With Android Studio IDE open, on the system bar click Build -> Generate Signed Bundle/APK +* Select the APK option instead of the Bundle option +* On the next screen select app as the module and click "Create new" +* Set the Key Store Name to `silent_dragon_keystore.jks` and the path to that of the project, create a password for the keystore path, a Key alias, and a key password. The store password and key password should be the same. Fill out some basic organization information and click Ok. +* On the next screen make sure the build variant "release" is selected and click Finish. + +## Preparing a properties file + +Copy `secrets.properties` file from `examples` folder and paste it to the projects main directory. +Fill store_file_location, key_alias, key_password and store_password when you created the release keystore. + +## Building a release APK for Google Play + +Before creating each build you should increment the version code & version name +in the build.gradle file. These must be incremented for each release otherwise +the Play Store will reject the build. + +To create a release build navigate to the project directory in terminal and run + +``` + ./new_binary.sh 1.2.3 +``` + +where 1.2.3 is the version number, which must match the codebase to be accepted to Google Play. + +This will produce an apk file in the following directory. + + SilentDragonAndroid/app/build/output/apk/release/app-release.apk + +and also copy it to the current directory with the filename SilentDragonAndroid-1.2.3.apk + +This build can be directly uploaded to Google Play. + +## Building a release APK for F-Droid + +This will be pursued once lite wallet functionality exists in the SilentDragonAndroid wallet. + +## Contributing + +Contributions to this project are welcome and encouraged. + +## License + +This project is under the GNU Public License v3. For the full license, see [LICENSE](LICENSE). +