首先在src同级目录下创建libs目录讲需要的.so复制到这里效果如图

然后在app级别的build.gradle配置lib路径,效果如果

完整代码如下:

apply plugin: 'com.android.application'android {compileSdkVersion 24buildToolsVersion "25.0.1"defaultConfig {applicationId "com.liberation.idcarread"minSdkVersion 15targetSdkVersion 24versionCode 1versionName "1.0"testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") {destinationDir file("$projectDir/libs")baseName "Native_Libs2"extension "jar"from fileTree(dir: "libs", include: "**/*.so")into "lib"}tasks.withType(JavaCompile) {compileTask -> compileTask.dependsOn(nativeLibsToJar)}sourceSets {main {jniLibs.srcDirs = ['libs']}}
}dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {exclude group: 'com.android.support', module: 'support-annotations'})compile 'com.android.support:appcompat-v7:24.2.1'testCompile 'junit:junit:4.12'
}

至此配置完成点击sync即可正常使用。编译运行过程遇到*.so: has text relocations 说明编译.so文件时使用了较低版本sdk 版本 此时降低build.gradle的targetSdkVersion 版本为22以及以下即可 我们这里改为22 最终效果如下

运行时又出现一个异常

 **java.lang.UnsatisfiedLinkError: No implementation found for int com.liberation.idcarread.ivsign.IDCReaderSDK.wltInit(java.lang.String) (tried Java_com_liberation_idcarread_ivsign_IDCReaderSDK_wltInit and Java_com_liberation_idcarread_ivsign_IDCReaderSDK_wltInit__Ljava_lang_String_2)**

解决方法:按照官方Demo放好包名路径。包名一定要跟原来的一模一样负责无法调用!

Android Studio引入.so文件的正确姿势 以及调用.so 文件时报错has text relocations 解决相关推荐

  1. Nuxt 项目引入外部Js的正确姿势 ,问题描述:打包构建之后引入的外部 js失效,构建之后的 .nuxt 文件夹下的js文件中,引入 js 的script标签凭空消失!

    首先先说我遇到的问题描述:       我是用vue + nuxt项目,项目中使用了阿里播放器,于是我在vue页面中直接引入了阿里播放器的 css和js文件,然后运行没有任何问题:如下图所示: 但是! ...

  2. Android SELinux开发入门指南之正确姿势解决访问data目录权限问题

      Android SELinux开发入门指南之正确姿势解决访问data目录权限问题 Android SELinux开发多场景实战指南目录: Android SELinux开发入门指南之SELinux ...

  3. Android LinearLayout添加间隔(Divider)的正确姿势

    最优解 2022年03月31日20:50:54更新 Android (2022 xml版)LinearLayout添加间隔(Divider)的正确姿势 这里用inset的方式在xml里进行了解决.各取 ...

  4. android 矢量图形文件,Android Studio进行APP设计开发之矢量图及XML文件转换

    Android Studio进行APP设计开发之矢量图及XML文件转换 当我们使用Android studio进行APP设计开发时,会用到矢量图,那么要将矢量图运用到安卓工程drawable中去,就需 ...

  5. 删除文件的正确姿势-Linux权限探索

    删除文件的正确姿势 在Linux系统中,要删除一个文件,到底需要用户拥有怎样的权限呢?这里做一个小小的探究. 首先用普通用户登录,在文件夹my下创建出mydir文件夹并进入,然后创建一个文件file ...

  6. Android Studio进行APP设计开发之矢量图及XML文件转换

    Android Studio进行APP设计开发之矢量图及XML文件转换 当我们使用Android studio进行APP设计开发时,会用到矢量图,那么要将矢量图运用到安卓工程drawable中去,就需 ...

  7. android markdown 框架,Android Studio MarkDown风格README的正确打开姿势

    万事开头难,这是我的第一篇简书,讲一讲我是怎么在AS上安装MarkDown编辑器插件的. 前言 其实吧刚开始我并没有觉得AS自带的文本编辑器有什么不好,README文件也就是记录一些相关信息,也没想着 ...

  8. android 引入 .so,android studio引入so库方法(示例代码)

    在Android Studio中引入so库,只需在app/jniLibs下放入so文件,然后在Module的build.gradle中加入: sourceSets { main { jniLibs.s ...

  9. android studio引入lib,Android studio项目引入另外一个项目做为Lib

    Android studio项目引入另外一个项目做为Libary 方法一:使用Android studio 导入lib项目: 注意: lib项目更改处:html 在build.gradle 文件下 将 ...

最新文章

  1. 今后军队将完全人工智能化?停止幻想!大趋势和大方向不容改变
  2. C++知识点7——函数传参
  3. 1.2 Java系统流
  4. java对象序列化克隆_Java8基础知识(三)对象克隆与序列化
  5. 5-9 c语言之【初识win32编程】
  6. Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析
  7. React学习笔记一 JSX语法组件
  8. hbase 导入到es_HBase数据同步到ElasticSearch的方案
  9. android搜狗输入法广告,Android 搜狗输入法 v8.12 去广告纯净版
  10. 云计算之存储即服务 - 存储区域网络(SAN)
  11. 双屏怎么快速切换鼠标_Win7系统如何设置一键快速切换双屏显示(图文)
  12. linux oel7没有网络,sudo su命令不在OEL 7中工作(sudo su command not working in OEL 7)
  13. 免费后台管理UI界面、html源码推荐
  14. 数组的降维与升维方法
  15. python图片比对、自动化测试_基于python+appium通过图片对比来做的UI自动化
  16. 本地事务与分布式事务
  17. 程序员就业3年,月薪才2万,很丢人吗?
  18. 安装CUDA-10.0
  19. 在Elasticsearch使用URI花式搜索
  20. 微信小程序毕业论文题目_SSM项目源码校园辩论管理平台+后台管理系统

热门文章

  1. 更新电脑游戏安装合集,600+单机游戏,单机电脑游戏合集共约4T
  2. 基于FPGA的FFT变换实现
  3. 通过FPGA将图片信息通过RS232串口发送到PC端,使用MATLAB进行图片显示
  4. 最轻量级的C协程库:Protothreads
  5. 不常见但很有用的chrome调试工具使用方法
  6. python进阶资源整理
  7. 实现mysql按月统计的教程
  8. Windows8 正式版最简单的去除桌面水印方法
  9. 【v2.x OGE-example 第一节】 绘制实体
  10. ​linux 系统出现Give root password for maintenance 问题