如何解决UnsatisfiedLinkError?

2024-01-31

我正在使用 Android Studio 3,并且尝试在我的设备上使用 OpenCL。 APK 编译并失败于:

java.lang.UnsatisfiedLinkError:dlopen失败:找不到库“libcutils.so”

这是我的 build.gradle:

apply plugin: 'com.android.application'
def appDir = getProjectDir().toString()
def includeDir = appDir + "/src/main/cpp/include/"
def libDir = appDir + "/src/main/jniLibs/"
def arm64lib = libDir + "/arm64-v8a/"
def armeabilib = libDir + "/armeabi-v7a/"

android {

compileSdkVersion 28
defaultConfig {
    applicationId "com.example.miche.androidopencltest"
    minSdkVersion 23
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    externalNativeBuild {
        cmake {
            cppFlags "-frtti -fexceptions"
            cppFlags "-I${includeDir}".toString()
            cppFlags '-std=c++11'
        }
    }

}

splits{
    abi{
        enable true
        reset()
        include "armeabi-v7a"
        universalApk false
    }
}


project.ext.versionCodes = ['armeabi-v7a': 1]


buildTypes {
    release {
        //minifyEnabled false
        //proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0-rc01'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

我哪里做错了?

EDIT

即使在设备的 /lib/ 文件夹中,我也找不到正确的 .so 。


即使在设备的 /lib/ 文件夹中,我也找不到正确的 .so 。

根据https://developer.android.com/about/versions/nougat/android-7.0-changes https://developer.android.com/about/versions/nougat/android-7.0-changes:

应用程序不应使用未包含在 NDK 中的本机库,因为它们可能会在不同版本的 Android 之间发生更改或删除。

libcutils.so是私有 NDK 库之一。

如果应用程序的目标 API 级别为 24 或更高级别,则您的应用程序将崩溃,因为您正在尝试访问私有库。请注意,您的应用程序的目标是 28targetSdkVersion 28.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决UnsatisfiedLinkError? 的相关文章

随机推荐

  • 如何强制状态服务器丢弃所有会话?

    我有一个 asp net Web 应用程序 它使用状态服务器来存储其会话 当我们更改存储在会话中的某些内容的类型时 所有具有活动会话的用户都会出错 因为 旧会话 包含 旧类型 的实例 我认为解决这个问题的最简单方法是重新启动状态服务器 从而
  • jQuery .on keyup 和模糊仅触发 onload

    问题 这blur and keyup每个事件在 onload 时触发一次 并且仅在 onload 时触发 我怎样才能让它们正常工作 jQuery function myFunction text alert text input1 on k
  • 根据特定数组的长度对变量进行分组

    我在数据集中有一长串变量 其中包含多个time不同采样率的通道 例如time 1 time 2 TIME Time等等 还有多个其他变量取决于这些时间中的任何一个 我想列出包含 时间 的所有可能通道 工作区中不区分大小写的部分字符串搜索 并
  • 为什么 savefig 和plot 命令必须位于 IPython 笔记本中的同一单元格中?

    我试图从 IPython 笔记本中导出一些图 搜索我发现这个问题 https stackoverflow com questions 13642528 how to export figures to files from ipython
  • 检测用户是否正在滚动

    如何在 javascript 中检测用户是否正在滚动 这有效 window onscroll function e called when the window is scrolled edit 你说这是一个 TimeInterval 中的
  • webpack-dev-server 如何在不刷新页面的情况下重新加载 css

    当我更改 vue 文件和 css 文件中的样式时 我不希望页面刷新 并且希望样式自动更改 但现在当我更改样式时页面总是刷新 我正在使用 vue cli 生成 webpack 配置文件 as below webpack dev conf js
  • 使用 Meteor.js 进行抓取

    我可以使用meteor js 进行抓取吗 刚刚发现cheerio结合起来效果很好request 我可以将它们与流星一起使用吗 或者有类似的东西吗 你有一个可行的例子吗 当然 很难想象还有什么是流星做不到的 首先 您需要一些东西来处理远程 h
  • nuxt.js 文档未定义,pugin 出现问题

    我添加了插件 vue burger menu to my nuxt js项目 我有一个错误 document is not defined 我知道 这个插件仅适用于客户端 于是我在vue文档中找到了在此输入链接描述 https nuxtjs
  • 使用 ksoap2-android 时出现异常

    我有一个关于 ksoap2 的问题 我的问题是 该项目曾经运行良好 直到我不得不格式化我的电脑并再次设置它 我不记得我在应用程序中引用了哪个版本 但我尝试了很多版本 但问题仍然出现 04 05 13 56 18 289 E dalvikvm
  • 将不相关的存储库导入到另一个存储库分支

    我在 stackoverflow 上尝试了很多答案 但似乎没有一个能完全按照我想要的方式工作 基本上我有一个主存储库 我创建了一个分支 例如 功能 并且我需要添加另一个完全不相关的存储库作为此 功能 分支的文件夹 我还需要从导入存储库中获取
  • 双文件类型扩展:Sublime Text 3 中的正确语法突出显示

    我正在和一些人一起工作 scss liquid文件 它们总是以 HTML Liquid 的形式打开 无论我设置语法多少次 Update I tried 打开所有当前扩展名为选项 但不幸的是这会影响以下文件 js liquid and htm
  • 如果文本改变了大小,并且小部件改变了大小

    第一次尝试 https i stack imgur com kN2RQ gif 在这里您可以看到字体如何更改大小以及文本小部件如何更改大小 我需要文本小部件来保持其大小 我尝试在框架中创建一个文本小部件并制作frm grid propaga
  • 如何在kubectl部署中传递环境变量?

    我正在为 django webapp 设置 kubernetes 设置 我在创建部署时传递环境变量 如下所示 kubectl create f deployment yml l key1 value1 我收到如下错误 error no ob
  • 如何从 SQL Server 数据库中的表中删除或更改多个数据库的默认约束?

    我已经解决了之前的这些问题Q1 https stackoverflow com questions 15547210 modify default value in sql server Q2 https stackoverflow com
  • 为创建的 UIToolbar 设置 UIToolbarPosition

    我正在编写仅针对 iOS5 设备的应用程序 因此我试图最大限度地利用新的appearance API 我可以改变我的背景UIToolbar用以下方法 UIToolbar appearance setBackgroundImage
  • 通过使用指令调用开始和结束?

    既定的调用习惯用法swap is using std swap swap foo bar 这边走 swap可以对外部的用户定义类型进行重载std命名空间 我们应该调用begin and end以同样的方式 using std begin u
  • kubernetes 仪表板(Web ui)没有任何可显示的内容

    部署 webui k8s 仪表板 后 我登录到仪表板 但在那里找不到任何内容 而是通知中的错误列表 tatefulsets apps is forbidden User system serviceaccount kubernetes da
  • 唯一约束,排除 NULL 值[重复]

    这个问题在这里已经有答案了 可能的重复 在 SQL Server 中实现允许多个 NULL 值的唯一约束的正确方法 https stackoverflow com questions 6088361 the proper way to im
  • 在 Visual Studio 2017 中找不到“选择性粘贴”选项

    我看不到Paste Special我的 Visual Studio 2017 专业版中的选项 微软 Visual Studio 专业版 2017 版本15 4 5 VisualStudio 15 Release 15 4 5 27004 2
  • 如何解决UnsatisfiedLinkError?

    我正在使用 Android Studio 3 并且尝试在我的设备上使用 OpenCL APK 编译并失败于 java lang UnsatisfiedLinkError dlopen失败 找不到库 libcutils so 这是我的 bui