【问题标题】:Error -32601 received from application: Method not found , Flutter Upgrade issue in Android从应用程序收到错误 -32601:找不到方法,Android 中的 Flutter 升级问题
【发布时间】:2018-10-16 06:38:33
【问题描述】:

升级颤振后,当我构建我的应用程序时,我开始出现以下错误:

任务“:app:processDebugManifest”执行失败。 [ +5 毫秒] > 清单合并失败:属性 元数据#android.support.VERSION@value value=(25.4.0) 来自 [com.android.support:appcompat-v7:25.4.0] AndroidManifest.xml:28:13-35 [ +23 ms] 也出现在 [com.android.support:support-v4:26.1.0] AndroidManifest.xml:28:13-35 值=(26.1.0)。 [ +8 ms] 建议:添加 'tools:replace="android:value"' 到元素 AndroidManifest.xml:26:9-28:38 覆盖。

add 'tools:replace="Android:value"' to <meta-data> element at AndroidManifestAndroid: Getting "Manifest merger failed" error after updating to a new version of gradle SO 回答我添加了

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '25.4.0'
            }
        }
    }
}

到我的应用文件夹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 GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
    compileSdkVersion 27

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.yourcompany.chatapp"
        minSdkVersion 16
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    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 '../..'
}

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '25.4.0'
            }
        }
    }
}
apply plugin: 'com.google.gms.google-services'

现在每当我运行我的应用程序时,我都会收到以下错误:

Error -32601 received from application: Method not found

我已经尝试运行flutter clean,错误仍然存​​在。

这是flutter doctor 的输出:

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel beta, v0.3.1, on Microsoft Windows [Version 10.0.16299.371], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK 28.0.0-rc1)
[√] Android Studio (version 3.1)
[√] Connected devices (1 available)

• No issues found!

【问题讨论】:

    标签: android flutter


    【解决方案1】:

    我发现原来的问题:

    任务“:app:processDebugManifest”执行失败。 [ +5 毫秒] > 清单合并失败:属性 元数据#android.support.VERSION@value value=(25.4.0) 来自 [com.android.support:appcompat-v7:25.4.0] AndroidManifest.xml:28:13-35 [+23 ms] 也出现在 [com.android.support:support-v4:26.1.0] AndroidManifest.xml:28:13-35 值=(26.1.0)。 [ +8 ms] 建议:添加 'tools:replace="android:value"' 到元素 AndroidManifest.xml:26:9-28:38 覆盖。

    可能是由于较旧的 firebase 软件包依赖项。

    我最初的 pubspec.yaml 依赖项看起来像:

    dependencies:
      flutter:
        sdk: flutter
    
      cupertino_icons: ^0.1.0
      contact_picker:  ^0.0.2
      connectivity: ^0.3.0
      image_picker: 0.1.1
      google_sign_in: 0.3.1
      firebase_analytics: 0.0.4
      firebase_auth: 0.2.0
      firebase_database: 0.0.1
      firebase_storage: 0.0.5
      firebase_messaging: 0.2.5
    

    如果我更新pubspec.yaml 如下:

      cupertino_icons: ^0.1.0
      contact_picker:  ^0.0.2
      connectivity: ^0.3.0
      image_picker: ^0.4.1
      google_sign_in: ^3.0.3
      firebase_analytics: ^0.3.3
      firebase_auth: ^0.5.7
      firebase_database: ^0.4.6
      firebase_storage: ^0.3.3
      firebase_messaging: ^0.2.5
    

    首先没有Manifest merger failed,因此 build.gradle 文件不需要更改。

    我不确定Manifest merger failed 是如何链接到其他firebase 包的,但是在这个解决方案之后,构建工作正常,并且没有Manifest merger failedError -32601 received from application: Method not found 错误。

    【讨论】:

      【解决方案2】:

      刚刚遇到同样的错误,可以确认这是 Firestore 包依赖错误。当我收到错误 binding to the service failed 时,我正试图更新到 0.12.11

      解决方案是回到0.12.10 Firestore 插件,从而解决了问题

      【讨论】:

        猜你喜欢
        • 2020-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-07
        • 1970-01-01
        • 2020-10-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多