无法从丢弃的 APK 中提取 Crashlytics 构建信息

Unable to extract Crashlytics build info from the dropped APK

我正在尝试将 .apk 文件上传到 Crashlytics 以与 'Beta' 应用程序一起分发,但是当我将 .apk 拖放到上传菜单时出现以下错误:

Unable to extract Crashlytics build info from the dropped APK. Please make sure your Crashlytics build tool plugin is installed and enabled.

我已按照 Fabric 应用程序的建议启用 Crashlytics:我已将 Fabric.with(this, new Crashlytics(), new CrashlyticsNdk()); 放入我的 MainActivity,我的 build.gradle 文件如下:

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
    maven { url 'https://maven.fabric.io/public' }
}

crashlytics {
    enableNdk true
    androidNdkOut 'src/main/obj'
    androidNdkLibsOut 'src/main/libs'
}

并且:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
        transitive = true;
    }
    compile('com.crashlytics.sdk.android:crashlytics-ndk:1.1.1@aar') {
        transitive = true;
    }

我也在使用以下设置:

targetSdkVersion 25
compileSdkVersion 25
buildToolsVersion '26'
classpath 'com.android.tools.build:gradle:2.3.0'

我不知道出了什么问题。我过去使用过 Crashlytics 和分发工具,没有任何问题。 Crashlytics 插件似乎在应用程序中确实有效,但当我触发异常时,它会显示在 Web 界面中。

我有点不知道问题出在哪里,所以非常感谢您的帮助。

通过重新安装 Android Studio 修复了它。

编辑:

我发现问题与在 Android Studio 中启用 Instant 运行 有关,在重新安装 Android Studio 一段时间后,我启用了 Instant 运行 并返回了问题.

禁用 Instant 运行 再次解决了问题

如何关闭 Instant 运行 在 this post

中有说明

或者您可以通过 Gradle 命令行构建它,例如“./gradlew clean assemble[yourBuildVariant]”,然后将其拖放到 Fabric Beta。

在主菜单的构建下选择清理项目解决了我的问题。