android studio中application module,library module,java module的区别

如题,我们知道,android stuido 中一个project中可以包含很多个module。我查了一下,主要是包含了android application module,android library module,java library module这三种module。

我现在的理解是android application module以作为一个可以运行的应用,而android library module和libs中的.jar文件一样,就是用来调用的库,而java library module也类似android library module。

疑问:

  1. 一个project中可以有多个android application module么?如果可以的话都可以作为一个单独的程序运行么?
  2. android application module也可以像android library module一样当作库来调用么?
  3. android library module可以作为一个程序运行么?
  4. 三者之间有什么区别?

 

解答:

  1. 可以又多个 app module, 都可以作为单独的程序运行,因为编译的时候是针对单个 module 编译的,而 module 之间也都是相互独立的,所以之间没有相互影响。
  2. 原则上 app module 也能像 library 一样当作库来调用,不过 Android Studio 使用 Gradle 编译,而编译 app module 和 library module 时使用的插件是不一样的(生成结果也不同),所以也就不能直接作为库来调用,不过做一些简单的修改,就能马上修改成一个 library module 库,目录结构和代码都不需要改变。
  3. 如刚才所说, library module 的编译结果不是 apk ,所以也就没法运行。
  4. app module 和 library module 以及 java module 主要区别在于生成内容的不同,app module 生成 apk 程序文件。library module 生成 aar 文件,java module 生成 jar 文件。 aar 和 jar 文件都可以作为 app 的依赖库,主要区别在于 aar 除了能携带编译好的程序以外,还能携带资源,是对jar文件的一个提升。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值