Using more and more dependencies on Gradle projects is a common practice. Keeping your Gradle project dependencies up to date can be a huge manual task if you have a big project. It’s a bit tedious for developers to manually check for dependencies upgrades, causing a lot of waste of time.
Furthermore, developers don’t perform dependencies upgrades as frequently as they should, harming project quality and security.
In particular, Android projects are not an exception. Google offers a lot of official libraries, in some cases with linked versions, like Firebase or Play Services.
The Releases Hub Gradle Plugin helps developers to keep their dependencies up to date, reducing some tedious manual tasks like remembering to look for dependencies upgrades, upgrading the dependencies on the Gradle configuration and creating a PR with the changes. …
Sometimes you need to quickly change the resource class you use on your job’s executor. For example, you could need to do that to measure the performance impact or because you need more memory/CPU.
You can simplify those changes by defining one executor per resource class. Each executor could have for example custom GRADLE_OPTS
defined.
references: android_config: &android_config
working_directory: "/path"
docker:
- image: circleci/android:api-30executors: android_executor_small:
<<: *android_config
resource_class: small
GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx2g -XX:MaxPermSize=2g" android_executor_medium:
<<: *android_config
resource_class: medium
GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx4g -XX:MaxPermSize=4g" android_executor_medium_plus:
<<: *android_config
resource_class: medium+
GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx6g -XX:MaxPermSize=6g"
Not all the docker images use the same default user home path. Then, the Gradle user's home path can change between jobs. This can cause problems when saving/restoring caches on jobs with different home paths. …
Jetpack is a set of libraries, tools, and guidance to help you write high-quality apps more easily. Jetpack makes coding easier through best practices, limiting boilerplate code, and simplifying complex tasks. All with the goal of enabling you to focus on the code that you really care about.
AndroidX is the package name for all the libraries within Jetpack. Think of AndroidX as the open-source project used to develop, test, version, and release Jetpack libraries.
Back at I/O 2018, Google announced that Support Library would be refactored into the AndroidX namespace, which was completed with Support Library 28 and the announcement of AndroidX 1.0. …
Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.
This is a summary of all the official development resources distributed across different channels.
Navigation refers to the interactions that allow users to navigate across, into, and back out from the different pieces of content within your app. Android Jetpack’s Navigation component helps you implement navigation, from simple button clicks to more complex patterns, such as app bars and the navigation drawer. The Navigation component also ensures a consistent and predictable user experience by adhering to an established set of principles.
This is a summary of all the official development resources distributed across different channels.
This article will explain why I believe that generating the BuildConfig
class for Android library modules is a bad idea. It’s important to highlight that I am not talking about the app module BuildConfig
, I am talking about all the other BuildConfig
files generated by each android module.
First of all, I would like to clarify some terms, so you better understand this article:
debug
code, I am talking about the code available on the local builds used by developers when they pick the debug
variant. It is typically located at src/main
& src/debug
source sets.release
code, I am talking about the code distributed on your release APK/AAB. It means the release
variant. It is typically located at src/main
& src/release
source sets. …Start learning this incredible programming language
This article contains Affiliate Links. If you purchase anything after clicking an affiliate link, I may receive some compensation.
Android KTX is a set of Kotlin extensions that are included with Android Jetpack and other Android libraries. KTX extensions provide concise, idiomatic Kotlin to Jetpack, Android platform, and other APIs.
This is a summary of all the official development resources distributed across different channels.
To discover the best books to learn Kotlin, take a look at this story:
Write better Android apps faster with Kotlin. Kotlin is a modern statically typed programming language that helps boost productivity, developer satisfaction, and code safety.
This is a summary of all the official development resources distributed across different channels.
For Kotlin Coroutines resources, please read this story. For Android KTX resources, read this.
To discover the best books to learn Kotlin, take a look at this story:
LiveData
is an observable data holder class. Unlike a regular observable, LiveData is lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services. This awareness ensures LiveData only updates app component observers that are in an active lifecycle state.
This is a summary of all the official development resources distributed across different channels.
LiveData
. …