android studio生成aar包并在其他工程引用aar包

1.aar包是Android studio下打包android工程中src、res、lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件

2.生成aar包步骤:

3.其他androidstudio工程引用aar包

详细步骤请看博客http://blog.csdn.net/getchance/article/details/47257389

--------------------------------------------------------------------------------------------------------------------------------------------------------------在我们有两个Android Studio工程的情况时,我们想使用一个作为library工程导入到另一个工程作为一个module。我们可以使用Android Studio很容易的做到。

1.首先先把library工程中依赖的module,依赖到主工程中(若有的话),再在library工程中删除module

2.我们需要从MyLibrary工程中找到module中的build.gradle文件,它通常在app目录下,除非你修改了module的名称。

技术分享

注意builde.gradle文件的plugin是‘com.android.application’。为了使用这个工程作为一个library工程,我们需要修改为 ‘com.android.library’。文件的内容就像这样:

技术分享

试着sync一下工程,会出现一个错误: Library projects cannot set applicationId(类工程不能设置applicationId)。

技术分享

我们可以删除gradle文件中的applicationId这行,在defaultConfig 括号里面。

技术分享 
MyLibrary 工程就修改完了。 
然后我们在MyApplication 工程中导入 
MyLibrary 作为一个module。 
在MyApplication 工程中, 点击File -> New -> Import Module。 
技术分享

出现一个对话框

技术分享

从MyLibrary工程中找到你想要导入的Module目录。通常它是app module除非你给了它另一个名称。

技术分享

如果在MyApplication工程中Module使用相同的名称将会出现错误。为了从一个library工程导入一个修改的Module,我们可以给它一个版本号在Module名称设置框。

技术分享

修改Module的名称为my-library,导入成功。

技术分享

到这一步差不多已经完成,最后一步是在MyApplication 工程中修改依赖。 
很多人会忘了做这一步。

打开工程结构对话框,选择app Module(可以有别的名称),在右侧点击依赖标签。

技术分享

找到加号并点击它,从弹出菜单中选择module依赖。

技术分享

然后选择我们刚从MyLibrary工程中导入的library module。

技术分享

点击OK,就完成了。

IDE会在MyApplication/app/build/gradle file文件添加好依赖。

依赖部分就像下面的一样:

dependencies {
    compile fileTree(dir: libs, include: [‘*.jar])
    compile com.android.support:appcompat-v7:22.2.0    
    compile project(‘:my-library)
}

它可能工作的挺好,但这有一个很重要的问题,MyLibrary工程有它自己的依赖。例如,MyApplication和MyLibrary使用support libraries,这有可能会发生冲突。

我们可以在gradle中通过transitive配置依赖避免这个问题。 
我们可以修改这行

compile project(‘:my-library)

compile(project(‘:my-library)){
    transitive=false;
}

这个问题就可以避免。Done!

--------------------------------------------------------------------------------------------------------------------------------------------------------

我最近做的是cordova的工程,这个相对与上面的步骤就有些不同,我先是执行了上面步骤1,之后我把library工程中的gradle 文件都删除,然后直接把其当作module导入主工程中,再次运行竟然可用了,但是可能会因为依赖jar包太多,而导致64k溢出

我是这么做的,增加啦这些就好了

android {
    defaultConfig {
        multiDexEnabled true
    }
    dexOptions {
        javaMaxHeapSize "2g"
    }
}
dependencies {
    compile 'com.android.support:multidex:1.0.1'
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值