upload.dart 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import 'dart:async';
  2. import 'dart:convert';
  3. import 'dart:io';
  4. import 'dart:math';
  5. import 'package:process_run/shell.dart';
  6. import 'package:upload/upload.dart' as upload;
  7. /// fvm dart compile exe -o upload.exe bin\upload.dart
  8. Future<void> main(List<String> arguments) async {
  9. if (!arguments.contains("--nobuild")) {
  10. final stdinController = StreamController<List<int>>.broadcast();
  11. final stdoutController = StreamController<List<int>>.broadcast();
  12. final stderrController = StreamController<List<int>>.broadcast();
  13. stdoutController.stream.listen((event) {
  14. // print(utf8.decode(event));
  15. });
  16. int errCount = 0;
  17. stderrController.stream.listen((event) {
  18. // print(utf8.decode(event));
  19. errCount++;
  20. stdout.write("\r打包过程出现警告:$errCount");
  21. });
  22. var shell = Shell(
  23. stdout: stdoutController.sink,
  24. stdin: stdinController.stream,
  25. stderr: stderrController.sink,
  26. );
  27. try {
  28. stdout.write("\n准备并开始打包APK文件\n");
  29. await shell.run("flutter clean");
  30. await shell.run("flutter pub get");
  31. await shell.run("flutter build apk");
  32. stdout.write("\nAPK文件打包成功🎈🎈\n");
  33. stdout.write("\n准备上传APK至蒲公英");
  34. } catch (e) {
  35. stdout.write("\n打包过程中发生了错误");
  36. exit(1);
  37. }
  38. }
  39. upload.getToken();
  40. }