如何解决Flutter Android 构建输出错误 一些gradle信息
我有一个应用程序,我升级到使用 Flutter 2 构建。我仍然要做空安全的事情,但一次一个步骤。
当我构建(发布和调试)时,apk
和 aab
将输出到错误的位置,并且(在 aab
的情况下)导致颤振在最后呕吐。
在此屏幕截图中,您将看到输出生成到 android/app/build
文件夹,这是不正确的
在构建 apk
的情况下,它还会将其生成到 build/app/outputs
文件夹中,这更好,但仍然不是 100%,因为它应该是 build/app/outputs/apk/nonprod/release/app-nonprod-release.apk
所以我的应用有两种风格 [ prod | nonprod ] 并且我在发布和调试版本中为 aab
和 apk
进行构建。
这里也是 al 4 次构建的输出(都在 nonprod
风格上)
一些gradle信息
- ext.kotlin_version = '1.5.10'
- com.android.tools.build:gradle:4.1.0
- 风味配置
flavorDimensions "environment"
productFlavors {
prod {
dimension "environment"
}
nonprod {
dimension "environment"
versionNameSuffix "-test"
applicationIdSuffix ".test"
}
}
那么我该如何解决这个问题以将人工制品生成到正确的文件夹中
build/app/outputs/apk/{flavor}/{buildType}/app-{flavor}-{buildType}.apk
和
build/app/outputs/bundle/{flavor}{buildType}/app-{flavor}-{buildType}.aab
并且不会在 appbundle 上完全失败
提前致谢。
解决方法
因此,在迁移到 Flutter 2 的过程中,我犯了一个错误。
在定义 android/build.gradle
的 subprojects
中,我尝试巧妙地将它们组合成一个 subprojects
块。这导致了问题。
重要的是,如果您目前有两个单独的块,它们应该保持分开,就像这样
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
当生成一个新的 Flutter 项目时,它实际上是用单个块生成的。
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
project.evaluationDependsOn(':app')
}
不要尝试在较旧的版本中使用它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。