{"id":16552813,"url":"https://github.com/twisterrob/android-lint-examples","last_synced_at":"2025-08-07T16:28:57.636Z","repository":{"id":42366720,"uuid":"169976671","full_name":"TWiStErRob/android-lint-examples","owner":"TWiStErRob","description":"Project that reproduces every lint violation out there. (At least that's the idea, contributions welcome.)","archived":false,"fork":false,"pushed_at":"2025-03-06T15:51:35.000Z","size":758,"stargazers_count":7,"open_issues_count":4,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-18T20:54:08.388Z","etag":null,"topics":["android","android-development","lint","static-analysis","static-code-analysis"],"latest_commit_sha":null,"homepage":"https://github.com/TWiStErRob/android-lint-examples","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TWiStErRob.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"Security/EasterEgg/build.gradle","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"TWiStErRob"}},"created_at":"2019-02-10T12:38:37.000Z","updated_at":"2025-03-05T06:04:11.000Z","dependencies_parsed_at":"2024-02-09T07:41:01.787Z","dependency_job_id":"5d5a4be4-8cac-42c2-b221-00baa7d852cb","html_url":"https://github.com/TWiStErRob/android-lint-examples","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TWiStErRob%2Fandroid-lint-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TWiStErRob%2Fandroid-lint-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TWiStErRob%2Fandroid-lint-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TWiStErRob%2Fandroid-lint-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TWiStErRob","download_url":"https://codeload.github.com/TWiStErRob/android-lint-examples/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245108319,"owners_count":20562021,"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","android-development","lint","static-analysis","static-code-analysis"],"created_at":"2024-10-11T19:46:09.037Z","updated_at":"2025-03-23T13:32:39.523Z","avatar_url":"https://github.com/TWiStErRob.png","language":"Java","readme":"Project that reproduces every lint violation out there.\n\n_See [`settings.gradle`](settings.gradle) for list of lint checks added in the project._\n\nGoals\n-----\n\n * simple examples demonstrating each and every Lint check violation\n * modules focused on single Lint check\n * get every possible report for each check  \n   (each execution path in detectors, see [CONTRIBUTING.md](docs/CONTRIBUTING.md#Coverage))\n * discover bugs in `lint`  \n   (flagged with `REPORT` or `REPORTED` comments, see [CONTRIBUTING.md](docs/CONTRIBUTING.md#Documentation))\n\nWarning\n-------\n**This project is not meant to show good practices, quite the opposite, code is written intentionally badly to reproduce specific Lint check violations.**\n \nThat being said, I strive to use best practices and style whenever possible. Code that's not related to the lint check violation should be the best possible. For example supporting code (like `build.gradle`s) were written with best intentions.\n\nExamples one should almost never do in production:\n\n * Blindly suppress a Lint warning as \"irrelevant\"  \n   _I did it here to focus on a specific issue. Rest assured, there are other modules which violate those checks too._\n * Uppercase Gradle module names  \n   _I chose to use non-standard naming so that it's extremely clear which module deals with what lint check. It also allows to automate easily (see how `lintOptions` and `lintVerifyCount` is set up)._\n * Uppercase Java/Kotlin package names  \n   _I chose to use non-standard naming to have the check name occur in the module as text with exact text casing._\n\n\nSetup \u0026 Debugging\n-----------------\nSee [instructions](docs/DEVELOPMENT.md)\n\nReading\n-------\n * What is lint? What does it do?  \n   http://tools.android.com/lint/overview\n * What lint version belongs to what Android Gradle Plugin version?  \n   There seems to be a correspondence: `23.0.0 + \u003cAGP version\u003e`.  \n   e.g. AGP 3.0.0 = lint 26.0.0, AGP 3.3.2 = lint 26.3.2\n * List of lint checks with explanation  \n   http://tools.android.com/tips/lint-checks\n   ```shell\n   lint --show\n   ```\n   See [`docs/lint/show (version).txt`](docs/lint).\n * List of lint checks (concise)  \n   ```shell\n   lint --list\n   ```\n   See [`docs/lint/list (version).txt`](docs/lint).\n * lint source code tests  \n   [platform/tools/base/+/studio-master-dev/lint/libs/lint-tests](https://android.googlesource.com/platform/tools/base/+/studio-master-dev/lint/libs/lint-tests/src/test/java/com/android/tools/lint/checks)\n * List of lint checks supported by Android Studio 3.3.1  \n   [`.idea/inspectionProfiles/Project_Default.xml`](.idea/inspectionProfiles/Project_Default.xml)\n * Lint categories (based on `lint-checks-26.0.0-dev.jar`)\n   ```shell\n   lint --show | grep 'Category:' | uniq --count | sort --reverse\n   # Windows with grep and uniq helpers from cpp-w64devkit:\n   lint --show | grep \"Category:\" | uniq -c | sort /R\n   ```\n   See [`docs/lint/categories (version).txt`](docs/lint).\n","funding_links":["https://github.com/sponsors/TWiStErRob"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwisterrob%2Fandroid-lint-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftwisterrob%2Fandroid-lint-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwisterrob%2Fandroid-lint-examples/lists"}