:app:generateCrashlyticsSymbolFileRelease - Specified path for unstripped native libs is not a directory
See original GitHub issueDescribe your environment
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
classpath 'com.google.gms:google-services:4.3.3'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.0.0-beta02'
classpath 'com.google.firebase:firebase-appdistribution-gradle:1.3.1'
}
Describe the problem
Steps to reproduce:
When I try to run:
./gradlew clean assembleRelease uploadCrashlyticsSymbolFileRelease
I get next error:
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
If I manually move all my NDK libs to ./app
folder I get the same error with different path:
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
In this second case the build command sometimes fails, sometimes not.
This issue started to appear after I moved from Fabric Crashlytics plugin to Firebase Crashlytics plugin.
In the Fabric case, I had the option to define: androidNdkOut
and androidNdkLibsOut
paths.
Is that missing in the new Firebase plugin?
Relevant Code:
Old code example:
crashlytics {
enableNdk true
androidNdkOut "$buildDir/ndklibs/obj"
androidNdkLibsOut "$buildDir/ndklibs/libs"
}
New Code example:
firebaseCrashlytics {
nativeSymbolUploadEnabled true
}
In the Firebase case, I didn’t specify any paths.
To collect all ndk libs I use following code:
configurations {
ndkzip
}
task setupNdklibs(type: Sync) {
dependsOn configurations.ndkzip
from {
configurations.ndkzip.collect { zipTree(it) }
}
into "$buildDir/ndklibs/"
}
build.finalizedBy setupNdklibs
and executing ./gradlew build
Issue Analytics
- State:
- Created 4 years ago
- Comments:26 (5 by maintainers)
Top Results From Across the Web
Specified path for unstripped native libs is not a directory
This issue started to appear after I moved from Fabric Crashlytics plugin to Firebase Crashlytics plugin. In the Fabric case, I had the...
Read more >Specified path for unstripped native libs is not a directory #1198
This issue started to appear after I moved from Fabric Crashlytics plugin to Firebase Crashlytics plugin. In the Firebase case, I had the...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
In the new Firebase Crashlytics plugin, the
androidNdkOut
andandroidNdkLibsOut
properties have been changed tostrippedNativeLibsDir
andunstrippedNativeLibsDir
, and should be declared infirebaseCrashlytics
within the variant block, where you declarednativeSymbolUploadEnabled true
.Those options aren’t currently documented, though they will be shortly.
😠 firebase-crashlytics-gradle:2.2.0 can NOT build but 2.1.1 works good
Crashlytics could not determine stripped/unstripped native library directories for project ‘:app’, variant Release. These are required for generating symbol files when NDK build tasks cannot be automatically inferred. Please specify strippedNativeLibsDir and unstrippedNativeLibsDir in the firebaseCrashlytics extension.