Android Studio导入依赖工程

之前一直纠结于android studio依赖工程application和library的问题,直到某天在AOSP想同时支持AS编译和android.mk编译之后突然意识到了一个问题,这里做一些记录,并验证过可行。

==============================================================================

其实不管项目里面有什么文件,关键是我们配置时想让项目被编译成什么包。

一般我们常会有这么两种需求:

1、创建一个AS的Application A项目,然后再创建一个library的model B,估计大部分的朋友都是这么做的,这也是AS默认支持的模式,没有什么大问题,但是gradle本身会把这两个项目创建在同一个目录下,这不利于分模块维护。

2、如果别人事先已经创建了一个Application项目 B,在Application项目A中想把B作为Library引入也是可以的,而且我觉得这种方式更好,首先B既可以是库也可以是独立的app这样才能单独去对A做单元测试和运行到设备上测试,需要的时候又可以把B作为Librry来用,做法如下:

  • 首先创建好app A和app B项目,在AS中File-New-Import Model


  • 因为两个项目都是app会提示已经包含了一个app的module,那么我们只要选中import按钮,然后将module name改为B就可以了
  • 打开B项目的build.gradle文件,按照如下修改
  • //apply plugin: 'com.android.application'
    apply plugin: 'com.android.library'
    //applicationId "com.mxnavi.mxnavibasiclib"
    之后File-Project Structure选择A项目的app选项,在Dependecies中选择Model Dependency在弹出的对话框中选择B模块即可。
注意:之前如果编译过B项目,需要把B项目下的build目录删除,否则编译出错。其次这种方式引入的项目B代码会被拷贝一份到A目录下,这样两套代码维护还是不方便,貌似AS目前还不知道比较灵活的项目组织方案,希望后面能改善啊。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值