{"id":20956624,"url":"https://github.com/gitlqr/repluginx","last_synced_at":"2025-05-14T05:32:24.130Z","repository":{"id":60129561,"uuid":"435732038","full_name":"GitLqr/RePluginX","owner":"GitLqr","description":"🔥 Supports AndroidX and Android-Support ","archived":false,"fork":false,"pushed_at":"2022-11-17T11:37:09.000Z","size":5960,"stargazers_count":42,"open_issues_count":1,"forks_count":13,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-03-22T07:41:31.932Z","etag":null,"topics":["android-support","androidx","repluginx"],"latest_commit_sha":null,"homepage":"","language":"Java","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/GitLqr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-07T03:37:45.000Z","updated_at":"2023-02-21T08:11:53.000Z","dependencies_parsed_at":"2023-01-22T16:15:32.364Z","dependency_job_id":null,"html_url":"https://github.com/GitLqr/RePluginX","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GitLqr%2FRePluginX","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GitLqr%2FRePluginX/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GitLqr%2FRePluginX/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GitLqr%2FRePluginX/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GitLqr","download_url":"https://codeload.github.com/GitLqr/RePluginX/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225277256,"owners_count":17448654,"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-support","androidx","repluginx"],"created_at":"2024-11-19T01:27:10.133Z","updated_at":"2024-11-19T01:27:10.783Z","avatar_url":"https://github.com/GitLqr.png","language":"Java","readme":"## RePluginX\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Qihoo360/RePlugin/wiki\"\u003e\n    \u003cimg alt=\"RePluginX Logo\" src=\"https://cdn.jsdelivr.net/gh/FullStackAction/PicBed@resource20210320170901/image/202112101539434.png\" width=\"400\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Qihoo360/RePlugin/blob/master/LICENSE\"\u003e\n    \u003cimg src=\"http://img.shields.io/badge/license-Apache2.0-brightgreen.svg?style=flat\" alt=\"license\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## 特性\n\n- ✅ 支持 AnroidSupport、AndroidX 工程\n- ✅ 支持 RePlugin Transform 开关 配置 (`enable`)\n- ✅ 支持 坑位 Activity 的屏幕方向 配置 (`screenOrientation`)\n- ✅ 支持 移除 class 文件 配置 (`classExcludes`、`classIncludes`)\n- ✅ 支持 多版本 AGP `2.x` `3.x` `4.x` （7.x 暂未兼容）\n- ...\n\n| AGP   | Gradle Wrapper | Support |\n| ----- | -------------- | ------- |\n| 2.3.3 | 3.3 / 4.6      | ✔️      |\n| 3.2.1 | 4.6            | ✔️      |\n| 3.5.3 | 5.4.1          | ✔️      |\n| 4.1.1 | 6.5            | ✔️      |\n| 7.0.4 | 7.0.2          | ❌      |\n\n\u003e 注：AGP 即 Android Gradle Plugin\n\n## 使用\n\n- **RPX_VERSION**： ![Release Version](https://img.shields.io/github/v/release/GitLqr/RePluginX.svg)\n- **gralde Versions**：![](https://img.shields.io/badge/gradle-4.6-green)\n- **AGP Versions**：![](https://img.shields.io/badge/android.tools-3.2.1-green)\n\n### 1、集成 jitpack 仓库\n\n宿主/插件 项目根目录 build.gradle 中加入：\n\n```groovy\nbuildscript {\n    repositories {\n        ...\n        maven { url 'https://jitpack.io' }\n    }\n}\n\nallprojects {\n    repositories {\n        ...\n        maven { url 'https://jitpack.io' }\n    }\n}\n```\n\n### 2、配置 宿主(host) 工程\n\n在宿主工程根目录下 build.gradle 中加入：\n\n```groovy\nbuildscript {\n    ...\n    dependencies {\n        classpath 'com.android.tools.build:gradle:2.3.3' // AndroidX 工程需升级到 3.2.0 及以上\n        classpath \"com.github.GitLqr.RePluginX:replugin-host-gradle:${RPX_VERSION}\"\n    }\n}\n```\n\n在宿主 主 Module(app) 目录下 build.gradle 中加入：\n\n```groovy\ndependencies {\n    ...\n    implementation \"com.github.GitLqr.RePluginX:replugin-host-library:${RPX_VERSION}\"\n    // 注意：如果是 AndroidX 宿主工程，必须添加如下依赖 ！！\n    // implementation \"androidx.localbroadcastmanager:localbroadcastmanager:1.0.0\"\n}\n\napply plugin: 'replugin-host-gradle'\nrepluginHostConfig {\n    // enable = true // 是否启用插件功能，默认为true\n    screenOrientation = 'landscape' // 坑位 Activity 方向（portrait / landscape）\n    ...\n}\n```\n\n- `enable`：是否启用插件功能，默认为 true，宿主工程一般不会用到！\n- `screenOrientation` ：坑位 Activity 的屏幕方向配置，默认不配置即为竖屏 `portrait`，如需横屏可配置为 `landscape`。\n\n### 3、配置 插件(plugin) 工程\n\n在插件工程根目录下 build.gradle 中加入：\n\n```groovy\nbuildscript {\n    ...\n    dependencies {\n        classpath 'com.android.tools.build:gradle:2.3.3' // AndroidX 工程需升级到 3.2.0 及以上\n        classpath \"com.github.GitLqr.RePluginX:replugin-plugin-gradle:${RPX_VERSION}\"\n    }\n}\n```\n\n在插件 主 Module(app) 目录下 build.gradle 中加入：\n\n```groovy\ndependencies {\n    ...\n    implementation \"com.github.GitLqr.RePluginX:replugin-plugin-library:${RPX_VERSION}\"\n}\n\n// 这个plugin需要放在android配置之后，因为需要读取android中的配置项\napply plugin: 'replugin-plugin-gradle'\nrepluginPluginConfig {\n    enable = true // 是否启用插件功能，默认为true\n    classExcludes = [] // 移除class文件配置（正则表达式），例如：[\"androidx.*\"]\n    classIncludes = [] // 保留class文件配置（正则表达式），例如：[\"androidx.fragment.app.FragmentActivity\"]\n    ...\n}\n```\n\n- `enable`：是否启用插件功能，默认为 true。配置为 false 时，插件工程将失去 RePlugin Transform 功能（Transform 很耗时），这意味着工程打包出来的就只是普通的 apk，但同时也恢复了原有的编译速度，一般只在快速开发工程时配置为 false。记得在正式出包前配置为 true 或将其注释掉。\n- `classExcludes`：移除 class 文件配置【正则表达式】，默认为空(不移除任何 class)。配置后，只要 class 文件的全限定名 满足该配置列表中的任意一项正则表达式时，都不会被打包进插件 apk 文件中，从而减少插件 apk 体积。\n- `classIncludes`：保留 class 文件配置【正则表达式】，默认为空。该配置主要是为了与 `classExcludes` 配合使用，当指定包路径下除了个别 class 文件外需要保留，而其余 class 文件需要移除时，可以在该配置列表中指定要保留的 class 文件全限定名。\n\n## 技术要点\n\n- [《RePluginX - 兼容 AndroidX 并加入新特性开发纪要》](https://juejin.cn/post/7040733114506674183)\n\n## 官方原文档\n\n- [《RePlugin 官方【英文】文档》](./README_ORIGINAL.md)\n- [《RePlugin 官方【中文】文档》](./README_CN.md)\n- [《RePlugin 官方 Wiki》](https://github.com/Qihoo360/RePlugin/wiki)\n\n![](https://github.com/LinXunFeng/LinXunFeng/raw/master/static/img/FSAQR.png)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitlqr%2Frepluginx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgitlqr%2Frepluginx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitlqr%2Frepluginx/lists"}