我有一个从Flutter 1开始就存在的Flutter项目,一直是作为Web应用构建的。现在我正在尝试进行Android构建,并且遇到了一些我无法解决的异常。
下面是构建的输出:
%扑动清洁; flutter build appbundle清理Xcode工作区. 4.1s清理Xcode工作区. 1,987 ms正在删除内部版本... 199 ms正在删除.dart_tool... 3 ms正在删除.packages. 0 ms正在删除Generated. xcampus... 0 ms正在删除flutter_export_environment.sh... 0 ms正在删除临时版本... 1 ms正在删除. flutter-plugins-dependencies... 0 ms正在删除.flutter-plugins... 0 ms正在运行“flutter pub get”in flutter_client. 2,736ms
建筑物与健全的零安全
失败:生成失败,出现异常。
- 错误:任务“:app:mergeReleaseAssets”执行失败。
无法解析配置“:app:releaseRuntimeClasspath”的所有文件。无法转换项目“activity.aar(androidx.activity:activity:1.8.0)'匹配属性{artifactType=android-assets}。>执行JetifyTransform失败:/Users/jeffchristy/.gradle/caches/modules-2/files-2.1/androidx.activity/activity/1.8.0/4266 e2118 d565 daa 20212 d1726 e11 f41 e1 a4 d 0 ca/activity-1.8.0.aar. >无法转换'/Users/jeffchristy/.gradle/caches/modules-2/files-2.1/androidx.activity/activity/1.8.0/4266e2118d565daa20212d1726e11f41e1a4d0ca/activity-1.8.0.aar' using Jetier. Reason:null.(使用--stacktrace运行以获取更多详细信息。)无法转换项目的活动。aar(androidx.activity:activity:1.8.0)'匹配属性{artifactType=android-assets}。>执行JetifyTransform失败:/Users/jeffchristy/.gradle/caches/modules-2/files-2.1/androidx.activity/activity/1.8.0/4266e2118d565daa20212d1726e11f41e1a4d0ca/activity-1.8.0.aar. >无法转换'/Users/jeffchristy/.gradle/caches/modules-2/files-2.1/androidx.activity/activity/1.8.0/4266 e2118 d565 daa 20212 d1726 e11 f41 e1 a4 d 0 ca/activity-1.8.0.aar'正在使用Jetier。原因:null。(使用--stacktrace运行以获取更多详细信息。)无法转换项目的活动。aar(androidx.activity:activity:1.8.0)'匹配属性{artifactType=android-assets}。>执行JetifyTransform失败:/Users/jeffchristy/.gradle/caches/modules-2/files-2.1/androidx.activity/activity/1.8.0/4266e2118d565daa20212d1726e11f41e1a4d0ca/activity-1.8.0.aar. >无法转换'/Users/jeffchristy/.gradle/caches/modules-2/files-2.1/androidx.activity/activity/1.8.0/4266e2118d565daa20212d1726e11f41e1a4d0ca/activity-1.8.0.aar' using Jetier. Reason:null.(使用--stacktrace运行以获取更多详细信息。)无法转换项目的活动。aar(androidx.activity:activity:1.8.0)'匹配属性{artifactType=android-assets}。>执行JetifyTransform失败:/Users/jeffchristy/.gradle/caches/modules-2/files-2.1/androidx.activity/activity/1.8.0/4266e2118d565daa20212d1726e11f41e1a4d0ca/activity-1.8.0.aar. >无法转换'/Users/jeffchristy/.gradle/caches/modules-2/files-2.1/androidx.activity/activity/1.8.0/4266 e2118 d565 daa 20212 d1726 e11 f41 e1 a4 d 0 ca/activity-1.8.0.aar'使用Jetier。原因:null。(使用--stacktrace运行以获取更多详细信息。)
- 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。使用--scan运行以获取完整见解。
- 在https://help.gradle.org获得更多帮助
BUILD FAQURY in 1 m 5s Running Gradle task 'BullleRelease'. 65.8s Gradle task BullleRelease失败,退出代码为% 1
我的应用build.gradle:
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 FileNotFoundException("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'
}
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
apply plugin: 'com.android.application'
// START: FlutterFire Configuration
apply plugin: 'com.google.gms.google-services'
// END: FlutterFire Configuration
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 34
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.korecompliance.budtendur"
minSdkVersion 21
targetSdkVersion 33
compileSdkVersion 34
multiDexEnabled true
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
}
flutter {
source '../..'
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.android.support:multidex:1.0.3'
implementation "com.google.android.material:material:1.10.0"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}
configurations.all {
resolutionStrategy {
force "androidx.annotation:annotation-experimental:1.2.0"
}
}
字符串
我的gradle.properties:
org.gradle.jvmargs=-Xmx4096M
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true
型
我需要一个干净的建筑。
我已经尝试了几乎所有我能在StackOverflow上找到的调整来解决这个问题,包括清除缓存,只清除无法构建的文件,为这个aar添加解决策略,更改材料版本,并尝试不同的Android SDK版本。
有没有其他人在转换androidx.activity:activity:1.8.0时遇到过这个问题?
1条答案
按热度按时间kdfy810k1#
我找到了这个问题的根源,那就是应用程序是在旧版本的Flutter(v1)上创建的,并且一些Android构建工件与Flutter 3不兼容。
解决方法是在当前版本的Flutter上创建一个新项目,然后用新项目的android树替换现有项目的android树。在更新名称以匹配,并调整min sdk和编译版本以获得一些依赖项后,我能够成功构建。