{"id":19411564,"url":"https://github.com/volcengine/sdkhotupdatescaffold","last_synced_at":"2025-07-09T01:38:51.125Z","repository":{"id":103371405,"uuid":"483885518","full_name":"volcengine/SdkHotUpdateScaffold","owner":"volcengine","description":null,"archived":false,"fork":false,"pushed_at":"2023-02-14T09:49:48.000Z","size":521,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-25T02:34:00.743Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/volcengine.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":"2022-04-21T02:54:33.000Z","updated_at":"2023-08-28T12:03:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"f97f37f1-de6f-4eeb-bcf9-26dd7d8a224f","html_url":"https://github.com/volcengine/SdkHotUpdateScaffold","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/volcengine/SdkHotUpdateScaffold","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volcengine%2FSdkHotUpdateScaffold","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volcengine%2FSdkHotUpdateScaffold/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volcengine%2FSdkHotUpdateScaffold/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volcengine%2FSdkHotUpdateScaffold/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/volcengine","download_url":"https://codeload.github.com/volcengine/SdkHotUpdateScaffold/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/volcengine%2FSdkHotUpdateScaffold/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264376489,"owners_count":23598546,"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":[],"created_at":"2024-11-10T12:22:04.132Z","updated_at":"2025-07-09T01:38:51.098Z","avatar_url":"https://github.com/volcengine.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 脚手架项目结构简介\n- app：脚手架中的宿主模块，也可以看作是真实环境中的用户侧应用，主要用于测试SDK功能。\n- plugin-api：脚手架工程的API层，您可以在其中定义SDK中的接口。API层的最终产物为一个.aar文件或Maven坐标，提供给用户进行接入。用户可以通过调用其中的方法，从而实现对SDK的使用。\n- plugin-impl：脚手架工程的实现层，您可以将SDK中需要实现动态化的代码放在此处。\n- zeus-config：脚手架工程核心配置文件。通常情况下，您只需要修改此目录下的配置文件即可。\n    - config.json5：\n        - plugins节点：描述了脚手架工程中的所有插件。\n        - common节点：描述了脚手架工程中的公共配置。\n    - plugin.gradle：SDK的主配置文件，在这里对SDK编译时的选项进行配置。并且在编译阶段会进行相应配置检测，如果检测不通过则编译失败，编译失败时可以根据报错信息进行修改。 例如：四大组件占桩检测、资源keep检测、类keep检测等。\n    - plugin_api.gradle：SDK API层配置文件，您可以在此处添加API层的依赖。\n    - plugin_impl.gradle：SDK 实现层的配置文件，您可以在此处添加实现层的依赖。\n\n## 快速启动\n1. 直接运行App module，此时会发现界面中提示插件未安装。\n \u003cdiv align=center\u003e\u003cimg src=\"./image/readme_01.png\" width=\"200\"\u003e\u003c/div\u003e\n\n2. 执行`./gradlew plugin:clean plugin:assembleDebug`命令，然后重启App，会发现插件已经安装好了，并且通过点击按钮也可以跳转到插件Activity中\n    - plugin module的输出产物是插件，执行该命令会自动编译一个插件apk出来。\n    - 在调试阶段，我们可以通过adb命令把插件push到sd卡中即可使插件生效。由于在高版本系统中adb push有权限问题，push比较麻烦，因此我把push逻辑写到了gradle/zeus/common_plugin.gradle文件中，每次执行assemble之后会自动进行adb push。如下图表示push的流程（即使push失败，插件apk也是编译成功的）。\n \u003cdiv align=center\u003e\u003cimg src=\"./image/readme_02.png\" width=\"400\"\u003e\u003c/div\u003e\n\n    \n    \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvolcengine%2Fsdkhotupdatescaffold","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvolcengine%2Fsdkhotupdatescaffold","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvolcengine%2Fsdkhotupdatescaffold/lists"}