{"id":16100067,"url":"https://github.com/fooock/andcre","last_synced_at":"2025-03-18T07:31:14.815Z","repository":{"id":128381847,"uuid":"97880430","full_name":"fooock/andcre","owner":"fooock","description":"Avoid boilerplate configs, code etc and start Android applications like a pro, with a lot of fantastic features!","archived":false,"fork":false,"pushed_at":"2018-04-08T13:19:54.000Z","size":1708,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-28T08:05:31.770Z","etag":null,"topics":["android","android-app","android-boilerplate","android-development","boilerplate","boilerplate-template"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fooock.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-20T21:40:39.000Z","updated_at":"2020-07-24T01:09:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"ef25d310-f8e2-4f26-b0e3-08bdeecffc45","html_url":"https://github.com/fooock/andcre","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/fooock%2Fandcre","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fooock%2Fandcre/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fooock%2Fandcre/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fooock%2Fandcre/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fooock","download_url":"https://codeload.github.com/fooock/andcre/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243910780,"owners_count":20367544,"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-app","android-boilerplate","android-development","boilerplate","boilerplate-template"],"created_at":"2024-10-09T18:44:57.824Z","updated_at":"2025-03-18T07:31:14.810Z","avatar_url":"https://github.com/fooock.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# andcre\n\n[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-andcre-green.svg?style=flat-square)](https://android-arsenal.com/details/1/6058)\n\nAndcre (android creator) is a python script to avoid boilerplate configs, code etc and create professional and ready to use Android projects.\n\n![](https://github.com/fooock/andcre/blob/master/media/andcre_project.png) \"Project created with andcre\"\n\n## Requirements\nandcre works with `python3`\n\n## Getting started\nFirst clone this repo\n```sh\n$ git clone https://github.com/fooock/andcre.git\n$ cd andcre\n```\nNow install the dependencies\n```sh\n$ pip3 install -r requirements.txt\n```\nCreate the environment variable **ANDCRE** to point to your android workspace.\nThis is where the android projects will be created.\n```sh\n$ export ANDCRE=/home/user/AndroidProjects\n```\nIf the environment variable is not set, the program will request it every time a new project is created\n\nExecute the script or set the `andcre.bat` or `andcre` to the `$PATH` to execute this program from any place!\n\n## Android project requeriments\nTo compile the generated project we need:\n* Java 1.7 or greater (1.8 recommended)\n* Latest Android SDK \n* Latest Android build tools\n\n## Features\n`andcre` create android projects with a lot of useful files and tools. It include support for android lint, findbugs, checkstyle and pmd. Automatically create a git repo, add all project files, commit it  and create the first tag.\n\n### Project files\n* Create automatically a `README.md` file, that contains the project name.\n* Create a `CHANGELOG.md` file and automatically write the name of the current version\nand the current date\n* Create the `TODO.md` file\n* Create `LICENSE` file\n* Create the `.gitignore` file with the common android ignored files/directories\n* Create the root `build.gradle` file\n\n### Build system\nThe andcre script create a folder in the root project directory called `buildsystem`.\nIt contains three files:\n* `dependencies.gradle`: Contains the dependencies of the project (test dependencies and\napplication dependencies)\n* `version.gradle`: Contain all things related to the project version\n* `project.gradle`: Project properties like target sdk, build tools version etc\n\nThe `version.gradle` file is based in [this great post from Dmytro Danylyk on hackernoon](https://hackernoon.com/configuring-android-project-version-name-code-b168952f3323)\n\n### Gradle wrapper\nThe gradle version used is the `gradle-4.3.1`\n\n### Quality tools\nIn the project root, a directory called `quality` is created. It contains all files needed to execute the static analysis tools and style checkers like findbugs, checkstyle, pmd and android lint. To generate all these reports execute\n```sh\n$ ./gradlew check\n```\nNote that if you add more modules to the project, this task is applied. The reports are generated in the `\u003cproject\u003e/app/build/reports` directory\n\nAll quality files [are from this fantastic repo!](https://github.com/Piasy/AndroidCodeQualityConfig)\n\n### App debug options\nThe application create a custom `DefaultApplication` for the `debug` builds and initialize for default custom configurations not needed in application releases. The debug options are:\n* Initialize `Timber` with the `Timber.DebugTree()`\n* Detect all kind of problems and log it using the `StrictMode.setThreadPolicy()` and `StrictMode.setVmPolicy` methods.\n* Setup `LeakCanary`. Only compile in `debugCompile` (see app/build.gradle) \n* Initialize the default values for `Stetho`\n\n**Note**: This configuration **only** applies to debug builds! \n\n### Git\nWhen the project is created a new git repository is initialized. You can use the gradle task `printVersion` to check out it.\n\n### App module\nFor default the `AndroidManifest.xml` has the `INTERNET` permission. For each build type (debug/release) a `DefaultApplication` is created with different log configurations.\n* For the **debug** type a `Timber.DebugTree()` is initialized.\n* For the **release** type a custom `CrashReportingTree()` is created. This tree discards automatically all `DEBUG` and `VERBOSE` logs, and can be able to report all errors and warnings using the `CrashLibrary` class\n\nThe applicatiod id for the debug build type has the `.debug` suffix.\n\n### Apk generation\nAll apk's are generated in the `build/outputs/apk` directory. The name of the apk correspond to the project name with the current version. For example, your module name is `app`, and the version is `0.1`, the resulting apk's will be:\n* For the `debug` build type: `app-0.1-debug.apk`\n* For the `release` build type: `app-0.1-release.apk`\n\n### Include open source notices\nThe `play-services-oss-licenses` library is included to show the list of licenses used by the libraries included in the application. To show the list you only need to call the code:\n\n```java\nfinal Intent intent = new Intent(this, OssLicensesMenuActivity.class);\nstartActivity(intent);\n```\nYou can change the activity title. For more info see [the documentation](https://developers.google.com/android/guides/opensource)\n\n### Libraries used\n* Android support libraries: *app-compat*, *constraint-layout*\n* [Timber](https://github.com/JakeWharton/timber)\n* [Butterknife](http://jakewharton.github.io/butterknife/)\n* [Google OSS Licenses](https://developers.google.com/android/guides/opensource)\n* [Retrofit 2 \u0026 Gson converter](http://square.github.io/retrofit/)\n* [OkHttp3](https://github.com/square/okhttp)\n* [Dagger2](https://google.github.io/dagger/)\n\nFor application debug, I included:\n* [Leak Canary](https://github.com/square/leakcanary)\n* [Stetho](http://facebook.github.io/stetho/)\n\nFor application testing:\n* [JUnit 4.12](http://junit.org/junit4/)\n* [Mockito](http://site.mockito.org/)\n* [Espresso](https://developer.android.com/training/testing/espresso/index.html)\n* [OkHttp Mock Web Server](https://github.com/square/okhttp)\n\n## Final Android project\nThe result project structure is like this:\n\n![](https://github.com/fooock/andcre/blob/master/media/img1.png)\n\n![](https://github.com/fooock/andcre/blob/master/media/img2.png)\n\n![](https://github.com/fooock/andcre/blob/master/media/img3.png)\n\n### Suggestions\nOpen an [issue](https://github.com/fooock/andcre/issues) or create a new [pull request](https://github.com/fooock/andcre/pulls)\n\n### License\n```\nCopyright 2017 newhouse (nhitbh at gmail dot com)\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffooock%2Fandcre","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffooock%2Fandcre","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffooock%2Fandcre/lists"}