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
This app is currently in beta testing. Expect bugs and/or breaking changes along the way... 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.
EB:3C:65:A6:C9:63:4A:27:07:C2:0F:AC:C7:0E:A5:CD:2A:73:93:40:D9:5D:78:3B:21:7A:34:C6:87:AF:01:92
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/

