{"id":13428916,"url":"https://github.com/immuni-app/immuni-app-android","last_synced_at":"2025-03-16T02:31:00.889Z","repository":{"id":38293034,"uuid":"264477930","full_name":"immuni-app/immuni-app-android","owner":"immuni-app","description":" Official repository for the Android version of the immuni application ","archived":true,"fork":false,"pushed_at":"2022-12-28T15:18:02.000Z","size":44252,"stargazers_count":857,"open_issues_count":0,"forks_count":145,"subscribers_count":47,"default_branch":"development","last_synced_at":"2024-12-29T16:32:58.330Z","etag":null,"topics":["android","covid19","kotlin","mobile","mobile-app"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/immuni-app.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null}},"created_at":"2020-05-16T16:24:27.000Z","updated_at":"2024-12-26T14:05:51.000Z","dependencies_parsed_at":"2023-01-31T06:46:12.268Z","dependency_job_id":null,"html_url":"https://github.com/immuni-app/immuni-app-android","commit_stats":null,"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/immuni-app%2Fimmuni-app-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/immuni-app%2Fimmuni-app-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/immuni-app%2Fimmuni-app-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/immuni-app%2Fimmuni-app-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/immuni-app","download_url":"https://codeload.github.com/immuni-app/immuni-app-android/tar.gz/refs/heads/development","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243815632,"owners_count":20352203,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","covid19","kotlin","mobile","mobile-app"],"created_at":"2024-07-31T01:01:08.718Z","updated_at":"2025-03-16T02:31:00.873Z","avatar_url":"https://github.com/immuni-app.png","language":"Kotlin","funding_links":[],"categories":["Applications","Kotlin"],"sub_categories":[],"readme":"\n\u003ch1 align=\"center\"\u003eImmuni Android\u003c/h1\u003e\n \n\u003cdiv align=\"center\"\u003e\n\u003cimg width=\"256\" height=\"256\" src=\".github/logo.png\"\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003c!-- Latest Release --\u003e\n    \u003ca href=\"https://github.com/immuni-app/app-android/releases\"\u003e\n      \u003cimg alt=\"GitHub release (latest SemVer)\"\n      src=\"https://img.shields.io/github/v/release/immuni-app/app-android\"\u003e\n    \u003c/a\u003e\n    \u003c!-- CoC --\u003e\n\t\t\u003ca href=\"CODE_OF_CONDUCT.md\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://circleci.com/gh/immuni-app/immuni-app-android\"\u003e\n      \u003cimg alt=\"Circle CI Status\"\n      src=\"https://circleci.com/gh/immuni-app/immuni-app-android.svg?style=svg\"\u003e\n    \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ch3\u003e\n    \u003ca href=\"https://github.com/immuni-app/documentation\"\u003e\n      Documentation\n    \u003c/a\u003e\n    \u003cspan\u003e | \u003c/span\u003e    \n    \u003ca href=\"CONTRIBUTING.md\"\u003e\n      Contributing\n    \u003c/a\u003e\n  \u003c/h3\u003e\n\u003c/div\u003e\n\n# Table of contents\n\n- [Introduction](#introduction)\n- [Installation](#installation)\n  - [Backend services](#backend-services)\n- [Testing](#testing)\n- [Checking the build](#checking-the-build)\n- [Contributing](#contributing)\n  - [Contributors](#contributors)\n- [License](#license)\n  - [Authors / Copyright](#authors--copyright)\n  - [Third-party component licenses](#third-party-component-licenses)\n    - [Tools](#tools)\n    - [Libraries](#libraries)\n  - [License details](#license-details)\n\n# Introduction\n\nThis repository contains the source code of Immuni's Android client. More detailed information about Immuni can be found in the following documents:\n\n- [High-Level Description](https://github.com/immuni-app/documentation)\n- [Product](https://github.com/immuni-app/documentation/blob/master/Product.md)\n- [Technology](https://github.com/immuni-app/documentation/blob/master/Technology.md)\n- [Traffic Analysis Mitigation](https://github.com/immuni-app/immuni-documentation/blob/master/Traffic%20Analysis%20Mitigation.md)\n\n**Please take the time to read and consider these documents in full before digging into the source code or opening an Issue. They contain a lot of details that are fundamental to understanding the source code and this repository's documentation.**\n\n# Installation\n\nThe app can be installed using [Android Studio](https://developer.android.com/studio) or the [Gradle Wrapper](https://docs.gradle.org/current/userguide/gradle_wrapper.html) (gradlew) command line tool.\n\n## Using Android Studio\n\nThis is the recommended and most straightforward method. First, clone the repository with:\n\n```sh\ngit clone git@github.com:immuni-app/immuni-app-android.git\n```\n\nFrom Android Studio, select *Import Project*, then select the root folder of the cloned repository.\nClick *Make Project* to build the app and download all the required dependencies.\nClick *Run app* to install the app on your device or emulator.\n\n## Using the Gradle Wrapper command line tool\n\nThe Gradle Wrapper can be built using [Gradle](https://docs.gradle.org/current/userguide/installation.html#installation). You can install Gradle using [Brew](https://brew.sh/):\n\n```sh\nbrew install gradle\n```\n\nTo generate the wrapper, execute this task:\n\n```sh\ngradle wrapper\n```\n \nClone the repository with:\n\n```sh\ngit clone git@github.com:immuni-app/immuni-app-android.git\n```\n\nEnter the project root folder with:\n\n```sh\ncd immuni-app-android\n```\n\nExecute the command:\n\n  \n```sh\n./gradlew assembleDebug\n```\n  \nThis creates an APK named *app-debug.apk* in *immuni-app-android/app/build/outputs/apk/*. The file is already signed with the debug key and aligned with [zipalign](https://developer.android.com/studio/command-line/zipalign), so you can immediately install it on a device.\n\nTo build the APK and immediately install it on a running emulator or connected device, instead invoke installDebug:\n\n```sh\n./gradlew installDebug\n```\n  \n\n\u003ePlease note that Google restricts the usage of the [Exposure Notification API](https://www.google.com/covid19/exposurenotifications/) to government entities or developers approved by a government entity to develop an application on behalf of a government for COVID-19 response efforts. Full details are in the [Additional Terms](https://blog.google/documents/72/Exposure_Notifications_Service_Additional_Terms.pdf) document. Otherwise, you may build and use the application, but you will not be able to use the underlying Exposure Notification system.\n\nFor more information about how the project is generated and structured, please refer to the [CONTRIBUTING](CONTRIBUTING.md) file.\n\n# Testing\n\nThe repository contains several unit and integration tests to guarantee high code quality and maintainability.\n\nTo run the local unit tests, execute the following Gradle task from the desired app module:\n\n```sh\n./gradlew :[module name]:testDebugUnitTest\n```\n\nTo run the instrumentation/UI tests, execute the following Gradle task:\n\n```sh\n./gradlew connectedAndroidTest\n```\n\n# Checking the build\n\nIn addition to making the code open-source, we wish to help people verify that builds published on the App Store are coming from a specific commit of this repository. Please refer to the [Immuni Technology Description](https://github.com/immuni-app/documentation/blob/master/Technology.md#android-app-technologies) for a complete overview of the goals and status of this effort.\n\nCurrently, we have a working open continuous integration for building the client. [Here](.circleci/config.yml) is the full specification. When it comes to reproducible builds, we will instead open an issue explaining what we have done so far and any missing steps.\n\n# Contributing\n\nContributions are most welcome. Before proceeding, please read the [Code of Conduct](CODE_OF_CONDUCT.md) for guidance on how to approach the community and create a positive environment. Additionally, please read our [CONTRIBUTING](CONTRIBUTING.md) file, which contains guidance on ensuring a smooth contribution process.\n\nThe Immuni project is composed of different repositories—one for each component or service. Please use this repository for contributions strictly relevant to the Immuni Android client. To propose a feature request, please open an issue in the [Documentation repository](https://github.com/immuni-app/documentation). This lets everyone involved see it, consider it, and participate in the discussion. Opening an issue or pull request in this repository may slow down the overall process.\n\n## Contributors\n\nHere is a list of Immuni's contributors. Thank you to everyone involved for improving Immuni, day by day.\n\n\u003ca href=\"https://github.com/immuni-app/immuni-app-android/graphs/contributors\"\u003e\n  \u003cimg\n  src=\"https://contributors-img.web.app/image?repo=immuni-app/immuni-app-android\"\n  /\u003e\n\u003c/a\u003e\n\n# License\n\n## Authors / Copyright\n\n2020 (c) Presidenza del Consiglio dei Ministri.\n\n## Third-party component licenses\n\n### Tools\n\n| Name                                                        | License                   |\n| ----------------------------------------------------------- | ------------------------- |\n| [Brew](https://brew.sh/)                                    | BSD 2-Clause 'Simplified' |\n| [Gradle](https://gradle.org/)                         | Apache 2.0                       |\n| [CommitLint](https://commitlint.js.org/#/)                  | MIT                       |\n| [Danger](https://danger.systems/js/)                        | MIT                       |\n| [Ktlint](https://github.com/pinterest/ktlint) | MIT                       |\n\n\n### Libraries\n\n| Name                                                       | License    |\n| ---------------------------------------------------------- | ---------- |\n| [Glide](https://github.com/bumptech/glide)    | Apache 2.0        |\n| [Koin](https://github.com/InsertKoinIO/koin) | Apache 2.0        |\n| [Lottie](https://github.com/airbnb/lottie-android)       | Apache 2.0        |\n| [Moshi](https://github.com/square/moshi)          | Apache 2.0        |\n| [MockK](https://github.com/mockk/mockk)             | Apache 2.0        |\n| [OkHttp](https://github.com/square/okhttp/)            | Apache 2.0 |\n| [Retrofit](https://github.com/square/retrofit)      | Apache 2.0        |\n\n## License details\n\nThe licence for this repository is a [GNU Affero General Public Licence version 3](https://www.gnu.org/licenses/agpl-3.0.html) (SPDX: AGPL-3.0). Please see the [LICENSE](LICENSE) file for full reference.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimmuni-app%2Fimmuni-app-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimmuni-app%2Fimmuni-app-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimmuni-app%2Fimmuni-app-android/lists"}