更新构建时,Crashlytics无法找到清单:gradle to 3.3.0

Che*_*eng 19 android gradle

我在我的应用程序中使用fabric crashlytics,当com.android.tools.build:gradle为3.2.1时,它工作正常,直到我将其更新为3.3.0.

现在我遇到'Crashlytics找不到清单',并发现在build/intermediates/merged_manifest /.../ merged中没有创建AndroidManifest.xml.我读过 ,但并没有解决我的问题.我如何解决它?谢谢.

这是lib.gradle

apply plugin: 'com.android.library'
buildscript {
    repositories {
        mavenCentral()
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'io.fabric'
repositories {
    maven { url 'https://maven.fabric.io/public' }
    ...
}

dependencies {
    ...
    api('com.crashlytics.sdk.android:crashlytics:2.9.8@aar') {
        transitive = true
    }
}
Run Code Online (Sandbox Code Playgroud)

这是项目的谜团

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这是错误: 在此输入图像描述

Rom*_*pov 35

您是否尝试过完全按照库模块和基础项目的Crashlytics设置要求配置所有内容?如果设置与此处推荐的设置不同,则新的Gradle插件似乎无法正常工作。

对于我来说,apply plugin: 'io.fabric'从库的build.gradle文件中删除“ ”(但将其保留在应用程序build.gradle中)解决了该错误。


Unk*_*n0x 6

我遇到了同样的问题并为我修复了它,如下所示,使用 Ionic 5、Capacitor 和Cordova FirebaseX 插件(参考 Crashlytics),您可能需要调整一些路径以适应您的环境:

  1. 运行 Gradlew Build 命令,如./gradlew assembleDebug.
  2. 等待你得到的错误。
  3. 复制AndroidManifest.xmlyour-app/src/main/AndroidManifest.xmlyour-app/build/intermediates/merged_manifests/debug/AndroidManifest.xml
  4. 重新运行 Gradlew 构建命令,./gradlew assembleDebug`。
  5. 您的构建过程现在应该会成功。

在我使用 Ionic 5 和 Capacitor 的情况下,路径是:

  • android/capacitor-cordova-android-plugins/src/main/AndroidManifest.xml
  • android/capacitor-cordova-android-plugins/build/intermediates/merged_manifests/debug/AndroidManifest.xml

希望对你有帮助。