{"id":26062993,"url":"https://github.com/androidappfactory/androidappfactory-doc","last_synced_at":"2026-02-27T17:40:20.633Z","repository":{"id":42497656,"uuid":"332796297","full_name":"AndroidAppFactory/AndroidAppFactory-Doc","owner":"AndroidAppFactory","description":"AAF 文档：包括库介绍以及使用方法","archived":false,"fork":false,"pushed_at":"2025-12-12T07:11:29.000Z","size":8513,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-13T16:29:24.441Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://android.bihe0832.com/","language":null,"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/AndroidAppFactory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-01-25T15:42:18.000Z","updated_at":"2025-12-12T07:11:33.000Z","dependencies_parsed_at":"2024-07-16T10:49:23.774Z","dependency_job_id":"72f16857-225f-48ca-9cea-9a52f2a5e7d6","html_url":"https://github.com/AndroidAppFactory/AndroidAppFactory-Doc","commit_stats":null,"previous_names":["androidappfactory/androidappfactory-doc"],"tags_count":0,"template":false,"template_full_name":"bihe0832/gitbook","purl":"pkg:github/AndroidAppFactory/AndroidAppFactory-Doc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidAppFactory%2FAndroidAppFactory-Doc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidAppFactory%2FAndroidAppFactory-Doc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidAppFactory%2FAndroidAppFactory-Doc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidAppFactory%2FAndroidAppFactory-Doc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndroidAppFactory","download_url":"https://codeload.github.com/AndroidAppFactory/AndroidAppFactory-Doc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidAppFactory%2FAndroidAppFactory-Doc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29906526,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T17:28:36.873Z","status":"ssl_error","status_checked_at":"2026-02-27T17:28:20.970Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2025-03-08T16:01:26.265Z","updated_at":"2026-02-27T17:40:20.612Z","avatar_url":"https://github.com/AndroidAppFactory.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"[ ![Github](https://img.shields.io/badge/bihe0832-AndroidAppFactory-brightgreen?style=social) ](https://github.com/bihe0832/AndroidAppFactory)\n[ ![Github](https://img.shields.io/github/last-commit/bihe0832/AndroidAppFactory) ](https://github.com/bihe0832/AndroidAppFactory)\n[ ![Github](https://img.shields.io/github/stars/bihe0832/AndroidAppFactory?style=social) ](https://github.com/bihe0832/AndroidAppFactory)\n[ ![Github](https://img.shields.io/bitbucket/issues/bihe0832/AndroidAppFactory) ](https://github.com/bihe0832/AndroidAppFactory)\n[ ![Maven Central](https://img.shields.io/maven-central/v/com.bihe0832.android/lib-wrapper) ](https://search.maven.org/artifact/com.bihe0832.android/lib-wrapper)\n\n\n# 写在前面\n\n做酱油的时候发现做开发那么久竟然没有一整套顺手的开发方案，要从头开始一个一个搭建（相当于之前做的就没什么沉淀），因此开始逐渐整理一整套相对全面并且顺手的开发方案。随着这几年逐渐完善，现在基本上具备雏形了，因此逐渐总结一下。\n\nAAF 是基于组件化方案，逐渐积累整理的一套完整的**组件化开发，多维度复用**的 Android 终端开发方案。\n\n在新方案的设计和优化过程中，我们的最终目标是**方案使用一套代码支持所有项目并对开发友好**。具体表现为：**统一技术栈**，**相同问题**彻底研究一次，然后提供**统一解决方案**，后续可以直接放心使用。最终做到一个项目的技术方案可以**高效便捷复用**到另一个项目，或者可以快速在框架基础上开发出一个独立全新的应用，开发过程中基本聚焦在新业务的逻辑，而不是基础功能。\n\n关于整个方案的详细介绍，可以参考文章：[安卓开发那些事总纲 \\| 子勰的博客](https://blog.bihe0832.com/android-dev-summary.html)\n\n# 框架介绍\n\n这是AAF的一个总体架构：\n\n\u003cimg src=\"./aaf_architecture.png\" /\u003e\n\n整个AAF框架共有四层：\n\n- **基础组件**：基础组件 `Router*` 是路由相关的基础组件，`Lib*` 是自己沉淀或者统一对比以后选择的第三方技术栈，**与业务无关，可通用**。\n\n- **公共组件**：基础框架 `Framework` 负责通用资源、公共声明、页面路由以及对于底层第三方库的二次封装，所有业务通用的基础通用功能。`Common*` 则是聚焦一个具体的业务无关的功能，例如反馈、内置浏览器等，这部分功能**也与业务无关，可通用**。\n\n- **业务组件**：基础框架 `Application` 包含与业务相关的一些公共资源定义，基础功能封装等。`Base*` 则是聚焦一个具体的业务功能，例如页面卡片、广告等。\n\n- **应用组件**：应用组件是可以独立运行的最小单元，而且他们基本只是一个Android Application 的空壳加一些配置文件，所有的业务逻辑都在业务组件层实现。其中里面比较特别的是APPTest，他既是底层业务组件开发中的临时入口，同时也是一些基础功能 和 所有 Pub的测试入口。\n\n对于整个框架的更多内容，可以参考 [AAF相关文档](./summary/links.md) 里面列出来的文章。\n\n对于基于框架开发的应用，可以参考 [应用事例](./summary/samples.md) 里面列举的具体应用案例。\n\n# 框架使用\n\n这个系列的文档重点介绍 AAF 框架的使用，包括：\n\n- 组件使用：如何在自己开发的项目中直接使用 AAF 提供的基础库\n\n- 框架使用：如何直接基于 AAF 开发新的应用\n\n对于「组件使用」没有门槛，就是常见的 maven 第三方库，可以直接引入并使用，文档中这部分内容主要介绍了当前包含的基础组件及其对应的功能。\n\n**对于「框架使用」和「框架开发」，熟悉、理解和使用有一定门槛，建议先仔细阅读 [安卓开发那些事总纲](https://blog.bihe0832.com/android-dev-summary.html) 里面关于「组件化框架介绍」的内容。**\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroidappfactory%2Fandroidappfactory-doc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandroidappfactory%2Fandroidappfactory-doc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroidappfactory%2Fandroidappfactory-doc/lists"}