<commit_before>RELEASE INSTRUCTIONS

ensure app runs for lowest target API
git flow release start X.Y.Z
bump versionName and versionCode in AndroidManifest.xml
git commit AndroidManifest.xml -m 'version bump'
git flow release finish X.Y.Z
git push origin master develop vX.Y.Z

APK GENERATION AND PUBLICATION

ant clean release
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore path/to/keystore bin/rainwave-android-release-unsigned.apk <aliasname>
zipalign -v 4 bin/rainwave-android-release-unsigned.apk bin/rainwave-android-X.Y.Z.apk
publish bin/rainwave-android-X.Y.Z.apk
<commit_msg>update maintainer notes<commit_after>RELEASE INSTRUCTIONS

ensure app runs for lowest target API
git flow release start X.Y.Z
bump versionName and versionCode in AndroidManifest.xml
git commit AndroidManifest.xml -m 'version bump'
git flow release finish X.Y.Z
git push origin master develop vX.Y.Z

AUTOMATIC APK GENERATION

1. Set your local.properties to:

sdk.dir = path/to/android/sdk
key.store = path/to/keystore
key.alias = <alias name>
key.store.password = <keystore password>
key.alias.password = <alias password>

2. From now on

ant clean release
ant installr
publish bin/rainwave-android-release.apk

MANUAL APK GENERATION

ant clean release
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore path/to/keystore bin/rainwave-android-release-unsigned.apk <aliasname>
zipalign -v 4 bin/rainwave-android-release-unsigned.apk bin/rainwave-android-X.Y.Z.apk
ant installr
publish bin/rainwave-android-X.Y.Z.apk

{'fraction_non_alphanumeric': 0.0790333115610712, 'fraction_numerical': 0.005225342913128674, 'mean_word_length': 4.695167286245353, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 8, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4283115', 'n_tokens_mistral': 523, 'n_tokens_neox': 485, 'n_words': 157}