首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android Marshmallow从另一个库模块调用库模块(本机库)会崩溃

Android Marshmallow从另一个库模块调用库模块(本机库)会崩溃
EN

Stack Overflow用户
提问于 2016-09-27 14:11:59
回答 1查看 202关注 0票数 4

我的应用程序中有3个模块名为(例如) "emp-library""face-library". "app"

app -只包含加载屏幕并打开emp库库活动。

face-library是一个库模块,它包含了基本的雇员表单和摄像机模块来获取员工的图像,然后将图像传递给来检测人脸。

face-library -它是库模块,它包含用于检测人脸的人脸检测库(本机库-自己的人脸检测算法)。

该应用程序正在Lollipop设备中工作。但是当我在Marshmallow,中执行这个应用程序时,它会崩溃,只有下面的例外情况。

代码语言:javascript
复制
Fatal signal 11 (SIGSEGV), code 2, fault addr 0xdeadbaad in tid 32696

注意:这是我在日志中得到的唯一错误消息。

我是否需要为Marshmallow设备构建特定的本机库?有人能帮我解决这个问题吗?

更新:

->,因为我找不到任何技术错误(据我所知,在本机代码中没有任何异常),所以我遵循了试错方法。

我已经从face-library应用程序模块添加了->本机调用(我不应该在我的例子中使用它)。现在,应用程序没有崩溃

因此,问题是来自"face-library emp库模块的模块调用。两者都是库模块。

(face-library) Marshmallow中是否有从库(emp-library)模块调用本机库(emp-library)的约束?

EN

回答 1

Stack Overflow用户

发布于 2016-09-27 14:45:52

不,您不需要编译特定版本的棉花糖。因为棉花糖工作在armeabi-v7和armeabi中,另外还有64位编译的armV8。

首先,尝试用armv8版本编译库。

确保您在清单中具有权限,或者如果您在执行时请求权限(例如照相机)。

您的错误是一个泛型错误,因此,您可以尝试本机调试来查找它正在提供错误https://codelabs.developers.google.com/codelabs/android-studio-jni/index.html?index=..%2F..%2Findex#0的库。

或者您可以使用Logger,它的工作方式类似于can。

在这里,伐木人

代码语言:javascript
复制
#ifndef LOGGER_H
#define LOGGER_H

#include <strings.h>
#include <android/log.h>

#define LOG_INFO(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)
#define LOG_ERROR(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)

#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, LOG_TAG,__VA_ARGS__)
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG  , LOG_TAG,__VA_ARGS__)
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO   , LOG_TAG,__VA_ARGS__)
#define LOGW(...) __android_log_print(ANDROID_LOG_WARN   , LOG_TAG,__VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR  , LOG_TAG,__VA_ARGS__)

#endif

cpp文件中的一个示例:

代码语言:javascript
复制
#include "Foo.h"
#include "logger.h" //include your logger.h
#define LOG_TAG "your_Log_tag"

void Foo::myFunction(char * mystring)
{
 LOGV("Hello foo %s",mystring)
}

我希望,这将有助于您找到错误的位置。如果你能更具体一点,我可以帮你解决这个问题。

我通常在OpenCV c++和Android的图像处理中工作,不幸的是,这些错误非常常见。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39726986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档