What is the difference between an app dependency and a module dependency/plugin?

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-12 10:32:58

问题


When using some 3rd party libraries, I add a dependency to my module's build.gradle file.

    compile 'com.android.support:appcompat-v7:24.1.1'

Or I add a plugin

    apply plugin: 'com.neenbedankt.android-apt'

Some other times, the library requires adding a dependency to my app's build.gradle file.

    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

What is the difference between these dependencies and plugins?
Why can't they all be set in a single build.gradle file?

All suggestions are appreciated, I'm having trouble searching for info on this


回答1:


Three things. Gradle plugin, module dependency, a build dependency which is placed on the classpath of the build tool.

A plugin is how Gradle knows what tasks to use. There are many plugins. For more info, see Gradle - Plugin Documentation

A dependency is a library that is compiled with your code. The following line makes your module depend on the Android AppCompat V7 library. For the most part, you search Maven or Jcenter for these.

compile 'com.android.support:appcompat-v7:24.1.1'

The classpath setting is needed for Gradle, not your app. For example, this allows this includes the Gradle Build Tools for Android into the classpath, and allows Gradle to build apps.

classpath 'com.android.tools.build:gradle:2.1.2'

Why can't they all be in one build.gradle file?

They probably can be. It is simply more modular to not.



来源:https://stackoverflow.com/questions/38910129/what-is-the-difference-between-an-app-dependency-and-a-module-dependency-plugin

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!