android lib下不同的cpu类型 不同的.so文件
2016-01-06 15:13
459 查看
由于android手机和平板的种类繁多,硬件设备不同 ,因此CPU可以分为多种,因此jni库常常不能调用Java方法。 android APK的根目录有一个 libs文件夹,此文件夹下包含了armeabi 和armeabi-v7a等文件夹,我们的c代码编译成的本地库(各种.so)就会放在其中的一个或者多个
通常在lib文件夹下 新建7中文件夹
arm64-v8a,armeabi,armeabi-v7a,mips,mips64,x86,x86_64
在其中放入不同的.so文件
如果是android studio 要在build.gradle文件夹内android{}中设置
sorceSet{
main{ jniLibs.srcDirs = ['libs'] }
}
如下:
* 有时候在项目中也可以新建备份cpu类型 如最近项目只分了4中类型 便可轻松在红米。5.0系统等坑爹手机上运行了
armeabi-v7a,mips,x86,x86_64
*特别注意的是 如果项目有引用其他第三方sdk 如果再他们的项目中有不同的cpu类型 ,也会影响到整体
*由于CPU不同,对应的硬件驱动不同,因此他们编译的.so文件也是不同的
*或者可以在项目src 文件夹下 直接创建 jniLibs文件夹 这样可以省去 在build.gradle中配置的过程
通常在lib文件夹下 新建7中文件夹
arm64-v8a,armeabi,armeabi-v7a,mips,mips64,x86,x86_64
在其中放入不同的.so文件
如果是android studio 要在build.gradle文件夹内android{}中设置
sorceSet{
main{ jniLibs.srcDirs = ['libs'] }
}
如下:
android { compileSdkVersion 19 buildToolsVersion "23.0.2" defaultConfig { applicationId "com.fm.aiyinsitan" minSdkVersion 11 targetSdkVersion 17 multiDexEnabled true } buildTypes { //debug{ // minifyEnabled false // zipAlignEnabled false // shrinkResources false //} release { //minifyEnabled true //zipAlignEnabled true //shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } dexOptions { incremental true javaMaxHeapSize "4g" } sourceSets { main { jniLibs.srcDirs = ['libs'] } } }
* 有时候在项目中也可以新建备份cpu类型 如最近项目只分了4中类型 便可轻松在红米。5.0系统等坑爹手机上运行了
armeabi-v7a,mips,x86,x86_64
*特别注意的是 如果项目有引用其他第三方sdk 如果再他们的项目中有不同的cpu类型 ,也会影响到整体
*由于CPU不同,对应的硬件驱动不同,因此他们编译的.so文件也是不同的
*或者可以在项目src 文件夹下 直接创建 jniLibs文件夹 这样可以省去 在build.gradle中配置的过程
相关文章推荐
- Android编程之线性布局LinearLayout实例简析
- android开机启动应用和服务
- android开发游记:xml配置图形文件
- AndroidOne一个很牛逼的框架
- Android:自动完成文本框(AutoCompleteTextView、MultiAutoCompleteTextView )
- android模拟器启动出错
- 常用开源镜像站点整理(Android/pip/npm)
- 六款值得推荐的android(安卓)开源框架简介
- Android Touch事件分发与消费机制
- android常用同步类
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
- Android开发中的屏幕适配问题
- Android应用开发中的风格和主题(style,themes)
- ubuntu 14.04 搭建Android 源码(AOSP)编译环境
- Android权限机制
- android学习日记(三):Fragment的实战上
- android按键事件和触屏事件(三)-带你从源码的角度彻底理解
- lambda 表达式
- Android KITKAT 以上实现沉浸式状态栏
- android按键事件和触屏事件(二)-带你从源码的角度彻底理解