首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Android targetSdkVersion 26中加载targetSdkVersion文件(本机库)

如何在Android targetSdkVersion 26中加载targetSdkVersion文件(本机库)
EN

Stack Overflow用户
提问于 2017-08-30 08:46:15
回答 1查看 811关注 0票数 0

我正在尝试将so文件(这是一个已经编译的原生C/C++代码)加载到我的Android应用程序中,但是它不起作用(抛出异常,应用程序停止工作)。

E/AndroidRuntime:致命异常:线程-685进程: com.dsyr.selftoidcardmatcherdemo,PID: 11990 java.lang.UnsatisfiedLinkError:

如果我将targetSdkVersion改为21,那么它运行得很好。那么,在targetSdkVersion 26中,库不能加载的原因是什么?在第26版中,我们还有什么额外的事情要做吗?

EN

回答 1

Stack Overflow用户

发布于 2017-09-04 05:25:51

我也面临着同样的问题,我尝试删除所有64位库,只留下32位库:

在应用中

.mk:

代码语言:javascript
复制
APP_API := armeabi armeabi-v7a x86 mips

app分级

代码语言:javascript
复制
defaultConfig {
    ndk {
        abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
    }
}

gradle.properties

代码语言:javascript
复制
android.useDeprecatedNdk=true

Android.mk

代码语言:javascript
复制
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := Native
LOCAL_SRC_FILES := ../cpp/native.cpp // your native c++ file
LOCAL_C_INCLUDES := ../cpp/native-handler.h //if u have header File
LOCAL_LDLIBS := -lz -llog -ljnigraphics
include $(BUILD_SHARED_LIBRARY)

它将使用64位的32位库。

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

https://stackoverflow.com/questions/45955883

复制
相关文章

相似问题

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