我将fluttercompilesdkversion和targetsdkversion从34更新到35。然后将gradle更新到8.6,将agp更新到8.3.0。然后就会出现命名空间问题。我在 app/buildgradle 上添加了命名空间。但现在它要求插件也有命名空间的声明。但我不喜欢分叉或更改插件的想法。另外我需要使用compilesdk35所以我不能降级。任何其他解决方法可以忽略命名空间问题并能够运行 flutter 应用程序并构建
buildscript {
ext.kotlin_version = '1.8.10'
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:8.3.0'
// START: FlutterFire Configuration
classpath 'com.google.gms:google-services:4.3.10'
classpath 'com.google.firebase:firebase-crashlytics-
gradle:2.8.1'
// END: FlutterFire Configuration
classpath "org.jetbrains.kotlin:kotlin-gradle-
plugin:$kotlin_version"
}
}
pubspec.yaml:
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
bloc: ^8.1.2
flutter_bloc: ^8.1.3
objectbox: ^4.0.2
objectbox_flutter_libs: any
http: ^1.2.2
equatable: ^2.0.5
formz: ^0.7.0
flutter_svg: ^2.0.6
url_launcher: ^6.1.11
envied: ^0.5.4+1
flutter_secure_storage: ^9.2.2
uuid: ^4.5.0
shared_preferences: ^2.1.1
flutter_localizations:
sdk: flutter
intl: ^0.19.0
flat_buffers: ^23.5.26
path: ^1.9.0
path_provider: ^2.0.15
mime: ^1.0.4
dotted_decoration: ^2.0.0
flutter_sticky_header:
webview_flutter: ^4.2.1
permission_handler: ^11.1.0
geolocator: ^13.0.1
package_info_plus: ^8.0.2
device_info_plus: ^10.1.2
http_parser: ^4.0.2
contacts_service: ^0.6.3
image_picker: ^1.1.2
photo_view: ^0.15.0
image_painter: ^0.6.1
flutter_pdfview: ^1.3.3
flutter_cache_manager: ^3.3.0
share_plus: ^10.0.2
flutter_picker: ^2.1.0
camera: ^0.11.0+2
camera_android_camerax: ^0.6.10
flutter_swipe_action_cell: ^3.1.1
flutter_image_compress: ^2.0.3
android {
namespace = 'com.example.sample'
packagingOptions {
pickFirst 'lib/x86/libc++_shared.so'
pickFirst 'lib/x86_64/libc++_shared.so'
pickFirst 'lib/armeabi-v7a/libc++_shared.so'
pickFirst 'lib/arm64-v8a/libc++_shared.so'
}
compileSdkVersion 34
ndkVersion flutter.ndkVersion
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
defaultConfig {
applicationId "com.example.sample"
minSdkVersion 23
targetSdkVersion 34
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
multiDexEnabled true
}
由于您有很多依赖项,并且其中一些不是最新版本,因此您需要逐一检查它们并将它们升级到支持 API 35 的版本。
这是因为您已升级应用程序以支持 API 35,并且您自己收到的命名空间错误也适用于您正在使用的依赖项。
例如,您依赖于 url_launcher 版本6.1.11。
url_launcher 的当前版本是 6.3.1,6.1.11 于 18 个月前发布(甚至在 API 35 存在之前)。
将所有依赖项升级到支持 API 35 的版本后,错误就会消失。
本质上,您所使用的依赖项的开发人员需要增强其代码以支持 API 35。