as 引用库 jar arr os module

来源:互联网 发布:毕业设计的要求与数据 编辑:程序博客网 时间:2024/05/29 11:54

as引用库

libratay:为远程库引用

file:为本地文件引用,如:libs文件里的jar文件

module:本地module引用

    1,需要把本地module作为library文件

    2,module需要关联进项目统一管理(module生成jar,则通过file关联就行了)

    注意:setting中需要加入你的modulename,这样才能和项目关联起来。

 

 

module关联

首先我们新建一个project然后再新建一个module作为library

apply plugin: 'com.android.library'

使用方式

只需要通过module dependency关联就ok了

 

 

jar和arr两者区别

*.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件。

*.aar:包含所有资源,class以及res资源文件全部包含

如果你只是一个简单的类库那么使用生成的*.jar文件即可;如果你的是一个UI库,包含一些自己写的控件布局文件以及字体等资源文件那么就只能使用*.aar文件。

jar关联

生成jar

1,首先我们新建一个project然后再新建一个module作为library

apply plugin: 'com.android.library'
2,在mylibrary的build.gradle中增加配置如下
def SDK_BASENAME = "TestSdk";def SDK_VERSION = "_V1.0";def sdkDestinationPath = "build";def zipFile = file('build/intermediates/bundles/release/classes.jar')task deleteBuild(type: Delete) {    delete sdkDestinationPath + SDK_BASENAME + SDK_VERSION + ".jar"}task makeJar(type: Jar) {    from zipTree(zipFile)    from fileTree(dir: 'src/main',includes: ['assets/**'])//assets目录打入jar包    baseName = SDK_BASENAME + SDK_VERSION    destinationDir = file(sdkDestinationPath)}makeJar.dependsOn(deleteBuild, build)

其中SDK_BASENAME= "TestSdk"; SDK_VERSION = "_V1.0"; 是定义生成jar的名字为TestSdk_V1.0.jar。

 

3,然后通过gradle生成jar文件如下:

然后双击“makejar”,就可以生成jar文件了(在build文件下)

你可以复制TestSdk.jar到一个新的module中的libs目录下

 

使用方式

通过file dependency关联就ok了

 

 

arr关联

生成jar

1,首先我们新建一个project然后再新建一个module作为library

apply plugin: 'com.android.library'

 

2,然后在项目中》》build》》outputs》》arr》》***.arr

3,如果没有则如下操作

 

使用方式

module引用aar文件

 

同样将arr包复制到libs目录下,然后在build.gradle中添加下面的代码

repositories {    flatDir {        dirs 'libs'    }}

注意:可以在两个地方添加

1,系统配置build.gradle

 

2,在app的build.gradle

 

compile(name: 'arrlibrary-debug', ext: 'aar')

 “arrlibrary-debug”是你arr包的名字,根据自己的情况修改

 

3,引入成功

引入成功可在build->intermediates->exploded-arr文件夹下看到


library引用aar文件

在AndroidStudio下如果是library中引用aar我们需要在librarymodule中同时复制aar到对应的libs目录

 

2-1、app和library中都配置

app中的配置

 

library中的配置

 

2-2、 只在project中配置

也可以只在project中配置,app和library中就不用配置了

 

引用so包

方法一(jniLibs)

在 src/main/ 目录下创建文件夹 jniLibs (如果有就不需要创建了),将so文件复制到这个目录下即可,工程会自动加载src/main/jniLibs目录下的so动态库。


方法二(libs)

在libs目录下放入对应不同CPU架构的so文件,通过加入代码: jniLibs.srcDir 'libs' 来说明so的路径为该libs路径。

 

sourceSets {  

    main {  

        jniLibs.srcDir 'libs'  

    }  

}  

 

在module的build.gradle添加的defaultConfig下添加

defaultConfig {    ......    ndk {        abiFilters "armeabi", "armeabi-v7a", "x86", "mips" //选择要使用的平台    }}

如果编译不通过,在项目的gradle.properties中添加

android.useDeprecatedNdk=true  

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 做b超看不清骶尾怎么办 孕中期羊水过少怎么办 心脏办膜关闭不全怎么办 9个月胎儿脑积水怎么办 怀孕三个月胎盘低置怎么办 怀孕第一个月打针了怎么办 唐氏筛查神经管缺陷高风险怎么办 门诊处方笺丢了怎么办 孕中期睡觉手麻怎么办 怀孕2个月了没胎心胎芽怎么办 怀孕腿疼的厉害怎么办 孕妇老是失眠多梦怎么办 孕妇会失眠多梦怎么办 怀孕5个月睡不着怎么办 6个月孕妇失眠怎么办 彩超脉络丛囊肿怎么办 双侧脉络丛囊肿怎么办 唐筛神经管缺陷高风险怎么办 雌激素低怎么办吃什么东西补 我怀了狗的孩子怎么办 结婚2年不要孩子怎么办 备孕一直没怀孕怎么办 刚生的婴儿打嗝怎么办 小孩40天黄疸高怎么办 婴儿身高长得慢怎么办 四个月的宝宝哭怎么办 孕39周羊水偏多怎么办 孕39周羊水浑浊怎么办 孕晚期羊水过少怎么办 怀孕脐带绕颈一周怎么办 nt检查宝宝趴着怎么办 四维胎儿有问题怎么办 怀孕70天没有胎心怎么办 怀孕20天不想要怎么办 换轮胎胎压监测怎么办 怀孕了吐的厉害该怎么办 怀孕吐完嗓子疼怎么办 怀孕16周不想要怎么办 怀孕四个月胎盘低置怎么办 孕37周胎盘三级怎么办 孕37周胎盘老化怎么办