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

来源:互联网 发布:通过 相信 马克思 知乎 编辑:程序博客网 时间:2024/06/15 04:51

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文件的一个提升。


转载地址: https://segmentfault.com/q/1010000004204055


阅读全文
0 0