稍微大一些的项目都会用到第三方库,所以不可避免的会有针对不同手机cpu架构的.so库文件

'x86', 'x86_64', 'mips', 'mips64'  'armeabi' ,'armeabi-v7a',  'arm64-v8a'

但是不是所有的第三方库都会适配所有的cpu架构,本人亲测采用一种降低性能却减少库文件的方式

就是只用armeabi-v7a库;有armeabi-v7a就把其他的都删掉,没有armeabi-v7a,把armeabi的文件移到armeabi-v7a中,把其他的都删除

下面就告诉大家怎么适配特定的cpu架构库 在主module .gradle加 ndk{},依赖的module也要添加

android{
...
defaultConfig {
applicationId "XXXXXXX"
minSdkVersion 11
targetSdkVersion 21
versionCode 126
versionName "1.2.6" ndk {
//选择要添加的对应cpu类型的.so库。 // 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
abiFilters 'armeabi' //'armeabi-v7a', 'arm64-v8a'
moduleName "app"
} }
}

abiFilters 就是过滤.so文件的方法;

如上配置就能让你的项目只打包armeabi的库文件;其他依赖module同样配置,最终效果就是你的app只适配armeabi CPU的机型;
打包的APK文件 libs下只有 armeabi的so文件;

Android Studio指定引用jnilibs 特定CPU架构的so库文件的更多相关文章

  1. Android Studio工程引用第三方so文件

    应用程序二进制接口(Application Binary Interface)定义了二进制文件(尤其是.so文件)如何运行在相应的系统平台上,从使用的指令集,内存对齐到可用的系统函数库.在Androi ...

  2. Android studio 中引用jar的其实是Maven?(二)

    上一篇:Android studio 中引用jar的其实是Maven?(一) 搭建maven仓库: 去了解一个新的事物的时候,最好的方式就是去使用它.例如去了解一座城市的时候,最好的方式就是乘坐公共交 ...

  3. Android studio 中引用jar的其实是Maven?(一)

    由于Studio比eclipse多了一步对工程构建的步骤,即为build.gradle这个文件运行,因此其引入第三方开发jar包与lib工程对比Eclipse已完成不同,引入第三方jar与lib工程显 ...

  4. Android Studio如何引用jar包裹(不gradle)

    这和eclipse最大的区别.与非常人的预期开始Android Studio我们很不高兴这一套. 它直接在地图上.首先通过File->Projcet structure打开project结构界面 ...

  5. Android studio 添加引用Module项目 与 设置Module项目的Libs的Jar在主项目里使用

    前言 添加引用Module项目 设置Module项目的Libs的Jar在主项目里使用 1.在项目里添加libs包,并且加入jar 2.设置这个module项目的build.gradle depende ...

  6. ANDROID开发中注意不同手机CPU架构对SO文件的不同需求。

    如果没有对应于手机的SO文件,那么在调用第三方SDK时,会经常发生莫明其妙的错误.所以了解你调式或开发的目的手机CPU架构是很有必要的.

  7. Android Studio将引用第三方jar包的library打包成jar包

    在该module的build.gradle中添加 task makeJar(type: Jar) { archiveName 'mysdk.jar' from('build/intermediates ...

  8. Android Studio中通过CMake使用NDK并编译自定义库和添加预编译库

    Note:这篇文章是基于Android Studio 3.01版本的,NDK是R16. step1:创建一个包含C++的项目 其他默认就可以了. C++ Standard 指定编译库的环境,其中Too ...

  9. 如何查询当前手机的cpu架构,so库导入工程又出异常了?

    执行adb命令: adb shell cat /proc/cpuinfo 对应文件夹 AArch64 == arm64-v8a ARMv7 == armeabi-v7a ............等 其 ...

随机推荐

  1. vim 插件 -- omnicppcomplete

    omnicppcomplete 插件是基于ctags来实现补全的.所以,要先安装好ctags才可以使用. 下载 https://www.vim.org/scripts/script.php?scrip ...

  2. linux 搭建rap记录

    1 安装 jdk1.8版本及以上 2 安装 apache-tomcat 3 安装 redis 最后编辑session配置和数据库配置 <session-config><session ...

  3. Julia安装以及使用扩展包package(ERROR: UndefVarError: Pkg not defined)

    刚刚安装好Julia1.0,想进行第一步尝试: Pkg.add("PyPlot") 却出现错误:ERROR: UndefVarError: Pkg not defined 问题描述 ...

  4. # 学号 20175223 《Java程序设计》第3周学习总结

    学号 20175223 <Java程序设计>第3周学习总结 教材学习内容总结 第四章要点: 要点1:面向对象三个性质:封装性.继承.多态: 要点2:类:类声明.类体.成员变量.方法.类的U ...

  5. python自学第12天 模块定义,导入,内置模块

    1.定义模块:用来从逻辑上组织python代码(实现一个功能),本质是.py结尾的python 包:本质就是一个目录(必须带有一个_init_.py文件)2.导入方法import module_nam ...

  6. css的性质

    css两个性质: 1.继承性 2.层叠行(选择器的一种选择能力,谁的权重大就选谁) A.选不中,走继承性,(font系列.color.text系列)权重是0 a)有多个父级都设置了这样的样式   走就 ...

  7. 学习python随笔记

    1.一定要记得在英文输入法下编辑 2.tab键的缩进也很重要

  8. iOS 添加第三方字体

    有时候根据UI的设计,我们需要添加第三方字体到工程中,实现特殊的效果. 一,把第三方字体包导入工程 二,在info.plist文件中添加Fonts provided by application 类型 ...

  9. [LeetCode&Python] Problem 202. Happy Number

    Write an algorithm to determine if a number is "happy". A happy number is a number defined ...

  10. tomcat报错-->'Start Tomcat v8.0 Server at localhost' has encountered a problem.

    toncat报错-->'Start Tomcat v8.0 Server at localhost' has encountered a problem. 2016年04月16日 09:27:2 ...