federicoiosue/Omni-Notes

Javaomninotes.app
Android

Open source note-taking application for Android

androidnotesnote-takingnotebookfreeopen-sourcegoogleplay-storegoogle-keepevernotejavaomni-notes
Crescimento de estrelas
Estrelas
2.8k
Forks
1.1k
Crescimento semanal
+1
Issues
191
1k2k
dez. de 2013mar. de 2018jun. de 2022set. de 2026
ArtefatosMaven
README

icon

Omni-Notes

License CI workflow CodeQL Workflow Sonarcloud Coverage Sonarcloud Maintainability Crowdin GitHub release GitHub release

Omni-Notes is a note taking open-source application aimed to have both a simple interface while keeping smart behavior. This application expands on the generic note taking features of other basic applications and allows for users to attach image and video files, use a variety of widgets, tag and organize notes, search through notes, and customize the applications UI.

The project was inspired by the absence of such applications compatible with old phones and old versions of Android. It aims to provide an attractive look and follow the most recent design guidelines of the Google operating system that is not currently avaialbe for older devices.

Follow the developments and post your comments and advice on Telegram Community at https://t.me/omninotes

Help to keep translations updated is always welcome, if you want give a hand checkout the translation project on https://translate.omninotes.app.

Get it on F-Droid Get it on Google Play

If you're willing to help speeding up developments please also opt-in for the Alpha version of the app following continuous delivery principles:

Get it on Google Play

Features

Currently the following functions are implemented:

  • Material Design interface: Basic add, modify, archive, trash and delete notes actions
  • Advanced Navigation and Sharing: Share, merge and search notes, Export/import notes to backup
  • Media Attachments: Image, audio and generic file attachments
  • Organization: Manage your notes using tags and categories
  • Specialty Features:To-do list, Sketch-note mode, Google Now integration: just tell "write a note" followed by the content
  • Widget Capabilities: Multiple widgets, DashClock extension, Android 4.2 lockscreen compatibility, Notes shortcut on home screen
  • Internationalization: Multilanguage: 30+ languages supported: https://crowdin.com/project/omni-notes

Future Developments:

  • Notes sychronization
  • Web interface to manage notes (stub project)

You can find a complete changelog inside the application settings menu!

If you need some help on how to use the application you'll find everything you need in the Help Online section.

Promo video

User guide

Look into the wiki for GIFs-based tutorials: LINK

Build

Watch the following terminal session recording on how to compile distributable files or follow the instructions below asciicast

Build instructions:

  • Enter your computer's terminal
  • Clone the application by using the link to the repository (https://github.com/federicoiosue/Omni-Notes), this will take a couple minutes
  • Enter the Omni-Notes folder using the command $cd Omni-Notes
  • Check that the branch is up to date by using the command $git status
  • Enter the command $export ANDROID_HOME=/home/fede/Android/Sdk (for Windows $set ANDROID_HOME=/home/fede/Android/Sdk)
  • Enter the command $./gradlew assemble
  • Allow a couple minutes for the application to build.
  • View the outputs of the build using the command $ls -l omniNotes/build/outputs/apk

To be sure that build environment is fully compliant with the project the following command creates a container with all the needed tools to compile the code:

cd {project-folder}; rm local.properties; docker rm android-omninotes; docker run -v $PWD:/workspace --name android-omninotes tabrindle/min-alpine-android-sdk:latest bash -c "mkdir -p ~/.android && touch ~/.android/repositories.cfg && yes | sdkmanager --update &>/dev/null && cd /workspace && ./gradlew clean build --stacktrace -Dorg.gradle.daemon=true -Pandroid.useDeprecatedNdk=true"

Test

To execute all tests included into the project connect a device or emulator, then run the following command:

./gradlew testAll

Testing Pyramid

To speedup the development more levels of testing are available following the testing pyramid approach, each type test requires more time than the previous one.

Unit Tests

./gradlew --stacktrace test

Integration Tests

./gradlew --stacktrace -Pandroid.testInstrumentationRunnerArguments.notAnnotation=androidx.test.filters.LargeTest connectedAndroidTest

UI Tests

./gradlew --stacktrace -Pandroid.testInstrumentationRunnerArguments.annotation=androidx.test.filters.LargeTest connectedPlayDebugAndroidTest

Notice that in this case I specified a single flavor to run tests on. This could be a useful and faster approach when you're testing specific flavor features.

Mentioned on

XDA Android Authority Addictive Tips Techalook DZone Slash Gear quaap.com Freeappsforme.com

Developed with love and passion by

License

Copyright 2013-2025 Federico Iosue

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
Repositórios relacionados
flutter/flutter

Flutter makes it easy and fast to build beautiful apps for mobile and beyond

DartlibraryBSD 3-Clause "New" or "Revised" Licensemobileandroid
flutter.dev
178.9k31.1k
Genymobile/scrcpy

Display and control your Android device

CappApache License 2.0androidc
149.2k13.7k
react/react-native

A framework for building native applications using React

C++MIT Licenseandroidapp-framework
reactnative.dev
126.5k25.2k
rustdesk/rustdesk

An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.

Rustcrates.ioappGNU Affero General Public License v3.0remote-controlremote-desktop
rustdesk.com
123k18.9k
Hack-with-Github/Awesome-Hacking

A collection of various awesome lists for hackers, pentesters and security researchers

awesomeCreative Commons Zero v1.0 Universalhackingsecurity
120k10.7k
justjavac/free-programming-books-zh_CN

:books: 免费的计算机编程类中文书籍,欢迎投稿

awesomeGNU General Public License v3.0pythonjavascript
weibo.com/justjavac
118.8k28.3k
tldr-pages/tldr

Collaborative cheatsheets for console commands 📚.

MarkdowntutorialOthershellman-page
tldr.sh
63.6k5.4k
2dust/v2rayNG

A V2Ray client for Android, support Xray core and v2fly core

KotlinGNU General Public License v3.0androidproxy
v2rayng.2dust.link
62.4k8.1k
Solido/awesome-flutter

An awesome list that curates the best Flutter libraries, tools, tutorials, articles and more.

Dartawesomeflutterawesome-list
61.1k6.9k
termux/termux-app

Termux - a terminal emulator application for Android OS extendible by variety of packages.

JavaMavencliOtherandroidterminal
f-droid.org/en/packages/com.termux
60.5k7.5k
wasabeef/awesome-android-ui

A curated list of awesome Android UI/UX libraries

awesomeMIT Licenseandroidawesome
57.5k10.3k
appwrite/appwrite

Appwrite® - complete cloud infrastructure for your web, mobile and AI apps. Including Auth, Databases, Storage, Functions, Messaging, Hosting, Realtime and more

TypeScriptnpmBSD 3-Clause "New" or "Revised" Licenseappwritedocker
appwrite.io
57.3k5.7k