我试图将我的项目升级到一些最新版本,但由于项目中的一些依赖项尚未更新,我无法获得空安全性。
我已经求助于sdk版本2.10,同时我更新了所有核心包,解决了所有突破性的更改。一些不推荐的更改(如FlatButton到TextButton,尚未解决)。
我在构建解决方案时遇到了几个问题,在咨询了一些旧的Stack帖子后,我拼凑了gradle文件更新,升级到Android Studio等...
但是,当我将解决方案构建为使用或覆盖不推荐使用的API时,以及当它安装在虚拟设备上时,在没有提供错误的情况下启动失败时,我会收到警告。
我想知道我对gradle文件的黑客攻击是否是原因——我想确认这些gradle更新是否正确(特别是正在使用的版本)。
应用程序
buildscript {
ext.kotlin_version = '1.3.50'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.4'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.3'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
应用程序
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 29
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.<appname>.app"
minSdkVersion 23
targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
}
}
}
flutter {
source '../..'
}
apply plugin: 'com.android.application'
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.google.firebase:firebase-analytics:17.2.2'
}
apply plugin: 'com.google.gms.google-services'
应用程序
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
公共规范。yaml软件包版本:
cloud_firestore: ^2.2.1
firebase_auth: ^1.2.0
firebase_core: ^1.2.0
firebase_analytics: ^8.1.0
cloud_functions: ^1.1.0
firebase_storage: ^8.1.0
firebase_messaging: ^10.0.0
google_sign_in: ^5.0.4
devicelocale: ^0.3.2
image_cropper: ^1.4.0
local_auth: ^1.1.6
pubspec.yamlSDK版本
environment:
sdk: ">=2.10.0 <3.0.0"
调试控制台警告/注意:
在应用程序中运行“颤动酒吧获取”...警告:您正在使用这些被重写的依赖项:!font_awesome_flutter8.8.1从路径 /Users/prad/Development/packages/font_awesome启动lib/main.dart在Android SDK构建的x86调试模式...注意: /Users/prad/.pub-cache/hosted/pub.dartlang.org/devicelocale-0.3.2/android/src/main/java/com/example/devicelocale/DevicelocalePlugin.java使用或覆盖已弃用的API。注意:使用-Xlint重新编译:弃用以获取详细信息。注意: /Users/prad/.pub-cache/hosted/pub.dartlang.org/firebase_core-1.2.1/android/src/main/java/io/flutter/plugins/firebase/core/FlutterFirebaseCorePlugin.java使用或覆盖已弃用的API。注意:使用-Xlint重新编译:弃用以获取详细信息。注意: /Users/prad/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-2.2.1/android/src/main/java/io/flutter/plugins/firebase/firestore/FlutterFirebaseFirestorePlugin.java使用或覆盖已弃用的API。注意:使用-Xlint重新编译:弃用以获取详细信息。注意: /Users/prad/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-2.2.1/android/src/main/java/io/flutter/plugins/firebase/firestore/streamhandler/TransactionStreamHandler.java使用未经检查或不安全的操作。
注意:使用-Xlint重新编译:未选中以获取详细信息。注意:/Users/prad/。发布缓存/托管/发布。达特朗。org/firebase_analytics-8.1.0/android/src/main/java/io/flatter/plugins/firebaseanlytics/firebaseanlyticsplugin。java使用或覆盖不推荐使用的API。注意:有关详细信息,请使用-Xlint:deprecation重新编译。注意:/Users/prad/。发布缓存/托管/发布。达特朗。org/firebase_analytics-8.1.0/android/src/main/java/io/flatter/plugins/firebaseanlytics/firebaseanlyticsplugin。java使用未经检查或不安全的操作。
注意:使用-Xlint重新编译:未检查详细信息。注意: /Users/prad/.pub-cache/hosted/pub.dartlang.org/cloud_functions-1.1.0/android/src/main/java/io/flutter/plugins/firebase/functions/FlutterFirebaseFunctionsPlugin.java使用或覆盖已弃用的API。注意:使用-Xlint重新编译:弃用以获取详细信息。注意: /Users/prad/.pub-cache/hosted/pub.dartlang.org/firebase_auth-1.2.0/android/src/main/java/io/flutter/plugins/firebase/auth/FlutterFirebaseAuthPlugin.java使用或覆盖已弃用的API。注意:使用-Xlint重新编译:弃用以获取详细信息。/Users/prad/.pub-cache/hosted/pub.dartlang.org/firebase_storage-8.1.0/android/src/main/java/io/flutter/plugins/firebase/storage/FlutterFirebaseStoragePlugin.java: 38:警告:[弃用]插件注册表中的注册商已弃用公共静态无效注册(插件注册表。注册器注册器){^1警告注意:某些输入文件使用或覆盖已弃用的API。注意:使用-Xlint重新编译:弃用以获取详细信息。注意:一些输入文件使用未经检查或不安全的操作。注意:使用-Xlint重新编译:未检查详细信息。注意:某些输入文件使用或覆盖已弃用的API。注意:使用-Xlint重新编译:弃用以获取详细信息。注意: /Users/prad/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-4.2.0/android/src/main/java/com/it_nomads/fluttersecurestorage/FlutterSecureStoragePlugin.java使用或覆盖已弃用的API。注意:使用-Xlint重新编译:弃用以获取详细信息。注意: /Users/prad/.pub-cache/hosted/pub.dartlang.org/google_sign_in-5.0.4/android/src/main/java/io/flutter/plugins/googlesignin/GoogleSignInPlugin.java使用或覆盖已弃用的API。注意:使用-Xlint重新编译:弃用以获取详细信息。注意: /Users/prad/.pub-cache/hosted/pub.dartlang.org/image_cropper-1.4.0/android/src/main/java/vn/hunghd/flutter/plugins/imagecropper/ImageCropperPlugin.java使用或覆盖已弃用的API。注意:使用-Xlint重新编译:弃用以获取详细信息。注意: /Users/prad/.pub-cache/hosted/pub.dartlang.org/local_auth-1.1.6/android/src/main/java/io/flutter/plugins/localauth/LocalAuthPlugin.java使用或覆盖已弃用的API。注意:使用-Xlint重新编译:弃用以获取详细信息。注意:某些输入文件使用或覆盖已弃用的API。注意:使用-Xlint重新编译:弃用以获取详细信息。✓内置/应用程序/输出/flutt-apk/app-debug.apk.设备连接丢失。
我使用的虚拟设备是Pixel3A API版本29。
如果您正在使用的一些插件还没有支持颤振空安全性,您可以在您的构建中添加--no sound null safety
参数,如本指南所述。即使使用的某些插件不支持空安全性,此参数也应该允许您构建Flutter项目。
我在最新的Android Studio上创建了一个全新的Android项目。我做的第一件事是将`realm'库添加到项目中,方法是将以下内容添加到gradle文件中: 如果我尝试编译,我会得到以下错误: Origine2:C:\users\usmaan.gradle\caches\caches\modules-2\files-2.1\io.realm\realm-android\0.80.3\79
我一直在尝试在Android/IOS颤振应用程序中使用auth、firestore firebase,在测试了几个不同版本后,遇到了许多不同的问题。现在,它向我显示了构建日志中的几条消息。 构建日志 注意:D:\flatter\SDK\flatter。发布缓存\托管\发布。达特朗。org\firebase\u core-0.4。3.1\android\src\main\java\io\flatte
我编译了我的程序,得到了下面的错误。我该如何解决?
我已经使用了最新版本的video_player:^0.10.5+1),但显示以下警告。 注意:某些输入文件使用或重写不推荐的API。 注意:使用-xlint重新编译:有关详细信息。 注意:注意:详细信息请使用-xlint:deprecation重新编译。
问题内容: 我已经看到了许多在API上使用注释以将其标记为“需要尽快替换”的示例。 但是,在几乎所有这些情况下,代码开发人员不仅继续使用已弃用的API,而且还抑制了弃用警告。 似乎API开发人员的最佳意图最终是创建更多与已实现的业务逻辑无关的代码- 如果不赞成使用API,但在抑制相关警告的情况下继续使用它,则似乎充其量只是代码的降级,并且在IMHO最差的情况下替换不推荐使用的库时,可能会导致应
在Flitter应用程序中集成Firebase消息服务,并在Flight中使用最新的<code>Firebase_messaging:^3.0.0 我在<code>build中添加了这些行。android部分中的gradle,仍然显示相同的错误。我从这里带走了裁判。 如何解决flutter的这个错误< code>-Xlint:deprecation。