{"id":13604029,"url":"https://github.com/green-code-initiative/ecoCode-android","last_synced_at":"2025-04-11T22:32:28.141Z","repository":{"id":64719551,"uuid":"571330146","full_name":"green-code-initiative/ecoCode-android","owner":"green-code-initiative","description":"Reduce the environmental footprint of your Java-based Android apps with SonarQube","archived":false,"fork":false,"pushed_at":"2025-02-03T13:24:36.000Z","size":9749,"stargazers_count":61,"open_issues_count":16,"forks_count":19,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-04-10T17:05:51.985Z","etag":null,"topics":["android","mobile","native","sonarqube","sonarqube-plugin"],"latest_commit_sha":null,"homepage":"https://ecocode.io","language":"Groovy","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/green-code-initiative.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-11-27T21:46:03.000Z","updated_at":"2025-03-30T00:50:04.000Z","dependencies_parsed_at":"2023-02-18T11:48:12.777Z","dependency_job_id":"c8b8b62d-db85-4ce9-a494-099bb29b0609","html_url":"https://github.com/green-code-initiative/ecoCode-android","commit_stats":null,"previous_names":["green-code-initiative/ecocode-android"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/green-code-initiative%2FecoCode-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/green-code-initiative%2FecoCode-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/green-code-initiative%2FecoCode-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/green-code-initiative%2FecoCode-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/green-code-initiative","download_url":"https://codeload.github.com/green-code-initiative/ecoCode-android/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248456373,"owners_count":21106602,"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","mobile","native","sonarqube","sonarqube-plugin"],"created_at":"2024-08-01T19:00:38.538Z","updated_at":"2025-04-11T22:32:28.106Z","avatar_url":"https://github.com/green-code-initiative.png","language":"Groovy","funding_links":[],"categories":["Groovy"],"sub_categories":[],"readme":"![Logo](docs/resources/5ekko.png)\n======================================\n\nMobile apps running on top of battery-limited, android-powered devices are more than others concerned by the reduction of their environmental footprint. Hence, we created `ecoCode android`, the version of ecoCode project fully dedicated to the Android platform. It provides static code analyzers to highlight code structures that may have a negative ecological impact: energy over-consumption, \"fatware\", shortening devices' lifespan, etc.\n\necoCode android is based on an evolving catalog of [best practices for Android](https://github.com/cnumr/best-practices-mobile#-android-platform). A SonarQube plugin then implements this catalog as rules for scanning your native Android projects **written in Java only**. To learn more, take a look at the [complete presentation](docs/resources/devfest-2022.pdf) (:fr:) or the [presentation in a nutshell](docs/resources/apidays-2022.pdf). A hands-on [tutorial](https://olegoaer.perso.univ-pau.fr/green-it-summer-school/ecoCode/lab.html) and free demo access is also available (:fr:).\n\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\n🌿 SonarQube Plugin\n-------------------\n\n![Screenshot](android-plugin/docs/screenshot.png)\n\n\u003csub\u003eThe custom GUI above is reserved to educational purpose only.\u003c/sub\u003e\n\n🚀 Quickstart\n-------------\n\nA SonarQube container image with ecoCode Android embedded exists !\n\n```bash\ndocker run -ti --rm \\\n       -v sq_ecocode_android_logs:/opt/sonarqube/logs \\\n       -v sq_ecocode_android_data:/opt/sonarqube/data \\\n       -p 9000:9000 \\\n       --name sonarqube-ecocode-android  \\\n       ghcr.io/green-code-initiative/sonarqube-ecocode-android:latest\n```\n\nWait a little bit during first start initialization, and go to [http://localhost:9000](http://localhost:9000). Default credentials are `admin`/`admin`\n\n\n🤝 Partners\n------------\n\n[![Snapp’](android-plugin/docs/logoSnapp.png)](https://www.snapp.fr)\n[![Université de Pau](android-plugin/docs/logoUnivPau.png)](https://www.univ-pau.fr/)\n[![Région Nouvelle-Aquitaine](android-plugin/docs/logoNA.png)](https://www.nouvelle-aquitaine.fr)\n[![Solocal / PagesJaunes](android-plugin/docs/logoSolocal.png)](https://www.pagesjaunes.fr)\n\n📢 Cite this work\n------------------\n\nIf you use ecoCode in an academic work we would be really glad if you cite our seminal paper using the following bibtex entry:\n\n```bibtex\n@inproceedings{10.1145/3551349.3559518,\n  author = {Le Goaer, Olivier and Hertout, Julien},\n  title = {ecoCode: A SonarQube Plugin to Remove Energy Smells from Android Projects},\n  year = {2023},\n  isbn = {9781450394758},\n  publisher = {Association for Computing Machinery},\n  address = {New York, NY, USA},\n  url = {https://doi.org/10.1145/3551349.3559518},\n  doi = {10.1145/3551349.3559518},\n  booktitle = {37th IEEE/ACM International Conference on Automated Software Engineering},\n  articleno = {157},\n  numpages = {4},\n  keywords = {android, energy, smells, debt, quality, battery},\n  location = {Rochester, MI, USA},\n  series = {ASE22}\n}\n```\n\n🛒 Distribution\n---------------\n\nReady to use binaries are available [from GitHub](https://github.com/green-code-initiative/ecocode-android/releases).\n\n🧩 Plugins version compatibility\n------------------\n\n| Plugins Version | SonarQube version           |\n|-----------------|-----------------------------|\n| 0.0.+           | SonarQube 8.9.+ LTS to 9.3  |\n| 0.1.+           | SonarQube 9.4.+ LTS to 9.9  |\n| 1.0.+           | SonarQube 9.4.+ LTS to 9.9  |\n| 1.1.+           | SonarQube 9.4.+ LTS to 10.3 |\n\n☕ Plugin Java part compatibility\n------------------\n\n| Plugins Version  | Java version |\n|------------------|--------------|\n| 0.0.+            | 11 / 17      |\n| 0.1.+            | 11 / 17      |\n| 1.0.+            | 11 / 17      |\n| 1.1.+            | 11 / 17      |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreen-code-initiative%2FecoCode-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgreen-code-initiative%2FecoCode-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreen-code-initiative%2FecoCode-android/lists"}