I clearly remember how it feels like the first time I started and opened Android development Android Studio (Well, Eclipse back then). I sat down, stupefied, looking at the huge variety of different windows, dialogs and files. There is so much to learn here, that even knowing which window you should mean can be difficult.
There are many of them introduction to help you disturb this site through Android Studio. But one of the biggest pieces of the puzzle is Gradle. What are those Gradle files? And why do you always have to wait to complete sync before you can do anything?
This post will serve as an introduction to Gradle for complete beginners, to help demystify this really reasonably helpful tool and to help give you a starting point for when things go wrong.
Gradle is what we call a build tool or building system. More specifically, it's a JVM-based building system.
Despite not being very new, Gradle gained popularity due to its open source nature, as well as its versatility, and the use of plugins.
As we have already discussed, there are many files involved in an Android application. Your resources must be compressed, your source code must be converted to DEX files (Dalvik Executable), the APK must be signed. It is very.
And all this has to be arranged right if you are going to make a working APK. The images in your program, the layout files, the Java. Then there are the libraries you use to expand your code capabilities. You also need to think about version control, about the key signature. I can go on.
Is it possible to build an APK without using Gradle? Yes, you can do this using the command line (ADB bridge), but you'll need to understand what each tool does in the Android SDK and how it contributes to changing your code into an installable file. And as Google constantly changes things and adds new features, it's likely to be a continuous learning process. There are also alternative options out there, such as Apache Ant, but Gradle is the one Google has chosen to support.
Gradle will use the appropriate tools to compile your different source files and compress everything into one well-packed APK. And already you had to do was build, and make sure all your files are stored in the correct folders.
Gradle also does many other useful things behind the scenes – for example, helping to reduce the size of the APK, and let us build testing programs (this is a "build type").
Sure, Gradle can often look like the source of a thousand problems if it doesn't work properly (for example, if you dig out an old code from an older version of Android Studio). But in reality, his presence makes life far simpler than it would be otherwise. In truth, Gradle is not the problem – it's just the messenger.
Gradle works by performing different scripts, which contain tasks. These tasks tell Gradle how to build your application – moving files in specific folders, or setting scripts in specific ways. You will find these scripts in your Gradle files, such as the two build.gradle files.
That's right, there are (at least) two different build files – one for the whole project, and another for each module. The module usually refers to a single app build, and is where you will spend most of your time.
Here you'll find plenty of information that Gradle helps to do its job. This includes the purpose SDK, the package name, the version number, and more.
But perhaps the most common reason for & # 39; a developer to dive into their build.gradle files themselves is to handle dependencies – e.g. libraries.
Any time you want to add a new local or remote library to your project, you will add the dependencies to the "dependency block" at the bottom of the module-level build.gradle file. Alternatively, you can do this through the menu system – which will update the relevant files for you.
Other Gradle files include:
You can also reach other things by clipping with your Gradle files. For example, Gradle provides support for multiple APKs, making it easy to create different versions of your application that target different devices. These versions are known as "flavors."
Gradle will be at stake if you want to create a moment program because you need to create a function module and then edit the build.gradle file to reflect it. The immediate app Gradle file will also require a dependency referring to the "base" function module. Instructions can be found here.
The good news is that instructions are readily available for anything you might want to do. If you have a problem or if you want to do something that "builds" different kinds of apps, Google is your friend.
Sometimes a bug will appear if Gradle is confused or a file cannot be found, but it is becoming increasingly scarce. To save a clean project will usually solve the problem.
If not, it may be that one of the files uses an outdated configuration or other outdated line. Android Studio will usually feed you on how to fix the problem, as well as another fast Google search.
Generally, however, most of what you do in Gradle can be done through Android Studio's own user interface – which means you rarely have to dare to do so. This is especially true if you create a single-module program.
This means that the most important work for a new developer simply keeps Gradle and Android Studio up to date.
Let Gradle handle the rest!