如何解决firebase-crashlytics-ndk:generateCrashlyticsSymbolFreeDebug 所需的未剥离的本机库路径不存在
我正在使用...
com.google.firebase:firebase-crashlytics-ndk:17.3.1
com.google.firebase:firebase-crashlytics-gradle:2.4.1
com.google.gms:google-services:4.3.5
... 在我的 Android 应用程序项目中,它依赖于一个 Android 库项目。库项目同时使用 Kotlin 和 C 代码。库构建过程输出带有未剥离的 *.aar
文件的 *.so
。当我构建应用程序项目时,我可以验证库中未剥离的 *.so
文件是否已解压到 app/build/intermediates/merged_native_libs/<BuildVariant>/out/lib
中并且它们仍然未剥离。
应用配置了构建风格 free
和 paid
以及通常的构建类型 debug
和 release
。
首先,我通过 ./gradlew clean assembleFreeDebug
组装 APK。
然后,我调用 ./gradlew generateCrashlyticsSymbolFileFreeDebug
失败:
任务“:app:generateCrashlyticsSymbolFileFreeDebug”的执行失败。 generateCrashlyticsSymbolFileFreeDebug 所需的未剥离的本机库路径不存在:app\build\intermediates\merged_native_libs\PaidDebug\out\lib。检查您的配置,或使用 firebaseCrashlytics.unstrippedNativeLibsDir 扩展属性覆盖。
这是构建风格被 Gradle 插件混淆的错误还是我这边的配置错误?
如果我也 assemblePaidDebug
没有 clean
,我可以解决它。然后,符号文件由 generateCrashlyticsSymbolFileFreeDebug
中的 app/build/crashlytics
生成。然而,我不确定混合输入文件(口味)以生成 *.cSYM
文件是否是一个好主意。
相关
解决方法
- 尝试删除未剥离的NativeLibsDir。如果您正在构建 C++ 代码作为应用程序构建的一部分而不是在库中,crashlytics 应该会自动找到必要的路径
- 如果它仍然无法正常工作并且您正在使用 cmake 进行构建,请尝试使用此路径:./build/intermediates/cmake/release/obj
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。