android.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. const spawn = require('child_process').spawn;
  2. const path = require('path')
  3. function exec(cmd, args, options) {
  4. return new Promise((resolve, reject) => {
  5. var s = spawn(cmd, args, options)
  6. s.stdout.on('data', function (s) {
  7. console.log(s.toString())
  8. })
  9. s.stderr.on('data', function (s) {
  10. console.log(s.toString())
  11. reject(s.toString())
  12. })
  13. s.on('close', code => {
  14. resolve()
  15. })
  16. })
  17. }
  18. const workDir = '/Users/drew/Projects/Java/XinNengYuan/WebSrc/Car'
  19. const username = 'xz'
  20. const password = 'xz'
  21. var update = process.argv.splice(2).indexOf('update') > -1
  22. var run = process.argv.splice(2).indexOf('run') > -1
  23. !function () {
  24. if (update) return exec('svn', ['update', '--username', username, '--password', password], { cwd: path.resolve(workDir) })
  25. else return new Promise((resolve, reject) => { resolve() })
  26. }().then(() => {
  27. return exec('npm', ['run', 'buildapp', path.resolve(__dirname)], { cwd: workDir })
  28. }).then(() => {
  29. return exec('cordova', ['clean', 'android'], { cwd: path.resolve(__dirname) })
  30. }).then(() => {
  31. return exec('cordova', [run ? 'run' : 'build', 'android', '--release', '--', `--keystore=${path.resolve(__dirname), 'zouma.jks'}`, '--storePassword=zouma123', '--password=zouma123', '--alias=zouma'], { cwd: './' })
  32. }).then(() => {
  33. }).catch(e => {
  34. console.log(e)
  35. })