Saya baru mengenal Pengembangan Aplikasi Android. Ketika saya mencoba membuat proyek baru, Proyek Android ... pesan berikut muncul ..
Kesalahan: Eksekusi gagal untuk tugas ': app: preDebugAndroidTestBuild'.
Konflik dengan ketergantungan 'com.android.support:support-annotations' in project ': app'. Versi terselesaikan untuk aplikasi (26.1.0) dan aplikasi pengujian (27.1.1) berbeda. Lihat https://d.android.com/r/tools/test-apk-dependency-conflicts.html untuk detailnya. Informasi: Tugas Gradle [: app: generateDebugSources,: app: generateDebugAndroidTestSources,: app: mockableAndroidJar]
Ini adalah tangkapan layar proyek saya, klik di sini untuk melihat tangkapan layar dari kesalahan yang saya dapatkan
saya juga mencoba menambahkan kode ini ke ketergantungan saya .. androidTestCompile 'com.android.support:support-annotations:23.3.0' ini tidak berhasil. Saya juga mencoba 27.1.1 dan 26.1.0 .. itu juga tidak berhasil.
Jawaban:
Berdasarkan tangkapan layar Anda, saya menemukan dua solusi yang berfungsi:
Solusi pertama : tambahkan dependensi modul gradle Anda baris ini
dan sinkronkan proyek Anda
Catatan: jika Anda menggunakan Android studio 3+, ubah
compile
keimplementation
Solusi kedua : Konfigurasikan properti seluruh proyek yang terdapat dalam dokumentasi https://developer.android.com/studio/build/gradle-tips.html#configure-project-wide-properties
dalam proyek gradle tambahkan baris ini:
Kemudian untuk mengakses bagian ini, ubah
compileSdkVersion
baris menjadicompileSdkVersion rootProject.ext.compileSdkVersion
dan di
dependencies
bagian ubah perpustakaan yang diimpor menjadi seperti ini:dan sinkronkan proyek Anda
Catatan: jika Anda menggunakan Android studio 3+, ubah
compile
keimplementation
Untuk perbedaan antara
compile
danimplementation
lihat ini Apa perbedaan antara implementasi dan kompilasi di gradlesumber
Tambahkan baris di bawah ini di file app.gradle Anda sebelum blok depencencies.
Ada juga tangkapan layar di bawah ini untuk pemahaman yang lebih baik.
blok configurations.all hanya akan berguna jika Anda ingin target sdk Anda menjadi 26. Jika Anda dapat mengubahnya menjadi 27, kesalahan akan hilang tanpa menambahkan blok konfigurasi di file app.gradle.
Ada satu cara lagi jika Anda akan menghapus semua implementasi pengujian dari file app.gradle, ini akan menyelesaikan kesalahan dan dalam hal ini Anda juga tidak perlu menambahkan blok konfigurasi atau Anda perlu mengubah versi targetdk.
Semoga membantu.
sumber
Jika Anda menggunakan versi 26 maka versi dependensi di dalam harus 1.0.1 dan 3.0.1 yaitu, sebagai berikut
Jika Anda menggunakan versi 27 maka versi dependensi di dalam harus 1.0.2 dan 3.0.2 yaitu, sebagai berikut
sumber
Jika Anda menggunakan Android Studio 3.1. + Atau lebih tinggi
taruh saja ini di depedensi gradle Anda:
Secara keseluruhan seperti ini:
sumber
Ini karena konflik versi, untuk mengatasinya, cukup paksa pembaruan versi dukungan-anotasi Anda, tambahkan baris ini pada modul Anda: app gradle
implementation ('com.android.support:support-annotations:27.1.1')
Semoga ini menyelesaikan masalah Anda;)
Edit
Hampir lupa, Anda dapat mendeklarasikan satu properti tambahan ( https://docs.gradle.org/current/userguide/writing_build_scripts.html#sec:extra_properties ) untuk versinya, buka file gradle proyek (atau teratas Anda), dan nyatakan dukungan Anda, atau hanya untuk contoh ini, anotasi versi var
ext.annotation_version = "27.1.1"
Kemudian di modul Anda, gantilah dengan:
implementation ("com.android.support:support-annotations:$annotation_version")
Ini sangat mirip dengan solusi @emadabel, yang merupakan alternatif yang baik untuk melakukannya, tetapi tanpa blokir, atau
rootproject
awalan.sumber
Menambahkan ini ke build.gradle (Aplikasi modul) berhasil untuk saya:
compile 'com.android.support:support-annotations:27.1.1'
sumber
Jangan khawatir Ini sederhana:
Pergi ke "Project" Directory structure dan di dalamnya masuk ke "Gradle Scripts" dan di dalamnya masuk ke "build.gradle (Module: app)" dan klik dua kali.
Sekarang - Gulir ke bawah program dan masuk ke bagian dependensi: Seperti di bawah ini
ketergantungan {
}
Sekarang dalam hal ini Hapus dua baris kode terakhir dan bangun kembali aplikasi dan sekarang itu akan berfungsi
Dependensi harus:
ketergantungan {
}
MEMBANGUN KEMBALI APLIKASI DAN BERHASIL !!
sumber
Buka build.gradle (Aplikasi Modul) di proyek Anda:
Ikuti gambar dan ubah versi tersebut:
dan jika android studio versi 2: Ubah baris dengan baris ini:
else Ubah baris dengan baris ini:
dan semoga bug Anda dapat diatasi.
sumber
Tambahkan ini ke file gradle Anda.
sumber
Cara sederhana lain untuk mengatasi masalah ini adalah dengan mengedit
build.gradle
(aplikasi) Anda:android
tag dan ubahcompileSdkVersion 26
kecompileSdkVersion 27
defaultConfig
tag dan ubahtargetSdkVersion 26
ketargetSdkVersion 27
dependencies
tag dan mengubahimplementation 'com.android.support:appcompat-v7:26.1.0'
keimplementation 'com.android.support:appcompat-v7:27.1.1'
sumber
Saya memiliki masalah yang sama, di build.gradle (Module: app) tambahkan baris kode berikut di dalam dependensi:
Ini bekerja untuk saya dengan sempurna
sumber
Pembaruan Penting
Buka tingkat proyek build.gradle, tentukan variabel global
Buka build.gradle level aplikasi, dan gunakan variabel global
app build.gradle
beberapa build.gradle perpustakaan
Solusinya adalah membuat versi Anda sama seperti di semua modul. Agar Anda tidak mengalami konflik.
Tips Penting
Selalu memiliki versi terbaru tetapi stabil Versi tidak stabil
alpha
,beta
danrc
, abaikan dalam pengembangan.Saya telah memperbarui semua di bawah dalam proyek saya, dan saya tidak menghadapi kesalahan ini lagi.
build.gradle
-classpath 'com.android.tools.build:gradle:3.2.0'
( Lacakandroid.build.gradle
rilis & ini )buildToolVersion
(Lacak rilis buildToolVersion )compileSdkVersion
dantargetSdkVersion
TrackSelamat membuat kode! :)
sumber
Jika mengubah versi sdk target tidak membantu, maka jika Anda memiliki ketergantungan dengan versi,
3.0.2
ubahlah menjadi3.0.1
.misalnya berubah
untuk
sumber
Solusi yang lebih baik dijelaskan dalam penjelasan resmi . Saya meninggalkan jawaban yang telah saya berikan sebelumnya di bawah garis horizontal.
Menurut solusinya ada:
Gunakan tag eksternal dan tulis kode berikut di bawah ini pada file build.gradle tingkat atas . Anda akan mengubah versi ke variabel daripada nomor versi statis.
Ubah nomor versi statis di file build.gradle tingkat aplikasi Anda , yang sudah
(Module: app)
mendekati.Sinkronkan proyek Anda dan Anda tidak akan mendapatkan kesalahan.
Anda tidak perlu menambahkan apa pun ke skrip Gradle. Instal SDK yang diperlukan dan masalah akan terpecahkan.
Dalam kasus Anda, instal pustaka di bawah ini dari Preferensi> SDK Android atau Alat> Android> Pengelola SDK
sumber
Tambahkan baris ini di bawah dependensi di file gradle Anda
sumber