Gradle is a generic build system like Make (of course Gradle is more modern). It allows you to run scripts by using gradle.scripts
or build.gradle
. E.g.
dependencies{
compile "Package..."
}
This tells the project to compile the Package...
before compiling your project's code.
Looks like gradle has its own package manager of sorts... It somehow knows how to download dependencies based on names like
dependencies {
implementation 'com.amazonaws:aws-android-sdk-core:2.6.+'
implementation 'com.amazonaws:aws-android-sdk-ddb:2.6.+'
implementation 'com.amazonaws:aws-android-sdk-ddb-document:2.6.+'
}
When the build runs, it downloads these dependencies. How and where from?
Looks like this is specified in another gradle field
allprojects {
repositories {
google()
jcenter()
}
}
So when I name a package, gradle will look at these locations for packages.
For example
dependencies {
implementation 'com.amazonaws:aws-android-sdk-core:2.6.+'
implementation 'com.amazonaws:aws-android-sdk-ddb:2.6.+'
implementation 'com.amazonaws:aws-android-sdk-ddb-document:2.6.+'
}
Gradle will look at https://bintray.com/bintray/jcenter/com.amazonaws%3Aaws-android-sdk-core for the first dependency above. (Note: I don't know why, but when I do a search on jcenter for "android-sdk-core" or "com.amazonaws", nothing comes up, but google found the link above just fine. Edit this search works "com.amazonaws:aws-android*"
Java libraries must be compiled before use in your project just like C or C++.
There is a support library with widgets and other tools for android development. https://developer.android.com/reference/android/support/v7/widget/CardView?hl=ko