解決 Flutter 編譯失?。篢ransform's input file does not exist: /Users/vz4qt9/fvm/versions/3.7.12/bin/cach...

背景
flutter 項目在安卓機編譯時報錯,提示/Users/vz4qt9/fvm/versions/3.7.12/bin/cache/artifacts/engine/android-arm/flutter.jar找不到,而無論使用 flutterMode 為 debug、profile、release 始終 /Users/vz4qt9/fvm/versions/3.7.12/bin/cache/artifacts/engine/ 都只有 android-arm-profile、android-arm-release、android-arm64-profile、android-arm64-release、android-x64-profile、android-x64-release 并沒有 android-arm

報錯日志如下

Downloading android-arm-profile/darwin-x64 tools...

Downloading android-arm-release/darwin-x64 tools...

Downloading android-arm64-profile/darwin-x64 tools...

Downloading android-arm64-release/darwin-x64 tools...

Downloading android-x64-profile/darwin-x64 tools...

Downloading android-x64-release/darwin-x64 tools...

Launching lib/main.dart on PGEM10 in profile mode...



FAILURE: Build failed with an exception.



* What went wrong:

Execution failed for task ':vkm_car_control:kaptGenerateStubsProfileKotlin'.

> Could not resolve all files for configuration ':vkm_car_control:profileCompileClasspath'.

   > Failed to transform flutter.jar to match attributes {artifactType=android-classes-jar, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.

      > Execution failed for JetifyTransform: /Users/vz4qt9/fvm/versions/3.7.12/bin/cache/artifacts/engine/android-arm/flutter.jar.

         > Transform's input file does not exist: /Users/vz4qt9/fvm/versions/3.7.12/bin/cache/artifacts/engine/android-arm/flutter.jar. (See https://issuetracker.google.com/issues/158753935)



* Try:

> Run with --stacktrace option to get the stack trace.

> Run with --info or --debug option to get more log output.

> Run with --scan to get full insights.



* Get more help at https://help.gradle.org



BUILD FAILED in 20s





┌─ Flutter Fix ────────────────────────────────────────────────────────────────────────────┐

│ This issue appears to be https://github.com/flutter/flutter/issues/58247.                │

│ Fix this issue by adding the following to the file                                       │

│ /Users/vz4qt9/Documents/workspace/DGAPP_216769_gmpi_mobile_app/android/app/build.gradle: │

│ android {                                                                                │

│   lintOptions {                                                                          │

│     checkReleaseBuilds false                                                             │

│   }                                                                                      │

│ }                                                                                        │

└──────────────────────────────────────────────────────────────────────────────────────────┘

Exception: Gradle task assembleUatProfile failed with exit code 1

#0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)

#1      AndroidGradleBuilder.buildGradleApp (package:flutter_tools/src/android/gradle.dart:446:7)

<asynchronous suspension>

#2      AndroidGradleBuilder.buildApk (package:flutter_tools/src/android/gradle.dart:184:5)

<asynchronous suspension>

#3      AndroidDevice.startApp (package:flutter_tools/src/android/android_device.dart:574:7)

<asynchronous suspension>

#4      FlutterDevice.runCold (package:flutter_tools/src/resident_runner.dart:518:33)

<asynchronous suspension>

#5      ColdRunner.run (package:flutter_tools/src/run_cold.dart:57:28)

<asynchronous suspension>

#6      AppDomain.launch.<anonymous closure> (package:flutter_tools/src/commands/daemon.dart:646:9)

<asynchronous suspension>

#7      AppDomain.launch (package:flutter_tools/src/commands/daemon.dart:644:5)

<asynchronous suspension>

#8      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:603:15)

<asynchronous suspension>

#9      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1257:27)

<asynchronous suspension>

#10     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)

<asynchronous suspension>

#11     CommandRunner.runCommand (package:args/command_runner.dart:209:13)

<asynchronous suspension>

#12     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:283:9)

<asynchronous suspension>

#13     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)

<asynchronous suspension>

#14     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)

<asynchronous suspension>

#15     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:64:9)

<asynchronous suspension>

#16     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)

<asynchronous suspension>

#17     main (package:flutter_tools/executable.dart:91:3)

<asynchronous suspension>







Exited (1).
僅有藍色的文件夾時會報錯
.
├── android-arm-profile
│   └── darwin-x64
│       └── gen_snapshot
├── android-arm-release
│   └── darwin-x64
│       └── gen_snapshot
├── android-arm64-profile
│   └── darwin-x64
│       └── gen_snapshot
├── android-arm64-release
│   └── darwin-x64
│       └── gen_snapshot
├── android-x64-profile
│   └── darwin-x64
│       └── gen_snapshot
├── android-x64-release
│   └── darwin-x64
│       └── gen_snapshot
├── common
│   ├── flutter_patched_sdk
│   │   ├── platform_strong.dill
│   │   ├── platform_strong.dill.d
│   │   └── vm_outline_strong.dill
│   └── flutter_patched_sdk_product
│       ├── platform_strong.dill
│       ├── platform_strong.dill.d
│       └── vm_outline_strong.dill
├── darwin-x64
│   ├── const_finder.dart.snapshot
│   ├── flutter_tester
│   ├── FlutterMacOS.framework
│   │   ├── FlutterMacOS -> Versions/Current/FlutterMacOS
│   │   ├── Headers -> Versions/Current/Headers
│   │   ├── Modules -> Versions/Current/Modules
│   │   ├── Resources -> Versions/Current/Resources
│   │   └── Versions
│   ├── FlutterMacOS.framework.zip
│   ├── font-subset
│   ├── frontend_server.dart.snapshot
│   ├── gen_snapshot
│   ├── gen_snapshot_arm64
│   ├── gen_snapshot_x64
│   ├── icudtl.dat
│   ├── impellerc
│   ├── isolate_snapshot.bin
│   ├── libpath_ops.dylib
│   ├── libtessellator.dylib
│   ├── LICENSE.font-subset.md
│   ├── LICENSE.impellerc.md
│   ├── LICENSE.path_ops.md
│   ├── shader_lib
│   │   ├── flutter
│   │   └── impeller
│   ├── vm_isolate_snapshot.bin
│   └── without_entitlements.txt
├── darwin-x64-profile
│   ├── FlutterMacOS.framework
│   │   ├── FlutterMacOS -> Versions/Current/FlutterMacOS
│   │   ├── Headers -> Versions/Current/Headers
│   │   ├── Modules -> Versions/Current/Modules
│   │   ├── Resources -> Versions/Current/Resources
│   │   └── Versions
│   ├── FlutterMacOS.framework.zip
│   ├── gen_snapshot
│   ├── gen_snapshot_arm64
│   └── gen_snapshot_x64
├── darwin-x64-release
│   ├── FlutterMacOS.framework
│   │   ├── FlutterMacOS -> Versions/Current/FlutterMacOS
│   │   ├── Headers -> Versions/Current/Headers
│   │   ├── Modules -> Versions/Current/Modules
│   │   ├── Resources -> Versions/Current/Resources
│   │   └── Versions
│   ├── FlutterMacOS.framework.zip
│   ├── gen_snapshot
│   ├── gen_snapshot_arm64
│   └── gen_snapshot_x64
├── ios
│   ├── Flutter.xcframework
│   │   ├── Info.plist
│   │   ├── ios-arm64
│   │   └── ios-arm64_x86_64-simulator
│   ├── gen_snapshot_arm64
│   └── LICENSE
├── ios-profile
│   ├── Flutter.xcframework
│   │   ├── Info.plist
│   │   ├── ios-arm64
│   │   └── ios-arm64_x86_64-simulator
│   ├── gen_snapshot_arm64
│   └── LICENSE
└── ios-release
    ├── Flutter.xcframework
    │   ├── Info.plist
    │   ├── ios-arm64
    │   └── ios-arm64_x86_64-simulator
    ├── gen_snapshot_arm64
    └── LICENSE

49 directories, 50 files

嘗試了一些操作后,再次編譯,問題仍然存在。例如:

  1. 清除gradle緩存./gradlew clean
  2. 清除 fvm 緩存rm -rf /Users/vz4qt9/fvm/versions/3.7.12/bin/cache
    都無法解決問題。

直到使用了fvm flutter precache --android才觸發(fā)了fvm下載android-arm文件夾。

Flutter 為 Android 平臺提供了針對不同 CPU 架構 和 構建模式 (Build Mode) 的工件

  1. 按構建模式劃分:
    Debug (調(diào)試模式): 用于開發(fā)和熱重載。
    Profile (性能模式): 用于分析應用性能。
    Release (發(fā)布模式): 用于打包發(fā)布到應用商店。
  2. 按 CPU 架構劃分:
    arm: 32位 ARM 架構(例如你之前用的 PGEM10 設備)。
    arm64: 64位 ARM 架構(現(xiàn)在絕大多數(shù)手機)。
    x64: 64位 Intel/AMD 架構(主要用于 Android 模擬器)。
  • android-arm 這個名字代表:
    android: 平臺是安卓
    arm: 架構是 32位 ARM
    (無后綴): 構建模式是 Debug

fvm flutter precache --android 介紹
這個命令的作用是提前下載(Pre-cache)指定 Flutter 版本(3.7.12)在開發(fā)和構建 Android 應用時所需的所有引擎工件(engine artifacts)。flutter precache --android 命令的職責就是“把所有 Android 相關的工件都準備好”

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容