{"id":17978772,"url":"https://github.com/jessyancoding/armscomponent-template","last_synced_at":"2025-04-09T17:24:04.652Z","repository":{"id":122734832,"uuid":"133339634","full_name":"JessYanCoding/ArmsComponent-Template","owner":"JessYanCoding","description":"🛠️ 一键搭建 ArmsComponent 快速组件化方案的整体组件架构, 让新手也可以一秒开始组件化项目, 开发神器, 让您一秒起飞, 体验纯傻瓜式的组件化开发, 避免组件化从入门到放弃!","archived":false,"fork":false,"pushed_at":"2020-02-27T07:36:13.000Z","size":4495,"stargazers_count":343,"open_issues_count":4,"forks_count":40,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-06T15:15:27.400Z","etag":null,"topics":["android","android-template","arms","armscomponent","armscomponent-template","mvparms","template"],"latest_commit_sha":null,"homepage":"","language":"FreeMarker","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JessYanCoding.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}},"created_at":"2018-05-14T09:48:28.000Z","updated_at":"2025-01-05T16:34:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"6d52c645-8e85-4666-a759-f0763fef317d","html_url":"https://github.com/JessYanCoding/ArmsComponent-Template","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JessYanCoding%2FArmsComponent-Template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JessYanCoding%2FArmsComponent-Template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JessYanCoding%2FArmsComponent-Template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JessYanCoding%2FArmsComponent-Template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JessYanCoding","download_url":"https://codeload.github.com/JessYanCoding/ArmsComponent-Template/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248075519,"owners_count":21043602,"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-template","arms","armscomponent","armscomponent-template","mvparms","template"],"created_at":"2024-10-29T17:35:04.504Z","updated_at":"2025-04-09T17:24:04.630Z","avatar_url":"https://github.com/JessYanCoding.png","language":"FreeMarker","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Logo](https://raw.githubusercontent.com/JessYanCoding/ArmsComponent/master/arts/arms_component_banner_v1.0.jpg)\n\n**一键搭建 [ArmsComponent](https://github.com/JessYanCoding/ArmsComponent) 快速组件化方案的整体组件架构, 让新手也可以一秒开始组件化项目, 开发神器, 让您一秒起飞, 体验纯傻瓜式的组件化开发, 避免组件化从入门到放弃!**\n\n\u003e **Tips: 先使用 ArmsComponent-Template (Module 级一键模板) 一键搭建整体组件架构, 再使用 [MVPArmsTemplate](https://github.com/JessYanCoding/MVPArmsTemplate) (页面级一键模板) 一键生成每个业务页面所需要的 MVP 及 Dagger2 相关类, 即可让什么都不懂的新手也可以一秒开始组件化项目!**  \n\u003e **若您基于本模板修改并且开源于网络, 请注明出处, 尊重开源, 才有人愿意开源, 谢谢!**\n\n此模板会持续保持更新新的内容并同步兼容最新的 **AndroidStudio 稳定版**, 如果最新的模板代码不能兼容您的 **AndroidStudio 旧版本**, 请自行升级  **AndroidStudio** 到最新的稳定版, 或者自行回滚模板代码到能兼容旧版本的代码 (因为模板也是和 **AndroidStudio** 的版本同步更新的, 但也可能模板第一次提交兼容的版本都高于您的 **AndroidStudio** 旧版本), 此模板由于会随时更新新的内容, 所以不可能为每个 **AndroidStudio** 版本都维护一个分支, 这将极大的增加我的工作量, 所以在受益于模板带来的便利的同时, 也请尊重我的决定, 请不要提关于 **AndroidStudio 旧版本** 不兼容的 **Issues**, 谢谢\n\n## Overview\n![gif](art/ArmsComponent-Template.gif)\n\n## 如何安装？\n请将 **NewArmsComponent** 这个文件夹复制到 **AndroidStudio Module** 模版的存放路径, 请注意是复制整个文件夹, 不是里面的内容!\n\n**AndroidStudio Module** 模版存放路径 (**请注意 Module 级模板和页面级模板的存放路径不一样, 不要放错了!**):\n\n* Windows : AS安装目录/plugins/android/lib/templates/gradle-projects\n\n* Mac : /Applications/Android Studio.app/Contents/plugins/android/lib/templates/gradle-projects\n\n**最后记得重启 AndroidStudio !**\n\n## 如何使用?\n使用时按下图步骤即可, 也可以使用快捷键, **Mac** 的快捷键是在项目名上按 **Command + n**, 选择  **Module**, **Windows** 快捷键自己百度\n\n![step](art/step.jpeg)\n\n## 注意事项\n* 本模板是基于 [ArmsComponent](https://github.com/JessYanCoding/ArmsComponent) 开发的, 所以使用的是 **ArmsComponent** 的整体架构, 模板依赖了 **ArmsComponent** 官方工程中的一些文件如 [isBuildModule](https://github.com/JessYanCoding/ArmsComponent/blob/master/gradle.properties#L19), 最优的方式是直接 **clone** 或下载 **ArmsComponent** 的官方工程后, 在工程上面直接使用本模板, 开始业务的开发, 让您体验纯傻瓜式的组件化开发\n\n* 使用本模板生成的组件马上就可以独立运行, 但是如果您想要集成调试, 还需要在宿主 **App** 中 [依赖此组件](https://github.com/JessYanCoding/ArmsComponent/blob/master/app/build.gradle#L55)\n```gradle\n  dependencies {\n    if (!isBuildModule.toBoolean()) {\n        //在宿主 App 中使用 implementation 依赖业务组件, 业务组件的代码就会完全暴露给宿主 App, 不利于代码的隔离\n        //使用 runtimeOnly 依赖业务组件, 可实现业务组件的代码在编译时对宿主 App 不可见, 仅在运行时对宿主 App 可见\n        runtimeOnly project(\":ModuleZhihu\")\n        runtimeOnly project(\":ModuleGank\")\n        runtimeOnly project(\":ModuleGold\")\n        runtimeOnly project(\":组件名(Module name)\")\n    }\n  }\n```\n\n![attention-1](art/attention-1.jpeg)\n\n![attention-2](art/attention-2.jpeg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjessyancoding%2Farmscomponent-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjessyancoding%2Farmscomponent-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjessyancoding%2Farmscomponent-template/lists"}