From c46260e4c0935437ade407785f381ef24211bab1 Mon Sep 17 00:00:00 2001 From: lafay <2021211506@stu.hit.edu.cn> Date: Tue, 16 Jun 2026 08:38:07 +0800 Subject: [PATCH] chore(plugins,ci): remove livekit audio switch patch plugin and simplify build config Remove the LiveKit audio switch patch plugin as it's no longer needed after the JitPack repository was restricted to GitHub packages only. Simplify CI by removing npm caching and Android NDK caching/installation steps. Update privacy policy and terms of service to reflect JPush SDK naming changes. --- .gitea/workflows/build.yml | 33 +-------------- app.json | 1 - plugins/withLivekitAudioswitchPatch.js | 40 ------------------ src/screens/profile/PrivacyPolicyScreen.tsx | 43 ++++++-------------- src/screens/profile/TermsOfServiceScreen.tsx | 2 +- 5 files changed, 15 insertions(+), 104 deletions(-) delete mode 100644 plugins/withLivekitAudioswitchPatch.js diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 98c076e..615d9af 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -41,7 +41,6 @@ jobs: uses: actions/setup-node@v4 with: node-version: '25.6.1' - cache: 'npm' - name: Install dependencies run: npm ci @@ -123,28 +122,10 @@ jobs: uses: actions/setup-node@v4 with: node-version: '25.6.1' - cache: 'npm' - name: Install dependencies run: npm ci - - name: Cache Android NDK - uses: actions/cache@v4 - id: cache-ndk - with: - path: /opt/android/ndk - key: ndk-v2 - - - name: Install Android NDK - if: steps.cache-ndk.outputs.cache-hit != 'true' - run: | - echo "Existing NDK versions:" - ls /opt/android/ndk/ 2>/dev/null || echo "No NDK dir" - echo "Installing required NDK versions..." - yes | sdkmanager --install "ndk;27.1.12297006" "ndk;27.0.12077973" - echo "NDK after install:" - ls /opt/android/ndk/ - - name: Cache Gradle uses: actions/cache@v4 with: @@ -204,12 +185,7 @@ jobs: maven { url 'https://developer.huawei.com/repo/' } google() mavenCentral() - maven { - url 'https://www.jitpack.io' - content { - includeGroupByRegex "com\\.github.*" - } - } + maven { url 'https://www.jitpack.io' } } } @@ -256,12 +232,7 @@ jobs: maven { url 'https://developer.huawei.com/repo/' } google() mavenCentral() - maven { - url 'https://www.jitpack.io' - content { - includeGroupByRegex "com\\.github.*" - } - } + maven { url 'https://www.jitpack.io' } } } diff --git a/app.json b/app.json index 63b7d24..5aaca0c 100644 --- a/app.json +++ b/app.json @@ -68,7 +68,6 @@ "plugins": [ "./plugins/withCmakeJobLimit", "./plugins/withJcorePatch", - "./plugins/withLivekitAudioswitchPatch", "./plugins/withSigning", "./plugins/withMainActivityConfigChange", [ diff --git a/plugins/withLivekitAudioswitchPatch.js b/plugins/withLivekitAudioswitchPatch.js deleted file mode 100644 index d83adf1..0000000 --- a/plugins/withLivekitAudioswitchPatch.js +++ /dev/null @@ -1,40 +0,0 @@ -const { withDangerousMod } = require('@expo/config-plugins'); -const fs = require('fs'); -const path = require('path'); - -// @livekit/react-native depends on com.github.davidliu:audioswitch via JitPack. -// That JitPack artifact returns 403 Forbidden (repo/commit no longer accessible). -// The original upstream com.twilio:audioswitch is published on Maven Central. -// This plugin patches livekit's build.gradle during prebuild to swap the -// JitPack dependency for the Maven Central one. -const withLivekitAudioswitchPatch = (config) => - withDangerousMod(config, [ - 'android', - async (config) => { - const root = config.modRequest.projectRoot; - const gradlePath = path.join( - root, - 'node_modules', - '@livekit', - 'react-native', - 'android', - 'build.gradle', - ); - - if (!fs.existsSync(gradlePath)) return config; - - let content = fs.readFileSync(gradlePath, 'utf-8'); - const oldDep = /api\s+'com\.github\.davidliu:audioswitch:[a-f0-9]+'/; - const newDep = `api 'com.twilio:audioswitch:1.1.5'`; - - if (oldDep.test(content)) { - content = content.replace(oldDep, newDep); - fs.writeFileSync(gradlePath, content); - console.log('[withLivekitAudioswitchPatch] replaced davidliu JitPack audioswitch with com.twilio:audioswitch:1.1.5'); - } - - return config; - }, - ]); - -module.exports = withLivekitAudioswitchPatch; diff --git a/src/screens/profile/PrivacyPolicyScreen.tsx b/src/screens/profile/PrivacyPolicyScreen.tsx index 47e10fc..6bbe747 100644 --- a/src/screens/profile/PrivacyPolicyScreen.tsx +++ b/src/screens/profile/PrivacyPolicyScreen.tsx @@ -159,37 +159,18 @@ const PRIVACY_SECTIONS = [ title: '七、第三方SDK目录', content: `为了保障App的稳定运行或实现特定功能,我们可能接入第三方SDK。截至本隐私政策更新之日,我们主要使用以下服务: -1. 极光推送(JPush) -• 提供方:深圳市和讯华谷信息技术有限公司 -• 使用目的:实现消息推送功能,向您的设备发送通知提醒 -• 收集的个人信息:设备标识符(Registration ID、Android ID、IMEI、OAID)、设备型号、操作系统版本、IP地址、应用列表信息 -• 隐私政策:https://www.jiguang.cn/privacy - -2. Expo推送服务 -• 提供方:Expo(650 Industries, Inc.) -• 使用目的:辅助消息推送通道管理 -• 收集的个人信息:设备推送令牌(Push Token)、设备标识符 - -3. WorkManager(Android系统组件) -• 提供方:Google LLC -• 使用目的:在用户同意自启动后,执行后台消息同步任务 -• 收集的个人信息:无额外个人信息收集 -• 隐私政策:https://policies.google.com/privacy - -4. expo-task-manager / expo-background-task -• 提供方:Expo(650 Industries, Inc.) -• 使用目的:在用户同意自启动后,管理后台任务调度 -• 收集的个人信息:无额外个人信息收集 - -5. expo-notifications -• 提供方:Expo(650 Industries, Inc.) -• 使用目的:在用户同意自启动后,恢复通知服务 -• 收集的个人信息:设备推送令牌 - -6. expo-callkit-telecom -• 提供方:Expo(650 Industries, Inc.) -• 使用目的:通话功能相关服务 -• 收集的个人信息:无额外个人信息收集 +1. 极光推送 - JPush SDK - Android +所属系统:安卓、iOS +第三方公司名称:深圳市和讯华谷信息技术有限公司 +第三方收集的个人信息类型: +1. 设备标识符(Registration ID、Android ID、IMEI、OAID);2. 设备型号、操作系统版本;3. IP地址;4. 应用列表信息 +我们从第三方获取的个人信息:设备标识符(Registration ID) +第三方可能调用的权限:无 +实现功能及场景描述:消息推送 +处理目的:实现消息推送功能,向您的设备发送通知提醒 +处理方式:SDK采集 +联系方式:官网 https://www.jiguang.cn/ +第三方隐私政策链接:https://www.jiguang.cn/license/privacy 如您后续接入其他第三方SDK(如微信登录、分享等功能),我们将在本章节更新相关说明,并告知您对应SDK收集的信息类型和用途。更新后的SDK目录将在应用内公布,请以最新版本为准。`, }, diff --git a/src/screens/profile/TermsOfServiceScreen.tsx b/src/screens/profile/TermsOfServiceScreen.tsx index 1b7ea04..e3eabec 100644 --- a/src/screens/profile/TermsOfServiceScreen.tsx +++ b/src/screens/profile/TermsOfServiceScreen.tsx @@ -103,7 +103,7 @@ const TERMS_SECTIONS = [ 6.3 我们将采取合理的技术和管理措施保护您的个人信息安全,但不对因不可抗力或第三方原因导致的信息泄露承担责任。 -6.4 本应用集成了极光推送(JPush)等第三方SDK,用于实现消息推送等功能。第三方SDK可能会收集和处理您的设备标识符、设备信息等必要数据。具体的第三方SDK信息请参见《隐私政策》中的"第三方SDK目录"章节。`, +6.4 本应用集成了极光推送 - JPush SDK - Android等第三方SDK,用于实现消息推送等功能。第三方SDK可能会收集和处理您的设备标识符、设备信息等必要数据。具体的第三方SDK信息请参见《隐私政策》中的"第三方SDK目录"章节。`, }, { title: '七、免责声明',