前言

最近在弄flutter的开发,需求中要通过flutter调用native的页面,遇到一个编译的问题

问题

The Gradle failure may have been because of AndroidX incompatibilities in this Flutter app.

导致无法找到 android.support之类的库

原因

由于最新的flutter SDK大量的库已经用上了android X,当你在android目录中gradle.properties设置

android.useAndroidX=true
android.enableJetifier=true

因为android X 不会向下兼容,因此会导致flutter插件中的依赖库也必须兼容android X

解决办法

1.找到插件中android的gradle.properties,单独设置

android.useAndroidX=false
android.enableJetifier=false

2.或者在主目录中的gradle文件中

buildscript {
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'
    }

    subprojects {
        project.configurations.all {
            resolutionStrategy.eachDependency { details ->
                if (details.requested.group == 'com.android.support'
                        && !details.requested.name.contains('multidex') ) {
                    details.useVersion "27.1.1"
                }
                if (details.requested.group == 'androidx.core'
                        && !details.requested.name.contains('androidx') ) {
                    details.useVersion "1.0.1"
                }
            }
        }
    }
}

 

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐