Caution
π¨ Free and Open-Source Android is under threat!
Google will turn Android into a locked-down platform, restricting your essential freedom to install apps of your choice. Make your voice heard β Keep Android Open.
Parking Android application, built with Kotlin, Jetpack Compose and Material 3.
Automatically detect where you parked your car...
Warning
Upgrading to 0.0.7 requires re-installing the application.
A new certificated was generated due to an incorrect CN.
Please report any Issues you find.
Supports Android 8 (API 26) 2017+.
Note: If installing directly, you may need to allow installation of apps from unknown sources.
For more information, see Release through a website.
View Manual Steps to Install from Unknown Sources
Note: Downloading and Installing the apk should take you to the settings area to allow installation if not already enabled. Otherwise:
- Go to your device settings.
- Search for "Install unknown apps" or similar.
- Choose the app you will install the apk file from.
- Select your web browser to install directly from it.
- Select your file manager to open it, locate the apk and install from there.
- Download the Latest app-release.apk.
- Open the download apk in the app you selected in step #3.
- Choose Install and Accept any Play Protect notifications.
- The app is now installed. Proceed to the Getting Started section below.
The GitHub APK has been registered with Google's Android developer verification.
10:A4:FC:C1:B6:B7:1C:AD:F9:D1:D6:E2:EE:1E:A0:CC:37:2F:25:33:F9:B7:A2:77:2D:DA:DD:08:14:EC:0C:03
How to Verify an APK Signature
- Install and open the app.
- Go to the Automatic tab to add Devices.
- Open the History tab to view your parking history.
- Click on a history item to see the map.
- Automatic Parking Detection
- Supports Multiple Bluetooth Devices
- Full History with Location Maps
- Start the Application...
If you run into any issues or need help getting started, please do one of the following:
- Report an Issue: https://github.com/cssnr/parking-android/issues
- Q&A Discussion: https://github.com/cssnr/parking-android/discussions/categories/q-a
- Request a Feature: https://github.com/cssnr/parking-android/issues/new
- Chat with us on Discord: https://discord.gg/wXy6m2X8wY
Without crash reporting, fixing a bug requires you to:
- Stop what you're doing and open a browser
- Go to the GitHub repo and create an Issue
- Explain exactly what you were doing when the app crashed
- Hope I can re-create the bug myself to get the stack trace
That's a heavy ask for an app that's already broken β it leaves you with a bad experience and me without enough data to fix it.
To close that gap without compromising your data or privacy, this app uses ACRA β an open-source crash reporting library. Reports are received by a self-hosted Acrarium backend that runs on my own infrastructure, so crash data doesn't go to any third parties β no Google or other big-data services.
You can turn crash reporting on or off at any time with a toggle on the Settings page.
ACRA only sends reports when the app hits an unhandled crash. By default, it only sends the technical context needed to diagnose the crash:
- The stack trace of the crash, plus the app and Android versions
- Basic device context β e.g. the device model and OS version
- A short extract of the app's own logcat (the last ~200 lines)
It does not track usage or activity, collect a device identifier, or send system or other apps' logs. Each report is anonymized and sent directly to my server, so only I receive the data.
Documentation for building the app in Android Studio and the Command Line.
This section briefly covers running and building in Android Studio and the Command Line.
- Download and Install Android Studio.
https://developer.android.com/studio
-
Ensure that usb or wifi debugging is enabled in the Android developer settings and verify.
-
Then build or run the app on your device.
- Import the Project
- Run Gradle Sync
To Run: Select a device and press Play
To Build:
- Select the Build Variant (debug or release)
- Build > Generate App Bundles or APK > Generate APKs
Note: This section is a WIP! For more details see the release.yaml.
This project uses a Taskfile for common development commands.
To compile Kotlin:
task compileTo build a debug or release APK:
task debug
task releaseTo check and format non-Kotlin files:
task format
task checkTo install and launch the app on a connected device, ADB is required. Verify your device is detected:
$ adb devices
List of devices attached
RF9M33Z1Q0M deviceThen install and launch:
task playOr use Gradle directly β use gradlew.bat on Windows:
./gradlew assembleDebug
./gradlew assembleReleaseThe release workflow signs the APK and attaches it to GitHub Releases.
See the AGENTS.md file for project conventions and available commands.
If you would like to submit a PR, report a bug or request a feature, please use the GitHub Issues and Discussions pages for this project.
Please consider making a donation to support the development of this project and additional open source projects.
You can also star this project on GitHub and support other related projects:
- Django Files Android
- Zipline Android
- NOAA Weather Android
- Remote Wallpaper Android
- ParKing Android
- Todo List Android
- Tibs3DPrints Android
For a full list of current projects visit: https://cssnr.github.io/

