我有 Flutter 3.3.5 和 Dart 版本 2.18.2 的代码库。自过去两周以来,Android 版本尚未创建。我上次在 Google PlayStore 上更新版本是在 2024 年 9 月 25 日。 在一些研究中,我发现 jCenter 关闭可能导致了该问题。为了使其工作,我使用以下代码更新了 build.grdle
buildscript {
ext.kotlin_version = '1.6.0'
repositories {
google()
mavenCentral()
maven { url 'https://developer.huawei.com/repo/' }
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.2'
classpath "com.newrelic.agent.android:agent-gradle-plugin:6.10.0"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.4'
classpath 'com.huawei.agconnect:agcp:1.4.1.300'
}
}
allprojects {
repositories {
google()
maven { url 'https://developer.huawei.com/repo/' }
maven {
url "https://jitpack.io"
}
maven { url = uri("https://maven.scijava.org/content/repositories/public/") }
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
在上面的代码之后,构建正在创建,但是当我在真实设备/模拟器上运行时,它卡在了 Spalash 屏幕上。日志显示:
The plugin
flutter_keyboard_visibility uses a deprecated version of the Android embedding. To avoid unexpected runtime failures, or future build failures, try to see if this plugin supports the Android V2 embedding. Otherwise, consider removing it since a future release of Flutter will remove these deprecated APIs. If you are plugin author, take a look at the docs for migrating the plugin to the V2 embedding: https://flutter.dev/go/android-plugin-migration. Launching lib\main.dart on XXXXXX in debug mode... Running Gradle task 'assembleDebug'... get manifestOutputDirectory error √ Built build\app\outputs\flutter-apk\app-debug.apk. D/FlutterLocationService( 7265): Creating service. D/FlutterLocationService( 7265): Binding to location service.
它发生在 Android 11、Android 13、真实设备以及处于调试和发布模式的模拟器上。任何帮助将不胜感激。
我试图找出我在为我的 Flutter 应用程序创建调试或发布版本时做错了什么,该应用程序在 2024 年 9 月 25 日之前一直运行良好。
谢谢
日志指出了导致您遇到的运行时问题的可能性。
根据 pub.dev 网站上发布的 flutter_keyboard_visibility 包变更日志,
[6.0.0] - 2023 年 12 月 19 日: 5.4.3 作为新的主要版本重新发布。 Android Gradle 的更改对某些用户造成了破坏,因此 5.4.3 未发布。使用此版本可能需要您更新 Android Gradle 版本。
和
[5.1.0] - 2021 年 10 月 15 日: 删除了 Android v1 嵌入支持。如果您在 Flutter 1.12 之前创建了 Android 项目,您可能需要重新创建或迁移。 https://flutter.dev/docs/development/packages-and-plugins/plugin-api-migration
请参阅此包文档以了解更多详细信息:flutter_keyboard_visibility 6.0.0
有时,如果您根据 Google Developer 关于开发人员需要适应的最新更新的要求配置 build.gradle,特别是当更新影响其当前的构建设置时,就没有问题。
现在,尝试检查已安装的 flutter_keyboard_visibility 第三方包。考虑该版本是否与您的 Flutter 项目基础设施兼容。
我之前在运行时遇到过一个问题,它与我一直使用的第三方包有关。当时该包没有用,所以我删除了该包,然后运行时就正常运行了。
在某些情况下,该包对项目有重大贡献,如果您怀疑特定包导致了问题,请尝试探索替代方案或进行一些调整。
希望对您有帮助...