studio碰到问题:java.lang.UnsatisfiedLinkError解决办法
studio中碰到的jni问题
最近在做supervideo,解析youku视频地址,是加过密处理,须要用对应的key去解析,获取对应数据,在引用jni时,发现接二连三出问题,以前用eclipse时开发,直接把so文件放在libs/armeabi/下,就可以了,如果有有平台差异,也最多加个libs/armeabi-v7a之类的,在studio中,jni以前虽然写过相关工程,但是没有没有遇到相关问题,看来应了一句话:没有问题,可能以后才是最大的问题。那就总结下这两天这个接二连三的异常。
首先,在拼接好了url之后,接用把key和url去加密,调用jni方法。报出第一个错误,信息如下:
看了下,是说so文件没有打进apk中,于是开始在main目录下建立一个jniLibs,把so拷进去。(ps:之前是以引用的方式)
这下so应该拷贝进去了,一运行,又挂了,看下异常如下:
这个直接说是so文件没有相关方法,这有点说不过去了,又开始折腾了一会,还是这个错误,不合理啊,这不是什么技术上的难点。没理由这么。。。肯定是那里写的有问题。于是再review下代码。发现了,我在用调用native方法时,没有按规则来,想起很久以前调用aidl时,也有一个类似的情况,就是无法link里面的方法。我看了下引用native方法的包名和文件名,。。。。我自己改成我的package了,so文件声明却不是以我的命名开头的。好吧,明白了。改成对应的包名及文件名,问题解决。不是什么技术难点的时候,尤其多review下自己的代码。因为没理由让你耗费大量时间。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
c++ mk文件出错Jni调用产生java.lang.UnsatisfiedLinkError错误解决方法
错误为: Android.mk文件 c++的调用方法为: 复制代码 代码如下: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := TestNdk LOCAL_CPP_EXTENSION :=com_ndk_test_JniClient.cpp include $(BUILD_SHARED_LIBRARY) c中的调用方法: 复制代码 代码如下: LOCAL_SRC_FILES := com_ndk_test_Jn
-
java.lang.UnsatisfiedLinkError: %1 不是有效的Win32应用程序错误解决
发现问题 最近工作中利用JNA 调用 dll 库时保错,错误如下: ///////////////// 通过 JNA 引入 DLL 库 //////////// /** * ID_FprCap.dll 负责指纹的采集, 指纹仪的初始化,设置等等 */ public interface ID_FprCap extends StdCallLibrary { ID_Fpr fpr = ID_Fpr.INSTANCE ; ID_FprCap fprCap = (ID_FprCap)Native.load
-
studio碰到问题:java.lang.UnsatisfiedLinkError解决办法
studio中碰到的jni问题 最近在做supervideo,解析youku视频地址,是加过密处理,须要用对应的key去解析,获取对应数据,在引用jni时,发现接二连三出问题,以前用eclipse时开发,直接把so文件放在libs/armeabi/下,就可以了,如果有有平台差异,也最多加个libs/armeabi-v7a之类的,在studio中,jni以前虽然写过相关工程,但是没有没有遇到相关问题,看来应了一句话:没有问题,可能以后才是最大的问题.那就总结下这两天这个接二连三的异常. 首先,在拼
-
Android Caused by: java.lang.ClassNotFoundException解决办法
Android Caused by: java.lang.ClassNotFoundException解决办法 出现问题: 08-13 18:29:22.924: E/AndroidRuntime(1875): Caused by: Java.lang.ClassNotFoundException:XXXXX in loader dalvik.system.PathClassLoader[/data/app/XXXX.apk] 我想大家经常因为疏忽出现ClassNotFoundExcept
-
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
在前几天的开发中,遇到这么个非常奇葩的异常,有些手机可以运行,有些手机却直接就崩了,今天就把这异常整理下. 首先还是贴上其异常信息 E/AndroidRuntime: FATAL EXCEPTION: main android.view.InflateException: Binary XML file line #13: Error inflating class <unknown> at android.view.LayoutInflater.createView(LayoutInflat
-
maven引入本地jar包运行报错java.lang.NoClassDefFoundError解决
目录 正文 maven引入本地jar的示例 配置maven将本地jar打入package中 maven打包知识分享 scope详解 正文 下文笔者讲述maven引入本地jar包时,运行报错"java.lang.NoClassDefFoundError"的处理方法分享,如下所示 今天在编写maven项目 导入本地jar包 部署到服务器上找不到包 报错信息如:java.lang.NoClassDefFoundError那么如何解决呢? 这种问题是由于,本地jar包在打包的
-
Java编译错误信息提示java.lang.ExceptionInInitializer解决
错误提示 错误提示信息为: Error:java: java.lang.ExceptionInInitializerError com.sun.tools.javac.code.TypeTags 如果使用 Maven 错误信息是一样的. [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] -----------------------
-
Android异常 java.lang.IllegalStateException解决方法
Android异常详情介绍 这种异常我遇到以下两种情况: 1. java.lang.IllegalStateException: No wrapped connection. 2.java.lang.IllegalStateException: Adapter is detached. 原因: 1.单线程一次执行一个请求可以正常执行,如果使用多线程,同时执行多个请求时就会出现连接超时. 2.HttpConnection没有连接池的概念,多少次请求就会建立多少个IO,在访问量巨大的情况下服务器的I
-
Tomcat启动时报错:java.lang.UnsatisfiedLinkError的解决
问题 之前tomcat启动老是报错,虽然不影响项目的启动运行,但是有强迫症的程序员会心里不爽: 如下: 问题分析 由于本机安装的jdk版本与tomcat中使用的jdk版本不一致导致的. 解决方法 后面我把原先tomcat启动环境用的jdk1.7改为了本机安装的jdk1.8就不在报错. 具体过程: 在myeclipse中点击window→preference→在搜索框中输入Tomcat→选择安装的tomcat版本,我这里是选择Tomcat 7.x→点击JDK→在Tomcat 7.x JDK nam
-
Android Studio提示inotify大小不足的解决办法
前言 Inotify会对工程内的所有文件夹设置"watch handle".不幸的是,Linux默认的watch handle的限值不能满足实际工程大小的需要,超过限值将强制IntelliJ重新扫描项目目录的递归树(这将非常耗时). 为了避免这种问题,我们推荐修改提高watches的限值(一般521k就可以了),以下是具体的解决步骤. 问题描述: 使用Android Studio 导入AOSP源码并且indexing完,ide右上角可能抛出警告"Kernel inotify
随机推荐
- Golang中List的实现方法示例详解
- 用jdom创建中文的xml文件的方法
- 向数据库中插入数据并返回当前插入的行数及全局变量@@IDENTITY应用
- 浅谈node中的exports与module.exports的关系
- Python中死锁的形成示例及死锁情况的防止
- PHP SPL标准库中的常用函数介绍
- C#基础知识系列八const和readonly关键字详细介绍
- Vue.js每天必学之方法与事件处理器
- MySQL中导出用户权限设置的脚本分享
- 基于Vue.js实现tab滑块效果
- SQL Server中的Forwarded Record计数器影响IO性能的解决方法
- 最简单的Spring Cloud教程第一篇:服务的注册与发现(Eureka)
- 解析Linux下的时间函数:设置以及获取时间的方法
- Js获取图片原始宽高的实现代码
- javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
- jquery实现两边飘浮可关闭的对联广告
- JavaScript-定时器0~9抽奖系统详解(代码)
- 图解Windows环境下Android Studio安装和使用教程
- Centos7 Mysql 5.6 多主一从 解决方案与详细配置
- 交换机的一点配置笔记cisco