leanflutter / flutter_distributor

An all-in-one Flutter application packaging and distribution tool, providing you with a one-stop solution to meet various distribution needs.
https://distributor.leanflutter.dev/
MIT License
760 stars 103 forks source link

On Linux arm64, an error occurs when building AppImage. #188

Open kjxbyz opened 1 month ago

kjxbyz commented 1 month ago
wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-aarch64.AppImage"
chmod +x appimagetool && mv appimagetool /usr/local/bin/

https://github.com/picguard/picguard/actions/runs/9632160131/job/26564943522

/bin/sh: 1: appimagetool: Exec format error
MakeError: /bin/sh: 1: appimagetool: Exec format error

#0      AppPackageMakerAppImage._make.<anonymous closure> (package:flutter_app_packager/src/makers/appimage/app_package_maker_appimage.dart:257:11)
<asynchronous suspension>
#1      AppPackageMakerAppImage._make (package:flutter_app_packager/src/makers/appimage/app_package_maker_appimage.dart:243:7)
<asynchronous suspension>
#2      FlutterDistributor.package (package:flutter_distributor/src/flutter_distributor.dart:182:35)
<asynchronous suspension>
#3      CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>

Unhandled exception:
MakeError: /bin/sh: 1: appimagetool: Exec format error

#0      AppPackageMakerAppImage._make.<anonymous closure> (package:flutter_app_packager/src/makers/appimage/app_package_maker_appimage.dart:257:11)
<asynchronous suspension>
#1      AppPackageMakerAppImage._make (package:flutter_app_packager/src/makers/appimage/app_package_maker_appimage.dart:243:7)
<asynchronous suspension>
#2      FlutterDistributor.package (package:flutter_distributor/src/flutter_distributor.dart:182:35)
<asynchronous suspension>
#3      CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
kjxbyz commented 3 days ago

This issue is caused by two reasons

  1. Issue with flutter_distributor package, solution is https://github.com/kjxbyz/flutter_distributor/commit/5b135e7261f74ca72b6957f5ae7e8daf854f25c8

  2. Issue with cross-platform build, solution is https://github.com/AppImage/AppImageKit/issues/1056

Best Practices:

https://github.com/picguard/picguard/actions/runs/9754956581