问题标签 [flutter-build]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flutter - Flutter中的flutter build bundle和appbundle有什么区别?
我几乎没有找到关于这两者之间有什么区别的信息
我什么时候应该使用其中一种?
ios - Flutter 在运行 build 或 run 时抛出错误
当我尝试运行或运行颤振项目时,我不断得到这个
flutter - 如何在颤振中构建apk时排除文件
在为我的颤振应用程序构建apk时,我需要避免构建中的文件。我已经尝试通过 build.yaml 中的以下代码,但它不起作用
flutter - 我们可以在flutter中构建apk时单独排除特定文件吗
我的项目中有 2 种产品风格,我不希望在构建.apk或应用程序包时添加一些文件,并且以下解决方案不起作用。
flutter - VS Code中flutter中的资源和资产合并错误
PS E:\flutter_proj\myapps\eb_bill_tracker> 颤振构建 apk --release
没有健全的空安全性的建筑有关更多信息,请参阅https://dart.dev/null-safety/unsound-null-safety
E:\flutter_proj\myapps\eb_bill_tracker\android\app\src\main\res\values\styles.xml:20:3:资源和资产合并:元素类型“style”必须以匹配的结束标签“终止”。org.xml.sax.SAXParseException;行号:20;列号:3;元素类型“style”必须以匹配的结束标签“”结束。在 com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203) 在 com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)在 com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400) 在 com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)在 com.sun.org.apache.xerces.internal.impl.XMLScanner。ultBuildOperationExecutor.java:158) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102) at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36) at org.gradle.launcher .exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:45) at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:50) at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java :47) 在 org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:47) 在 org.gradle.launcher.exec 的 org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:78)。在ProcessBuildActionExecuter。在 org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:28) 在 org.gradle.execute(BuildTreeScopeBuildActionExecuter.java:42) 执行(InProcessBuildActionExecuter.java:31) .tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78) at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:52) at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter .execute(SubscribableBuildActionExecuter.java:59) 在 org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:36) 在 org.gradle.tooling.internal.provider.SessionScopeBuildActionExecuter.execute(SessionScopeBuildActionExecuter.java:68) 在 org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:37) 在 org.gradle.execute(SessionScopeBuildActionExecuter.java:38) 在 org.gradle .tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:26) 在 org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43) 在 org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter .execute(ParallelismConfigurationBuildActionExecuter.java:29) 在 org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:60) 在 org.gradle.tooling.internal.provider。StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:32) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:55) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java: 41) 在 org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:32) 在 org.gradle.launcher 的 org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:48) .daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:68) 在 org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37) 在 org.gradle.launcher.daemon.server .api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) 在 org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) 在 org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39) 在 org .gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:27) 在 org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) 在 org.gradle.launcher .daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35) 在 org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) 在 org.gradle.launcher.daemon.server .exec.ForwardClientInput$2.create(ForwardClientInput.java:78) 在 org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:75) 在 org.gradle。org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:75) 的 org.gradle.launcher.daemon.server.api.DaemonCommandExecution 的 util.Swapper.swap(Swapper.java:38)。 org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55) 在 org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution. java:104) 在 org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63) 在 org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)在 org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) 在 org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82) 在 org.gradle .launcher.daemon。server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37) 在 org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) 在 org.gradle.launcher.daemon.server.exec。 StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52) at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy. java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$ Worker.run(ThreadPoolExecutor.java:624) 在 org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) 在 java.lang。线程.run(线程.java:748)
FAILURE:构建失败并出现异常。
尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。失败:构建失败并出现异常。
出了什么问题:任务“:app:mergeReleaseResources”执行失败。
E:\flutter_proj\myapps\eb_bill_tracker\android\app\src\main\res\values\styles.xml: Error: Found item Style/LaunchTheme more than one time
尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。
在https://help.gradle.org获得更多帮助
BUILD FAILED in 7s Running Gradle task 'assembleRelease'... Running Gradle task 'assembleRelease'... Done 8.3s Gradle task assembleRelease failed with exit code 1 PS E:\flutter_proj\myapps\eb_bill_tracker>
flutter - Flutter build runner - 通过命令行启用/禁用构建器
我在 Flutter 项目中,我们正在使用build_runner
.
我们正在使用几个构建器,并且运行所有这些构建器需要很长时间。我们的文件如下所示:
现在假设我在项目中应用了一些更改,我需要运行构建器。但我知道,只有一些构建器需要运行,而其他构建器不需要运行(比如说builder2
and builder3
)。
现在,当我跑步时
它正在运行所有构建器,并且需要很长时间。
有没有办法使用命令行运行特定的构建器?
flutter - 不要跨异步间隙使用 BuildContexts
我注意到我的项目中有一个新的 lint 问题。
长话短说:
我需要在我的自定义类中使用 BuildContext
与 aysnc 方法一起使用时,flutter lint 工具不满意。
例子:
json - Flutter List.Builder 获取 JSON
这是我的代码:
在执行 initStae() 时,它将 _usersDisplay.length 打印为100,但仅返回 LoadingView()。它不显示 UserTile()。
检查_usersDisplay.length
内部构建时,它始终为 0。为什么?
我也不能这样定义List :
List<User> _users = List<User>();
flutter - Flutter 测试 - 强制重建小部件
我正在尝试为我的颤振小部件编写测试。
假设我有这个有状态的小部件:
当小部件重建时,它会查看来自的值是否已getNewValue
更改并重建自身,然后使用WidgetsBinding.instance.addPostFrameCallback
. getNewValue
(我只希望小部件在重建时执行此操作,在我的情况下不需要订阅)。
无论如何,我为此编写了一个测试以及我在哪里抽取小部件
效果很好。
但现在我想强制小部件重建以测试其行为。
这就是我设法做到的(我称之为setState
):
这也很好用。
但是,调用setState
会引发警告
这个技巧对StatelessWidget
我想知道在颤振测试中强制重建小部件的正确方法是什么?
flutter - 有没有办法在为 Apk 构建时不包含某些文件夹?
我必须使用在网络和手机上运行的颤振构建一个项目,有没有办法在为 APK 构建时不包括一些文件夹,因为有些文件只在网络中需要。所以如果我有这些文件夹:
- 网络
- 移动的
- 常见的
我需要仅使用移动通用文件夹构建 APK。有可能还是我必须将项目分成网络和手机?