# ChannelPlugin **Repository Path**: wxfy521/channel-plugin ## Basic Information - **Project Name**: ChannelPlugin - **Description**: 最普通的多渠道打包,通过替换AndroidManifest.xml中的特定占位方式实现多渠道打包,非Android studio的每次都需要重新打包。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-23 - **Last Updated**: 2025-07-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 多渠道打包插件使用说明 ## 一、本地项目依赖使用方法 ### 1. 添加插件依赖 在项目的 `settings.gradle` 或 `build.gradle` 中添加本地 Maven 仓库路径(根据实际路径调整): ```groovy maven { url = uri("./channelWriter/build/maven-repo") } ``` ### 2. 主项目添加插件依赖 在主模块的 `build.gradle` 中应用插件: ```groovy plugins { id("zyf.channel.plugin") version "1.0.0" } ``` ### 3. 配置渠道参数 在主模块的 `build.gradle` 中添加 `channelConfig` 配置: ```groovy channelConfig { channelFilePath = project.projectDir.absolutePath + "/channel.properties" keystore = File(project.rootDir.absolutePath + "/key/plugin.jks") keyPass = "abc123456" storePass = "abc123456" alias = "plugin" } ``` ### 4. 添加渠道配置文件 在主模块(一般为 `app`)目录下添加 `channel.properties` 文件,格式如下: ``` common=1000001 xiaomi=1000002 huawei=1000003 ``` 每一行一个渠道名和对应渠道 ID。 ### 5. 修改 AndroidManifest.xml 增加渠道占位符 在 `AndroidManifest.xml` 文件的 `` 标签内添加: ```xml ``` ### 6. 构建 APK 执行打包命令后,生成的带渠道信息的 APK 文件将在以下目录下: ``` app/build/outputs/channelApk/signed/ ``` --- ## 二、本地 Maven 仓库使用方法 ### 1. 拷贝依赖文件 将 `channelWriter/build/maven-repo` 下的文件拷贝到主项目的本地 Maven 仓库目录(如:`./maven`),如果没有请手动创建。 在 `settings.gradle` 或 `build.gradle` 中添加本地 Maven 配置: ```groovy maven { url './maven' } ``` ### 2. 其他使用方式同上 --- ## 三、App 端渠道信息读取方式 在 App 内通过读取 `AndroidManifest.xml` 中的 `` 信息获取渠道信息: ```java ApplicationInfo appInfo = context.getPackageManager() .getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA); String channelId = appInfo.metaData.getString("CHANNEL_ID"); String channelName = appInfo.metaData.getString("CHANNEL_NAME"); ``` --- ## 四、本地发布插件命令 在插件项目根目录执行以下命令以发布插件到本地 Maven: ```bash ./gradlew publish ```