afterBuild.js 1.0 KB

123456789101112131415161718192021222324252627282930
  1. const fs = require("fs");
  2. const path = require("path");
  3. module.exports = function (context) {
  4. const projectRoot = context.opts.projectRoot;
  5. const cordovaCommon = context.requireCordovaModule("cordova-common");
  6. const { ConfigParser } = cordovaCommon;
  7. const appConfig = new ConfigParser(path.resolve(projectRoot, "config.xml"));
  8. if (context.cmdLine.includes("--release")) {
  9. let version = appConfig.version();
  10. let channel = "default";
  11. let match = context.cmdLine.match(/channel=(.+?)(\s|$)/);
  12. if (match) {
  13. channel = match[1];
  14. console.log("channel: " + channel);
  15. }
  16. const projectRoot = context.opts.projectRoot;
  17. fs.copyFileSync(
  18. path.resolve(
  19. projectRoot,
  20. "platforms/android/app/build/outputs/apk/release/app-release.apk"
  21. ),
  22. path.resolve(
  23. projectRoot,
  24. `platforms/android/app/build/outputs/apk/channel/app-release-${version}-${channel}.apk`
  25. )
  26. );
  27. }
  28. };