- Checking bugs and technical debt
- Updating application version
- Building release apk
- Distributing release
Android development tool provide linter to check common errors.
Use ./gradlew :app:lint
to run the linter and produce report.
It will generate an HTML (human readable) file at app/build/reports/lint-results.html
.
So before making a release, ensure no new warning has been introduced.
The AdAway application source code is monitored by SonarCloud.
The current version of the source code is analysed to find bugs, code smells and compute technical debt.
The overall score may be not perfect, each new release should not increase it.
So before making a release, ensure that no new bug or debt has been introduced.
Each version has each own version number.
It follows the Semantic Versioning principle (once the first 4.x.y stable release is published).
It must be declared a 3 different locations:
- The version name
android.defaultConfig.versionName
insrc/app/build.gradle
: '4.1.2', '5.12.3' - The version code
android.defaultConfig.versionCode
insrc/app/build.gradle
: 41020, 51203 - The version name for SonarCloud
sonarqube.properties.property.sonar.projectVersion
insrc/build.gradle
: same as version name
The AdAway project provides a global changelog.
Before releasing any new version, be sure to update the changelog to let users know what is inside each new version.
The release apk must be built with release flavor (not debug). Check contributing guide for building instructions.
The apk name follows the following format: AdAway-<version_name>-<yymmdd>.apk
.
Example: AdAway-4.0.8-180822.apk for the version 4.0.8 built the 08/22/18.
Before sharing the any release, remember to test it.
Release variant apk does not behave like debug variant.
Same goes for real device versus emulator.
Final test should be done with release apk variant on real device.
Once tested, releases are posted on XDA development thread using the following template:
Hi all,
<welcoming message about the new version>
[U][SIZE="4"]Changelog:[/SIZE][/U]
[LIST]
[*] Item 1
[*] Item 2
[*] ...
[*] Item n
[/LIST]
[U][SIZE="4"]Thanks:[/SIZE][/U]
Special thanks to <contributors> for theirs contributions and <bug reporters> for theirs helpful bug reports.
[U][SIZE="4"]Download:[/SIZE][/U]
[URL="https://www.androidfilehost.com/?fid=<version file id>"]AdAway <application version> on AndroidFileHost[/URL] (md5: <apk file md5>)
The beta releases only announced in the XDA development thread.
The stable releases are distributed through F-Droid store and posted of the first post of XDA development thread.
To publish the application in F-Droid store, add a tag using vX.Y.Z
format on GitHub repository.