Android studio 使用心得(六)—android studio 如何加载.so文件
2015-07-31 16:53
585 查看
之前一直没怎么注意,以为.so文件android为像eclipse一样直接加载,但是直到昨天我在android studio上调试公司项目推送消息的时候,才发现,.so文件原来没有加载成功.
可能之前 Android studio 使用心得(三)—从Eclipse迁移到Android 这篇文章我是用Demo4来做例子,里面并没有引用.so文件,所以大家按照这篇文章去迁移项目的时候,会遇到问题。昨天我网上找了一下关于android studio gradle 加载.so文件的文章,发现大多还停留在gradle 低版本的时候的解决方法,看上去都好复杂,现在android studio1.0以后解决这个问题就很简单啦!如果大家还在用1.0以前的版本那我就要喷你一脸啦。。我先提一点,就是如果从android studio上直接创建一个项目和从eclipse迁移过来的项目其实目录结构会稍微有区别的。
1. 我先讲一下,怎么解决从eclipse迁移过来的代码加载.so文件.直接以我的项目为例。
先看一下目录结构
大家会注意到,我们从eclipse迁移过来的项目,会默认给我们创建一个文件夹jniLibs,然后把eclipse里面libs文件夹里的内容都复制过来,如果直接在android studio 里面创建项目是不会有这个文件夹的,这是区别一。从eclipse迁移过来的项目上,会在build.gradle配置文件里面加上一段配置
sourceSets {
main {
manifest.srcFile ‘AndroidManifest.xml’
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']//这一行是没有的,如果我们有.so文件就需要加上这一行代码
}
// Move the tests to tests/java, tests/res, etc…
instrumentTest.setRoot(‘tests’)
// Move the build types to build-types/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, …
// This moves them out of them default location under src/<type>/… which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot(‘build-types/debug’)
release.setRoot(‘build-types/release’)
}
再看一下图。之前我一直认为 compile fileTree(dir: ‘libs’, include: ‘*.jar’)这样就会全部加载.jar和.so文件,其实我错了,如果没有在sourceSets main里面加上一句 jniLibs.srcDirs = ['libs'],是不会加载.so文件的。
2.如果我们创建项目就是在android studio上创建的
默认没有jniLibs文件夹。所以需要我们自己创建。目录 src—>main—>jniLibs
以加载加载信鸽sdk为例子
我们先把.so文件全部复制到jniLibs文件。目录不变,
最后添加成功
然后,再说一下添加.jar包。跟eclipse一样,先把.jar文件放到libs目录下,然后add asLibrary.就可以了。
运行项目,就Ok了。这时也不需要再去配置
jniLibs.srcDirs = ['libs']
0
您可能也喜欢:
Android studio 使用心得(四)---android studio 多渠道打包
Android studio使用心得(二)--- 打包签名apk发布
Android studio 使用心得(三)---从Eclipse迁移到Android studio
Android studio 使用心得(一)---android studio快速掌握快捷键
Android studio 使用心得(四)---android studio 多渠道打包(二)
相关文章推荐
- 【Android应用开发技术:用户界面】SurfaceHolder
- Android应用开发欢迎界面不想显示最上面的LOGO
- Android studio 使用心得(五)—代码混淆和破解apk
- Android studio 使用心得(四)—android studio 多渠道打包(二)
- 【Android应用开发技术:用户界面】SurfaceView
- 关于android系统不关屏设置
- Android studio使用心得(二)— 打包签名apk发布
- 关于android 的databinding 技术
- Android之Dialog
- Android studio 使用心得(一)—android studio快速掌握快捷键
- Android实现图片的倒影效果
- Android 4.4 沉浸式透明状态栏
- Android 4.4 沉浸式透明状态栏
- mobile web开发 图片展示控件PhotoSwipe android手势放大功能
- Android Notification功能的实现
- android 杂记6:Android xml资源文件的一些东西
- 【Android应用开发技术:媒体开发】MediaPlayer基本原理
- Android LaunchMode and StartActivityForResult
- android rectF
- 在源码中编译自己的Android project