【问题标题】:Error when executing crashlyticsGenerateSymbols task with android gradle plugin 3.6+使用 android gradle 插件 3.6+ 执行 crashlyticsGenerateSymbols 任务时出错
【发布时间】:2020-02-25 10:01:11
【问题描述】:

我在哪里报告这个错误?或者谁能​​帮帮我?

执行 crashlyticsGenerateSymbols 任务时出现“为属性‘$2’指定的目录 X 不存在”错误 与

android gradle plugin 3.6.0
gradle version 5.6.4
fabric gradle plugin 1.31.2

[错误日志]

Some problems were found with the configuration of task ':~~~~~:crashlyticsGenerateSymbolsRelease' (type 'DefaultTask').

Directory '~~~' specified for property '$1' does not exist.
Directory '~~~~' specified for property '$2' does not exist.

【问题讨论】:

    标签: android crashlytics google-fabric


    【解决方案1】:

    Fabric/Firebaser 在这里。当 Fabric Gradle 插件尝试解析您的项目结构以查找已剥离和未剥离的二进制文件时会出现此错误,并且无法这样做。当它询问属性 $1 和 $2 时,这意味着它找不到指向 "obj" and "libs" folders 的默认路径,其中包含您支持的 ABI 文件夹以及您支持的本地库。

    使用旧版 Fabric Gradle 插件,您可以在 build.gradle 中的 crashlytics 块下指定这些路径,如下所示:

    crashlytics {
      enableNdk true
      androidNdkOut 'obj'
      androidNdkLibsOut 'libs'
    }
    

    对于 Android Studio 3.5 或更高版本上的构建,您通常可以在“merged_native_libs”和“stripped_native_libs”下的输出构建文件夹中的某处找到这些路径。

    如果您使用的是新的 Firebase Crashlytics SDK 和 Gradle 插件,这些路径由 build.gradle 中 firebaseCrashlytics 块中的“strippedNativeLibsDir”和“unstrippedNativeLibsDir”标志控制。

    如果您继续遇到问题,请随时 file a case with Firebase support 提供有关您的项目的更多详细信息以及到目前为止您尝试配置的内容,您还可以联系 support@fabric.io。

    【讨论】:

    • 我解决了我的问题,感谢您的详细解释。
    • 我修改了 merge_native_libs 和 stripped_native_libs 文件夹的路径,我解决了这个问题。谢谢。
    【解决方案2】:

    我遇到了同样的问题,我通过从我的应用级 build.gradle 中删除 ext.enableCrashlytics = false 来修复它

    android {
      buildTypes {
        debug {
         // ext.enableCrashlytics = false
        }
      }
    }
    

    【讨论】:

    • 如果您尝试使用 Crashlytics 收集 NDK 崩溃报告,这将无济于事,因为您将完全禁用 Crashlytics 的初始化。
    猜你喜欢
    • 1970-01-01
    • 2022-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多