The calibration algorithm is documented in the CalibrationActivity file.
The style and versioning scheme follows the general Fairphone style.
ProximitySensorTools can be built using Android Studio or directly with Gradle.
In order to build in Android Studio, import the root of the Git repository as a new project and use the features of the IDE to edit, build, run, and debug ProximitySensorTools.
To build from commandline you will need the Android SDK and Gradle. Follow the instructions in Android documentation.
By default both debug and release build variants are signed using default keys included in the Android SDK. To sign the app for release, you need
- a keystore containing the release key and
- a configuration file describing how to access the key.
The release key can be put in a keystore using a
script in vendor/fairphone/tools/
.
Point the build system to the keystore using a configuration file which includes
the path to the keystore, the alias of the key, and passwords for keystore and
key. The file keystore.properties
needs to be at the root of the Git
repository and contain information like:
storePassword=<pwd-of-keystore>
keyPassword=<pwd-of-key-in-keystore>
keyAlias=ProximitySensorToolsReleaseKey
storeFile=../relative/path/to/proximitysensortools.keystore
You can verify that Gradle can find and open the key by checking the output of
gradlew signingReport
. The sections for release
and releaseUnitTest
variants should look similar to:
Variant: release
Config: release
Store: /absolute/path/to/proximitysensortools.keystore
Alias: ProximitySensorToolsReleaseKey
MD5: 7D:F2:FC:AA:FD:75:F3:83:5C:ED:AE:63:B7:F2:AD:AB
SHA1: 30:63:51:FB:98:33:47:1A:26:00:2D:58:C7:F1:1D:76:DE:F0:34:8E
Valid until: Monday, November 24, 2042
If configuration is correct, gradlew assembleRelease
can be used to create the
signed app at ./app/build/outputs/apk/release/app-release.apk
.