我用的是…
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-Code。库构建过程输出带有未剥离*.so
文件的*.aar
。当我构建应用程序项目时,我可以验证库中未剥离的*.so
文件被解压缩到app/build/intermediates/merged_native_libs/<BuildVariant>/out/lib
中,并且它们仍然未剥离。
该应用程序配置了构建风格free
和paid
以及通常的构建类型debug
和release
。
首先,我通过./gradlew clean assembleFreeDebug
组装APK。
然后,我调用失败的./gradlew generateCrashlyticsSymbolFileFreeDebug
:
任务':app:generateCrashlyticsSymbolFileFreeDebug'执行失败。generateCrashlyticsSymbolFileFreeDebug所需的未剥离的本地库路径不存在:appbuildintermediatesmerged_native_libsPaidDebugoutlib。检查您的配置,或者使用firebaseCrashlytics重写。unstrippedNativeLibsDir扩展属性。
这是一个bug,其中构建口味混合由Gradle插件或错误配置在我这边?
我可以解决它,如果我也assemblePaidDebug
没有clean
。然后由app/build/crashlytics
中的generateCrashlyticsSymbolFileFreeDebug
生成符号文件。然而,我不确定混合输入文件(口味)来生成*.cSYM
文件是否是一个好主意。<标题>与
- :app: generatecrashlyticssymbolfilerrelease错误:generatecrashlyticssymbolfilerrelease所需的未剥离的本地库路径不存在:
- 尝试删除unstrippedNativeLibsDir。如果你正在构建c++代码作为你的应用程序构建的一部分,而不是在库中,崩溃分析应该自动找到必要的路径
- 如果它仍然不工作,你正在使用cmake构建尝试使用这个路径:./build/intermediates/cmake/release/obj