如何为crashlytics定义清单文件的路径

mar*_*XII 2 android gradle crashlytics android-gradle-plugin

我使用自定义构建目录进行gradle.它按以下方式设置:

gradlew_runner.bat --gradle-user-home="$(GradleUserHome)" -PbuildDir="$(BuildDir)"
Run Code Online (Sandbox Code Playgroud)

(这些参数传递给gradlew.bat)

Crashlytics插件抛出com.crashlytics.tools.android.project.ManifestData$ManifestIOException异常,

因为它试图在我的源目录中找到清单 myproject\build\manifests\debug\AndroidManifest.xml

但我的清单位于$(BuildDir)\myproject\build\manifests\debug\AndroidManifest.xml.

Crashlytics显示以下消息:

用法:com.crashlytics.tools.android.DeveloperTools

AndroidManifest.xml的-androidManifest路径)

但是这些参数不能直接传递给gradlew.bat.

有没有办法设置路径显示build.gradle

mar*_*XII 6

引用Crashlytics的Michael Bonnel:

只需在build.gradle风格中添加:

crashlytics { 
  manifestPath = 'path/to/manifest/AndroidManifest.xml'
}
Run Code Online (Sandbox Code Playgroud)

这将覆盖我们正在寻找的地方!

在我的例子中,我将构建目录作为命令行参数传递-PbuildDir="somepath",因此最终的解决方案是:

if (buildDir) {
    buildTypes {
        debug {
            crashlytics {
                manifestPath = "$buildDir/manifests/debug/AndroidManifest.xml"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)