从我在Android NDK应用程序中的C代码中,我正在尝试初始化Crashlytics但它返回NULL。
LOGW ("Initializing Crashlytics");
crashlyticsContext = crashlytics_init();
LOGI ("crashlyticsContext: %lx", (uint32_t) crashlyticsContext);
在logcat日志中,我收到了一个权限拒绝日志:
W/SimTalk: Initializing Crashlytics
W/ActivityManager: Permission Denial: getCurrentUser() from pid=18043, uid=10079 requires android.permission.INTERACT_ACROSS_USERS
I/SimTalk: crashlyticsContext: 0
我的build.gradle文件包含NDK的编译行:
compile('com.crashlytics.sdk.android:crashlytics-ndk:2.0.2@aar') {
transitive = true
}
和崩溃论坛部分
crashlytics {
enableNdk true
}
我的AndroidManifest.xml文件确实包含我的元数据:
<meta-data
android:name="io.fabric.ApiKey"
android:value="............omitted.............." />
你知道为什么我的crashlytics_init()无效吗?
更新 我已经确定crashlytics_init()中的dlopen()调用返回NULL。 libcrashlytics.so文件与其他库一起包含在APK中。但它仍然没有加载。