.. | ||
.idea/codeStyles | ||
android | ||
common | ||
desktop | ||
gradle/wrapper | ||
.gitignore | ||
build.gradle.kts | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
local.properties.example | ||
README.md | ||
settings.gradle.kts |
Android App Development
This readme is currently a stub and as such is in development.
Ultimately, this readme will act as a guide to contributing to the develop of the SimpleX android app.
Gotchas
SHA Signature for verification for app links/deep links
In order for the SimpleX app to be automatically adopted for opening links from https://simplex.chat the SHA certificate fingerprint for the App installed on the phone must be in the hosted assetlinks.json file on simplex.chat.
The accepted fingerprints are in the sha256_cert_fingerprints
list.
To find your SHA certificate fingerprint perform the following steps.
- Build and install your development version of the app as usual
- From the terminal in Android studio run
adb shell pm get-app-links chat.simplex.app
- Copy the signature listed in
signatures
in the result - Add your signature to assetlinks.json in the website repo and make a PR. On approval, wait a few minutes for the changes to propagate to the public website and then you should be able to verify SimpleX.
More information is available here. If there is no response when running the pm get-app-links
command, the intents in AndroidManifest.xml
are likely misspecified. A verification attempt can be triggered using adb shell pm verify-app-links --re-verify chat.simplex.app
.
Note that this is not an issue for the app store build of the app as this is signed with our app store credentials and thus there is a stable signature over users. Developers do not have general access to these credentials for development and testing.
Adding icons
-
Find a Material symbol in Rounded category.
-
Set weight to 400, grade to -25 and size to 48px.
-
Click on the icon, choose Android and download XML file.
-
Update the color to black (#FF000000) and the size to "24.dp", as in other icons.
For example, this is add reaction icon.