add build signing information
[headphoneindicator.git] / README.rst
index 7f775b4ad7bab0f682d781ca4cb4c1d71090af6c..f6d6cea8d15f4a94ad71b436d4040f3b644e17a2 100644 (file)
@@ -9,6 +9,31 @@ The app aims to be a tiny as possible.
 Runs on Android 4.4+.
 
 
+=====
+Usage
+=====
+After installation, you have to start the application `at least once`__.
+Then it will be running as a background service that shows the headset
+status icon whenever the headphones are plugged in.
+
+You can close the app, and the status icon will still work - even after
+rebooting your phone.
+
+__ http://stackoverflow.com/a/8535062/282601
+
+
+===================
+Why was it written?
+===================
+I wrote the headphone indicator app because I was immensely unsatisfied
+with apps like `susomena's Headphones Indicator`__ which are over
+2 MiB in size, but 99% of their code is only related to advertisement.
+
+My task was to show that you can make it much, much better.
+
+__ https://play.google.com/store/apps/details?id=com.susomena.headphonesindicator
+
+
 ========
 Building
 ========
@@ -16,6 +41,28 @@ Building
 
     $ ./gradlew build
 
+Note that AndroidStudio 1.5.1 does not detect the gradle configuration correctly
+and produces ``.apk`` files much larger than necessary, with duplicated files.
+
+``gradlew`` on command line does it correctly, though.
+
+
+Releasing
+=========
+Build it normally, then sign the generated package file::
+
+    $ ./gradlew assembleRelease
+
+To sign the release with your key, put the path to the signing configuration
+file into ``gradle.properties``::
+
+    signingconfigfile=/path/to/signing-config.gradle
+
+The signing configuration file should look like shown in
+`Handling signing configs with Gradle`__
+
+__ https://www.timroes.de/2013/09/22/handling-signing-configs-with-gradle/
+
 
 =========================
 About headphone indicator