adb-connect.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/usr/bin/env node
  2. const { execSync } = require('child_process')
  3. const path = require('path')
  4. // 从配置文件读取 ADB 路径
  5. const config = require(path.join(__dirname, '..', '..', 'configs', 'config.js'))
  6. const projectRoot = path.resolve(__dirname, '..', '..')
  7. const adbPath = config.adbPath?.path
  8. ? path.resolve(projectRoot, config.adbPath.path)
  9. : path.join(projectRoot, 'lib', 'scrcpy-adb', 'adb.exe')
  10. // Get device IP and port from command line arguments
  11. const deviceIp = process.argv[2] || '192.168.2.5'
  12. const devicePort = process.argv[3] || '5555'
  13. if (!deviceIp) {
  14. console.error('Usage: node adb-connect.js <ip> [port]')
  15. console.error('Example: node adb-connect.js 192.168.2.5 5555')
  16. process.exit(1)
  17. }
  18. console.log(`Connecting to ${deviceIp}:${devicePort}...`)
  19. console.log('========================================')
  20. try {
  21. const connectCommand = `"${adbPath}" connect ${deviceIp}:${devicePort}`
  22. const output = execSync(connectCommand, { encoding: 'utf-8' })
  23. const result = output.trim()
  24. console.log(result)
  25. const isConnected = result.includes('connected') || result.includes('already connected')
  26. console.log('========================================')
  27. if (isConnected) {
  28. console.log('[OK] Device connected successfully')
  29. console.log('')
  30. process.exit(0)
  31. } else {
  32. console.log('[ERROR] Failed to connect to device')
  33. console.log('')
  34. process.exit(1)
  35. }
  36. } catch (error) {
  37. console.log('========================================')
  38. console.log('[ERROR] Failed to connect to device')
  39. console.log('')
  40. if (error.message) {
  41. console.error(error.message)
  42. }
  43. process.exit(1)
  44. }