title: 大小端详解
date: 2023-06-06 21:01:24
comments: true #是否可评论
toc: true #是否显示文章目录
categories: #分类
- gradle
- android studio
tags: #标签
- gradle
- android studio
summary: android stduio 导入第三方库方式
Android Studio引用第三方库的方式
前言
这里描述的第三方库文件格式指的是
- so
- aar
so库介绍一种方法
Aar介绍两种方法
导入aar
libs目录下导入
将 aar 包放入 library module 的 libs 目录下,然后在工程的 build.gradle 文件中加入如下代码:
flatDir { dirs 'libs', '../moduleName/libs' }
注:将 moduleName 替换为你自己的 library module 的 name.
然后在 module 的 build.gradle 文件中添加依赖:
implementation(name: 'aar包名', ext: 'aar')
模块导入
参考
这种方式的思路是,先把 aar 包放入一个单独的文件夹中,然后我们再依赖这个文件夹就可以了,这个文件夹你也可以理解成一个特殊的 module。
先在工程目录下新建一个文件夹(和 app 同级),然后将你的 aar 包放入 这个文件夹,然后再新建一个 build.gradle 文件,在这个文件中添加下面两句:
configurations.maybeCreate("default")
artifacts.add("default", file('aar包名.aar'))
然后在你需要依赖的 library module 的 build.gradle 文件中添加依赖:
implementation project(':存放aar包的文件夹')
最后需要在setting.gradle文件中加入
include(':module')
api参考
这里解释一下主要的几个点含义:
- implementation后面字符串含义
implementation 'com.example.android:app-magic:12.3'
这是远程二进制依赖,这是一个简写,展开就是:
implementation group: 'com.example.android', name: 'app-magic', version: '12.3'
导入so
- 在app目录下创建libs目录
- 建立CPU架构文件目录
- 将so放置到对应CPU架构
-
在Module的build.gradle文件中添加
sourceSets { main { jniLibs.srcDirs = ["libs"] } } // jniLibs作用是告知AS, jniLibs资源所在的位置 packagingOptions { pickFirst "*/armeabi-v7a/*.so" pickFirst "*/arm64-v8a/*.so" pickFirst "*/x86/*.so" pickFirst "*/x86_64/*.so" } // packagingOptions是java资源的选取选项,pickFirst代表的含义是遇到重复的首选获取文件列表
参考
[Android plugin DSL Reference](