{"id":13471980,"url":"https://github.com/androidstarters/android-starter","last_synced_at":"2025-04-05T06:07:23.863Z","repository":{"id":46208148,"uuid":"64903660","full_name":"androidstarters/android-starter","owner":"androidstarters","description":"[Android Architecture] Android starter based on MVP/Dagger2/RxJava2/Robolectric/Espresso/Mockito. It provides a generator to fast create a Android template project.","archived":false,"fork":false,"pushed_at":"2021-11-06T22:00:08.000Z","size":1923,"stargazers_count":511,"open_issues_count":11,"forks_count":66,"subscribers_count":26,"default_branch":"develop","last_synced_at":"2025-04-03T08:27:58.405Z","etag":null,"topics":["android","architecture","checkstyle","espresso","findbugs","mockito","mvp-architecture","pmd","robolectric","rxjava"],"latest_commit_sha":null,"homepage":"https://git.io/v9UjE","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/androidstarters.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-08-04T04:55:47.000Z","updated_at":"2025-01-07T05:54:01.000Z","dependencies_parsed_at":"2022-09-25T05:51:29.403Z","dependency_job_id":null,"html_url":"https://github.com/androidstarters/android-starter","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/androidstarters%2Fandroid-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/androidstarters%2Fandroid-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/androidstarters%2Fandroid-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/androidstarters%2Fandroid-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/androidstarters","download_url":"https://codeload.github.com/androidstarters/android-starter/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247294538,"owners_count":20915340,"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","architecture","checkstyle","espresso","findbugs","mockito","mvp-architecture","pmd","robolectric","rxjava"],"created_at":"2024-07-31T16:00:50.853Z","updated_at":"2025-04-05T06:07:23.840Z","avatar_url":"https://github.com/androidstarters.png","language":"Java","readme":"# AndroidMvpStarter [![Build Status](https://travis-ci.org/androidstarters/android-starter.svg?branch=master)](https://travis-ci.org/androidstarters/android-starter)\n\n[![Backers on Open Collective](https://opencollective.com/android-starter/backers/badge.svg)](#backers) [![Sponsors on Open Collective](https://opencollective.com/android-starter/sponsors/badge.svg)](#sponsors) [![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-Android%20MVP%20Starter-blue.svg?style=flat)](https://android-arsenal.com/details/3/5232)\n[![Join the chat at https://gitter.im/android-starter/Lobby](https://badges.gitter.im/android-starter/Lobby.svg)](https://gitter.im/android-starter/Lobby?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\nAn MVP Boilerplate to save me having to create the same project over from scratch every time! :)\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"http://g.recordit.co/L5selg7aIv.gif\" width=\"250\"\u003e\n  \u003cimg src=\"http://g.recordit.co/xt4o5wTySc.gif\"\u003e\n\u003c/p\u003e\n\n## This project uses:\n- [RxJava2](https://github.com/ReactiveX/RxJava) and [RxAndroid](https://github.com/ReactiveX/RxAndroid)\n- [Retrofit](http://square.github.io/retrofit/) / [OkHttp](http://square.github.io/okhttp/)\n- [Gson](https://github.com/google/gson)\n- [Dagger 2](http://google.github.io/dagger/)\n- [Butterknife](https://github.com/JakeWharton/butterknife)\n- [Google Play Services](https://developers.google.com/android/guides/overview)\n- [Timber](https://github.com/JakeWharton/timber)\n- [Glide 3](https://github.com/bumptech/glide)\n- [Stetho](http://facebook.github.io/stetho/)\n- [Espresso](https://google.github.io/android-testing-support-library/) for UI tests\n- [Robolectric](http://robolectric.org/) for framework specific unit tests\n- [Mockito](http://mockito.org/)\n- [Checkstyle](http://checkstyle.sourceforge.net/), [PMD](https://pmd.github.io/) and [Findbugs](http://findbugs.sourceforge.net/) for code analysis\n\n\n## Create new project using yeoman [generator-android-mvp-starter](https://github.com/androidstarters/generator-android-mvp-starter)\n```bash\nnpm install -g yo\nnpm install -g generator-android-mvp-starter\nmkdir NewApp \u0026\u0026 cd $_\nyo android-mvp-starter\n```\n\n## Building\n\nTo build, install and run a debug version, run this from the root of the project:\n```sh\n./gradlew app:assembleDebug\n```\n    \n## Testing\n\nTo run **unit** tests on your machine:\n\n```sh\n./gradlew test\n```\n\nTo run **instrumentation** tests on connected devices:\n\n```sh\n./gradlew connectedAndroidTest\n```\n\n## Code Analysis tools\n\nThe following code analysis tools are set up on this project:\n\n* [PMD](https://pmd.github.io/)\n\n```sh\n./gradlew pmd\n```\n\n* [Findbugs](http://findbugs.sourceforge.net/)\n\n```sh\n./gradlew findbugs\n```\n\n* [Checkstyle](http://checkstyle.sourceforge.net/)\n\n```sh\n./gradlew checkstyle\n```\n\n## The check task\n\nTo ensure that your code is valid and stable use check:\n\n```sh\n./gradlew check\n```\n\n## Jacoco Reports\n\n#### Generate Jacoco coverage reports for the Debug build. Only unit tests.\n\n```sh\napp:testDebugUnitTestCoverage\n```\n\n#### Generate Jacoco coverage reports for the Release build. Only unit tests.\n\n```sh\napp:testReleaseUnitTestCoverage\n```\n\n#### Generate Jacoco coverage reports for the Debug build. Both unit and espresso tests.\n\n```sh\napp:unitAndEspressoDebugTestCoverage\n```\n\n#### Generate Jacoco coverage reports for the Release build. Both unit and espresso tests.\n\n```sh\napp:unitAndEspressoReleaseTestCoverage\n```\n\n### Created \u0026 Maintained By\n[Ravindra Kumar](https://github.com/ravidsrk) ([@ravidsrk](https://www.twitter.com/ravidsrk))\n\n\u003e If you found this repo helpful or you learned something from the source code and want to thank me, consider [buying me a cup of](https://www.paypal.me/ravidsrk) :coffee:\n\n## Contributors\n\nThis project exists thanks to all the people who contribute. [[Contribute]](CONTRIBUTING.md).\n\u003ca href=\"graphs/contributors\"\u003e\u003cimg src=\"https://opencollective.com/android-starter/contributors.svg?width=890\" /\u003e\u003c/a\u003e\n\n\n## Backers\n\nThank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/android-starter#backer)]\n\n\u003ca href=\"https://opencollective.com/android-starter#backers\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/android-starter/backers.svg?width=890\"\u003e\u003c/a\u003e\n\n\n## Sponsors\n\nSupport this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/android-starter#sponsor)]\n\n\u003ca href=\"https://opencollective.com/android-starter/sponsor/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/android-starter/sponsor/0/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/android-starter/sponsor/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/android-starter/sponsor/1/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/android-starter/sponsor/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/android-starter/sponsor/2/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/android-starter/sponsor/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/android-starter/sponsor/3/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/android-starter/sponsor/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/android-starter/sponsor/4/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/android-starter/sponsor/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/android-starter/sponsor/5/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/android-starter/sponsor/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/android-starter/sponsor/6/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/android-starter/sponsor/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/android-starter/sponsor/7/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/android-starter/sponsor/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/android-starter/sponsor/8/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/android-starter/sponsor/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/android-starter/sponsor/9/avatar.svg\"\u003e\u003c/a\u003e\n\n\n\n## License\n```\nMIT License\n\nCopyright (c) 2017 Ravindra Kumar\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n```\n","funding_links":["https://www.paypal.me/ravidsrk","https://opencollective.com/android-starter"],"categories":["Java"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroidstarters%2Fandroid-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandroidstarters%2Fandroid-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroidstarters%2Fandroid-starter/lists"}