未剥离的本机库的指定路径不是目录 - generateCrashlyticsSymbolFileRelease

koc*_*jan 7 android gradle firebase crashlytics google-fabric

如何使用新的 Firebase Crashlytics SDK定义androidNdkOutandroidNdkLibsOut路径?

当我尝试运行时: ./gradlew clean assembleRelease uploadCrashlyticsSymbolFileRelease

我得到下一个错误:

Execution failed for task ':app:generateCrashlyticsSymbolFileRelease'.
> java.io.IOException: Specified path for unstripped native libs is not a directory: /Users/martin/repos/example-app-android/app/obj
Run Code Online (Sandbox Code Playgroud)

如果我手动将所有 NDK 库移动到./app文件夹,我会在不同的路径下得到相同的错误:

Execution failed for task ':app:generateCrashlyticsSymbolFileRelease'.
> java.io.IOException: Specified path for stripped native libs is not a directory: /Users/martin/repos/example-app-android/app/build/intermediates/transforms/stripDebugSymbol/release
Run Code Online (Sandbox Code Playgroud)

在第二种情况下,构建命令有时会失败,有时不会。

在我从 Fabric Crashlytics 插件转移到 Firebase Crashlytics 插件后,这个问题开始出现。在 Fabric 案例中,我可以选择定义:androidNdkOutandroidNdkLibsOut路径。新的 Firebase 插件中是否缺少它?

相关代码:

旧代码示例:

    crashlytics {
        enableNdk true
        androidNdkOut "$buildDir/ndklibs/obj"
        androidNdkLibsOut "$buildDir/ndklibs/libs"
    }
Run Code Online (Sandbox Code Playgroud)

新代码示例:

            firebaseCrashlytics {
                nativeSymbolUploadEnabled true

            }
Run Code Online (Sandbox Code Playgroud)

koc*_*jan 8

我同时在此链接上得到了答案:https : //github.com/firebase/firebase-android-sdk/issues/1199#issuecomment-584680918

在新的 Firebase Crashlytics 插件中,androidNdkOut 和 androidNdkLibsOut 属性已更改为 strippedNativeLibsDir 和 unstrippedNativeLibsDir,并且应在您将 nativeSymbolUploadEnabled 声明为 true 的变量块内的 firebaseCrashlytics 中声明。

还有与自己,你需要设置为相对路径的路径中的问题strippedNativeLibsDir,并unstrippedNativeLibsDir给你的/app目录。示例:https : //github.com/firebase/firebase-android-sdk/issues/1199#issuecomment-585262965