Failed To Compile Values File

Akbar Dzulfikar
Gravel Product & Tech
3 min readJul 18, 2023

ٱلسَّلَامُ عَلَيْكُمْ وَرَحْمَةُ ٱللَّٰهِ وَبَرَكَاتُهُ

Salam kenal, nama penulis adalah Akbar, saat ini bekerja sebagai Android Engineer. 🧑🏻‍💻

Semoga pembaca mendapatkan manfaat dari artikel ini, artikel ini terbagi dari 4 chapter dan selamat membaca.🥳

Introduction :

Sebagai software engineer, kita sering menemukan kesalahan atau kejanggalan pada aplikasi atau sistem yang kita buat, baik dari code kita, maupun dari teknologi yang kita gunakan, pada artikel ke 2 penulis kali ini akan membahas sebuah error yang sedikit sulit untuk ditemukan penyebabnya.🤬

Pada artikel singkat kali ini, terdapat sebuah error pada IDE android studio yang penulis gunakan.

Chapter 1 of 4 — — The Problem

Sesuai dengan judul, ditemukan sebuah error pada aplikasi yang penulis sedang kerjakan dengan menampilkan satu error yang tidak menjelaskan apa pun secara spesifik.🤯

Gambar 1. Error Message
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':yourApp:mergeDebugResources'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:187)
at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:268)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:185)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:173)

dengan melihat error message tersebut, kita tidak dapat menyimpulkan dengan jelas apa yang sebenarnya terjadi, dan tidak ada clue sama sekali untuk menuju error yang dimaksud.😵‍💫

Chapter 2 of 4 — — The Clue

Berdasarkan gambar 1. sebelumnya, penulis melakukan beberapa cara untuk mendiagnosa error tersebut, pertama kata kuncinya adalah values, dari kata ini terlintas bahwa error yang terjadi berkaitan dengan asset values yang digunakan pada project.🤔

ada sedikit clue yang bisa dilakukan dari error message di bawah ini🫣

Gambar 2. Error Message

atau secara teknis gradle akan assembel dengan tambahan “ — — info” atau lainnya, bisa kita lakukan dengan cara mengkliknya huruf yang di tampilkan highlight biru.

intermediates/packaged_res/debug/values/values.xml:1294:4
: Duplicate value for resource 'attr/inputType' with config 'DEFAULT' and product ''.
Resource was previously defined here
: .gradle/caches/transforms-3/8ff91xxx/transformed/jetified-CustomSdkAndroid-0.1.0/res/values/values.xml:398:4: .

lalu didapatkan error yang sedikit lebih jelas bahwa ada value yang duplicate antara 1 modul dengan modul sdk(Software Development Kit) yang diimplementasi.🤔

Chapter 3 of 4— — The Solution

Solusi yang bisa dilakukan adalah dengan mencari tahu value yang duplikat berdasarkan error message yang didapatkan, pada kasus ini kita bisa lihat beberapa point :

  1. Duplicate pada values attr/inputType pada modul utama
  2. Duplicate pada modul utama dan values custom sdk(Software Development Kit) dengan nama CustomSdkAndroid-0.1.0
  3. Terdapat pada posisi values.xml:398:4: .

selanjutnya, pada kasus ini kita dapat mengubah value yang duplicate dengan mengganti salah 1 dari values yang terdapat pada modul utama, atau pada custom sdk(Software Development Kit) yang digunakan.☺ ️

The Last Chapter — — The Lesson

Pada artikel ini kita dapat mengambil beberapa pelajaran yaitu :

  1. Ketika membuat dan mengerjakan project yang besar dan kompleks, sudah semestinya kita menggunakan naming conventions/ naming rules dari values yang kita gunakan dalam project
  2. Gunakan prefix dari tiap values yang digunakan agar unik dan meminimalisir duplikat values, terutama jika kita menggunakan arsitektur modularization, implementasi third party sdk(Software Development Kit), atau semacamnya.
  3. Manfaatkan tools atau error message clue yang tampil saat build selesai.
  4. Jangan panik, memang boleh panik? 😭

Dengan ini kita lebih dapat menghindari dan meminimalisir risiko error yang dapat terjadi, dikarenakan terkadang ada error yang susah untuk ditelusuri. 😎

Semoga artikel ini bermanfaat untuk pembaca, jangan lupa untuk tekan tombol clap, dan penulis berharap ada masukan dari pembaca melalui kolom komentar yang disediakan, dan penulis sangat mengapresiasi bagi pembaca yang menyelesaikan bacaannya hingga akhir.🥰

Terima kasih, dan wasalam.

Reference :

android — Failed to compile values file — Stack Overflow

Please Follow Me On : LinkedIn , Medium

--

--