Android Studio 对so库的操作

1、在本项目中使用本项目生成的so文件

1、小知识:
1)、as库的默认位置:
在app/build/intermediates/ndk/debug/lib

这里写图片描述

2)、ndk的功能是生成so库,在项目中有底层c代码的时候能够提供jni的环境,使用已经生成的so库已经不需要ndk的环境,此时可以将ndk的相关设置都删掉。
例如:可以删除ndk环境,删除清单文件中的下列ndk配置代码

     ndk{
            moduleName "hello"
        }

2、在本项目中使用so文件必要条件(libs和jniLibs中要有so文件)
1)、jniLibs的设置
在app下面的gradle里面设置以下内容

sourceSets{
        main {
            jniLibs.srcDirs = ['libs']
        }
    }

syn 生成了jniLib文件

这里写图片描述

2)、将上面生成的so文件复制到项目libs(app下的libs)中
复制之后的目录结构如下:

这里写图片描述

这里写图片描述


注意查看下jniLibs目录下是否有so文件,没有的情况下需要复制进去
3)、操作基本上就完成了,编译运行吧
下面是运行效果:

这里写图片描述

demo:http://download.csdn.net/detail/u012391876/9598666

2、在新建项目中使用之前的so库

由于so库生成的时候是以很多固定信息通过ndk编译的,这里需要原项目中的native所在类以及所在包文件夹拷贝下来。
其余的没上面区别,将native所在类导入它原本的包路径下就可以了,之后,只需要配置jniLibs 和libs 就可以了。


对android studio的jni的使用大概先到这里了。


目前仍然存在的问题,在eclipse下面时,能够有下面的使用场景:
在jni 底层代码中使用so
各种百度 google之下,各种配置尝试之后,并没有找到在android studio jni下这种情况的解决。


实在找不到解决方案的条件下的解决方案:
直接使用了eclipse中生成的so库,按照上列方法做native的复制,以及jniLibs与libs的配置,然后就能够正常使用了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值