Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android c+的Crashreport+;图书馆展览失踪_Android_Google Fabric_Crashlytics Android - Fatal编程技术网

Android c+的Crashreport+;图书馆展览失踪

Android c+的Crashreport+;图书馆展览失踪,android,google-fabric,crashlytics-android,Android,Google Fabric,Crashlytics Android,我已经配置build.gradle和应用程序使Crashlytics工作。 但无法找出为什么C++代码显示“丢失”和没有任何详细信息(行数,调用堆栈)。 “/gradlew Crashlytics上载SYMBOLS开发发行版”成功,无任何错误。 java代码崩溃报告的堆栈跟踪工作正常。只有C++代码的崩溃报告显示“丢失”。 Java代码通过JNI使用“libengine” build by: externalNativeBuild { cmake { path "CMakeL

我已经配置build.gradle和应用程序使Crashlytics工作。 但无法找出为什么C++代码显示“丢失”和没有任何详细信息(行数,调用堆栈)。 “/gradlew Crashlytics上载SYMBOLS开发发行版”成功,无任何错误。 java代码崩溃报告的堆栈跟踪工作正常。只有C++代码的崩溃报告显示“丢失”。 Java代码通过JNI使用“libengine”

build by:
externalNativeBuild {
   cmake {
      path "CMakeLists.txt"
   }
}


my build.gradle:
crashlytics {
    enableNdk true
    androidNdkOut 'build/intermediates/cmake/development/debug/obj'
    androidNdkLibsOut 'build/intermediates/cmake/development/release/obj'
    manifestPath 'src/main/AndroidManifest.xml'
}

问题在于build.gradle中obj和lib的路径错误。 在我的例子中,C++库是由CGuy构建的,我应该配置如下,用于为发布版本上传符号。
    crashlytics {
        enableNdk true
        androidNdkOut 'build/intermediates/cmake/development/release/obj'
        androidNdkLibsOut 'build/intermediates/transforms/stripDebugSymbol/development/release/0/lib'
        manifestPath 'src/main/AndroidManifest.xml'
    }

    #in order to avoid manually run crashlyticsUploadsSymbols
    android.applicationVariants.all { variant ->
        def variantName = variant.name.capitalize()
        if(variant.buildType.name=="release")
        variant.assemble.finalizedBy(project.("crashlyticsUploadSymbols${variantName}"))
    }
我学会了通过检查以下内容来检查上传是否成功:

~/Library/Caches/com.crashlytics/com.crashlytics.tools/crashlytics.log

你有权访问这些库的非压缩调试版本吗?@MikeBonnell是的,我有。调试版本位于“build/intermediates/cmake/development/debug/obj”目录中。我还运行了./gradlew crashlytics uploadsymbols developmentdebug来上传。好的,您使用的SDK和gradle插件的哪个版本?@MikeBonnell dependencies{implementation('com.crashlytics.SDK.android:crashlytics:2.9.5'){transitive=true}实现('com.crashlytics.SDK.android:crashlytics ndk:2.0.5')){transitive=true}}@MikeBonnell非常感谢你。现在它工作了,我可以看到C++文件行号和调用栈。