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下自己的代码。因为没理由让你耗费大量时间。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
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
-
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
-
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
随机推荐
- JS操作Cookies包括(读取添加与删除)
- Java Swing中的文本框(JTextField)与文本区(JTextArea)使用实例
- Angular中ng-options下拉数据默认值的设定方法
- 验证注册用户名必须为字母
- centos7.2搭建LAMP环境的具体操作方法
- 基于mybatis高级映射多对多查询的实现
- BootStrap Typeahead自动补全插件实例代码
- ASP.NET jQuery 实例3 (在TextBox里面阻止复制、剪切和粘贴事件)
- C# 实现的图片盖章功能,支持拖拽、旋转、放缩、保存
- 如何备份MySQL数据库
- Django中利用filter与simple_tag为前端自定义函数的实现方法
- jquery easyui如何实现格式化列
- 通过jquery的$.getJSON做一个跨域ajax请求试验
- 又一篇不错的批处理bat学习教程第1/5页
- 建立隐藏磁盘的bat代码
- 创建自己的jquery表格插件
- jQuery对象的链式操作用法分析
- jQuery实现锚点scoll效果实例分析
- 仿校内登陆框,精美,给那些很厉害但是没有设计天才的程序员
- samba共享目录权限问题