Home

Awesome

🌟 New release: v1.9.1 🌟

Take a look at what has changed here!

<br><br>

<p> <a href="https://github.com/iakmds/librecamera/releases/latest" alt="Release"> <img src="https://img.shields.io/github/v/release/iakmds/librecamera?style=flat-square" /></a> <a href="https://f-droid.org/packages/com.iakmds.librecamera" alt="F-Droid"> <img src="https://img.shields.io/f-droid/v/com.iakmds.librecamera?style=flat-square" /></a> <a href="https://github.com/iakmds/librecamera/issues" alt="Issues"> <img src="https://img.shields.io/github/issues/iakmds/librecamera?style=flat-square" /></a> <a href="https://github.com/iakmds/librecamera/pulls" alt="Pull requests"> <img src="https://img.shields.io/github/issues-pr/iakmds/librecamera?style=flat-square" /></a> <a href="https://github.com/iakmds/librecamera/contributors" alt="Contributors"> <img src="https://img.shields.io/github/contributors/iakmds/librecamera?style=flat-square" /></a> <a href="https://github.com/iakmds/librecamera/network/members" alt="Forks"> <img src="https://img.shields.io/github/forks/iakmds/librecamera?style=flat-square" /></a> <a href="https://github.com/iakmds/librecamera/stargazers" alt="Stars"> <img src="https://img.shields.io/github/stars/iakmds/librecamera?style=flat-square" /></a> <a href="https://github.com/iakmds/librecamera/blob/master/LICENSE" alt="License"> <img src="https://img.shields.io/github/license/iakmds/librecamera?style=flat-square" /></a> <a href="https://hosted.weblate.org/engage/librecamera/"> <img src="https://hosted.weblate.org/widgets/librecamera/-/svg-badge.svg" alt="Translation status" /></a> </p> <p align="center"> <a href="https://github.com/iakmds/librecamera"> <img src="https://github.com/iakmds/librecamera/blob/master/fastlane/metadata/android/en-US/images/icon.png" alt="Libre Camera app icon" height="128"> </a> </p> <h1 align="center">Libre Camera</h1> <p align="center">A free and open source camera app for Android written in Flutter and Dart licensed under the <a href="LICENSE">GPLv3</a></p> <p align="center"> <a href="https://f-droid.org/packages/com.iakmds.librecamera"> <img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80"> </a> </p> <details open="open"> <summary><h2 style="display: inline-block">Table of Contents</h2></summary> <ol> <li> About Libre Camera <ul> <li><a href="#screenshots">Screenshots</a></li> <li><a href="#download">Download</a></li> <li><a href="#features">Features</a></li> </ul> </li> <li><a href="#roadmap">Roadmap</a></li> <li> <a href="#contributing">Contributing</a> <ul> <li><a href="#translate">Translate</a></li> <li><a href="#bug-reporting-or-feature-requests">Bug reporting or feature requests</a></li> <li><a href="#code">Code</a></li> </ul> </li> <li><a href="#packages-used">Packages used</a></li> <li><a href="#license">License</a></li> </ol> </details>

Screenshots

<p float="left"> <img src="https://github.com/iakmds/librecamera/blob/master/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png" alt="Screenshot 1" height="420"> <img src="https://github.com/iakmds/librecamera/blob/master/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png" alt="Screenshot 2" height="420"> <img src="https://github.com/iakmds/librecamera/blob/master/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png" alt="Screenshot 3" height="420"> <img src="https://github.com/iakmds/librecamera/blob/master/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png" alt="Screenshot 4" height="420"> </p>

Download

You can download Libre Camera on F-Droid by tapping on the badge below. Alternatively, download and install the apk directly from the GitHub releases page. Downloading directly from the GitHub releases page will likely download a more recent version (if a new version was published recently) – notice though that the F-Droid and the GitHub versions aren't compatible with one another. You will need to reinstall the app; make sure you remember your settings.

<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80"> <img src="https://raw.githubusercontent.com/iakmds/librecamera/master/.github/get-it-on-github.png" alt="Get it on GitHub" height="80">

Features

Roadmap

Contributing

These are the ways you can contribute to Libre Camera:

<a href="https://hosted.weblate.org/engage/librecamera/"> <img align="right" src="https://hosted.weblate.org/widgets/librecamera/-/287x66-grey.png" alt="Translation status" /></a>

Translate

<a href="https://hosted.weblate.org/engage/librecamera/"><img src="https://hosted.weblate.org/widgets/librecamera/-/multi-auto.svg" alt="Translation status" /></a>

Translating guide: Translations are now handled using Weblate! To use Weblate, log into your Weblate account and choose one of the 2 components you want to translate: Either the app itself or the F-Droid metadata. Now, select the language you want to translate or add a new language. You will see a list of different strings to choose from; untranslated and unfinished strings will probably be of most interest to you. And finally: Have fun translating!

Before using Weblate you had to translate Libre Camera manually via pull requests. Thank you @Loughty, @zehrique, @vladkorotnev, @metezd, @ZiTAL and @melentan!

Bug Reporting or Feature Requests

Open an issue on GitHub: Open issue

Remember to check for duplicates and try to give important information such as the app version, Android version, etc.

Code

Feel free to send in a pull request! To get started with Flutter, follow this link: https://docs.flutter.dev/get-started/install

  1. Clone this repository
  2. Switch to the project's directory and run flutter pub get to get all necessary packages. To test the app, run the project in debug mode by selecting an Android device or emulator in your preferred Flutter IDE and running the app in debug mode
  3. To build the final app, run the following command in your terminal: flutter build apk – the output apk will be generated at librecamera/build/app/outputs/apk/release/. To receive all localized strings, run flutter gen-l10n. If you'd like to get multiple apks by splitting them into different platforms (results in smaller sizes), use flutter build apk --split-per-abi.

Packages used

The packages used for this app, also listed in the pubspec.yaml file. See their respective licenses.

PackageUse case
cameraCamera functionality
device_info_plusGetting the Android version to adapt saving behaviour
dynamic_colorGetting the Android Material 3 dynamic color
file_pickerPicking the save path
flutterFlutter SDK
flutter_android_volume_keydownCapture photo/video on volume button press
flutter_image_compressImage compression and EXIF metadata removal
flutter_localizationsLocalization
imageAbility to flip captured photos horizontally
intlLocalization
native_device_orientationAutomatic orientation based on the phones sensor
package_info_plusDisplay the programs version number
permission_handlerHandling permissions
providerState management (localization and themes)
screen_brightnessMaximum screen brightness option
shared_preferencesSaving app data like settings
smooth_page_indicatorPage indicator in the onboarding screen
url_launcherOpen the GitHub repository link inside the about menu
video_thumbnailDisplaying a captured video inside the thumbnail
wakelockKeeping the display always on

License

This project is licensed under the GNU General Public License Version 3. For details, see LICENSE