Browse Source

使用echo y 方式接受licence

dengdx 2 days ago
parent
commit
2a10e8c16b
1 changed files with 8 additions and 6 deletions
  1. 8 6
      .build/setup-android-sdk.js

+ 8 - 6
.build/setup-android-sdk.js

@@ -198,13 +198,15 @@ async function main() {
     setGitHubEnv('ANDROID_HOME', SDK_ROOT);
     setGitHubEnv('ANDROID_HOME', SDK_ROOT);
     setGitHubEnv('ANDROID_SDK_ROOT', SDK_ROOT);
     setGitHubEnv('ANDROID_SDK_ROOT', SDK_ROOT);
     
     
-    // 5. 先接受 licenses(使用 --yes 参数
+    // 5. 先接受 licenses(使用多个 echo y
     console.log('📝 接受 SDK licenses...');
     console.log('📝 接受 SDK licenses...');
-    runSdkManager([
-      '--licenses',
-      `--sdk_root=${SDK_ROOT}`,
-      '--yes'
-    ]);
+    const sdkManagerPath = path.join(CMDLINE_TOOLS_DIR, 'bin', 'sdkmanager.bat');
+    // 使用多个 y 来处理多个许可证提示
+    const licenseCmd = `(echo y & echo y & echo y & echo y & echo y & echo y & echo y & echo y) | "${sdkManagerPath}" --licenses --sdk_root=${SDK_ROOT}`;
+    execSync(licenseCmd, { 
+      stdio: 'inherit',
+      shell: 'cmd.exe'
+    });
     
     
     // 6. 然后安装 platforms 和 build-tools
     // 6. 然后安装 platforms 和 build-tools
     console.log('📦 安装 Android SDK 组件...');
     console.log('📦 安装 Android SDK 组件...');