Saya menggunakan Android Studio 3.2 Beta5 untuk memigrasi proyek saya ke AndroidX . Ketika saya membangun kembali aplikasi saya, saya mendapat kesalahan ini:
EROR: [TAG] Gagal menyelesaikan variabel '$ {animal.sniffer.version}'
EROR: [TAG] Gagal menyelesaikan variabel '$ {junit.version}'
Pembersihan penuh & pembangunan kembali tidak berfungsi! Ada yang tahu cara memperbaikinya?
gradle.properties
android.enableJetifier=true
android.useAndroidX=true
build.gradle
buildscript {
repositories {
google()
jcenter()
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0-beta05'
classpath 'com.google.gms:google-services:4.0.1'
classpath "io.realm:realm-gradle-plugin:5.3.1"
classpath 'io.fabric.tools:gradle:1.25.4'
classpath 'com.google.firebase:firebase-plugins:1.1.5'
}
}
allprojects {
repositories {
google()
jcenter()
mavenCentral()
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
app / build.gradle
apply plugin: 'com.android.application'
apply plugin: 'realm-android'
apply plugin: 'io.fabric'
apply plugin: 'com.google.firebase.firebase-perf'
android {
compileSdkVersion 28
buildToolsVersion "28.0.0"
defaultConfig {
applicationId "com.iceteaviet.fastfoodfinder"
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
}
}
aaptOptions {
cruncherEnabled = false
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
testImplementation 'junit:junit:4.12'
implementation 'com.jakewharton:butterknife:9.0.0-SNAPSHOT'
implementation 'androidx.appcompat:appcompat:1.0.0-rc01'
implementation 'com.google.android.material:material:1.0.0-rc01'
implementation 'androidx.legacy:legacy-support-v4:1.0.0-rc01'
implementation 'androidx.cardview:cardview:1.0.0-rc01'
implementation 'com.google.maps.android:android-maps-utils:0.5'
implementation 'com.google.android.gms:play-services-maps:15.0.1'
implementation 'com.google.android.gms:play-services-location:15.0.1'
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-database:16.0.1'
implementation 'com.google.firebase:firebase-auth:16.0.1'
implementation 'com.google.android.gms:play-services-auth:15.0.1'
implementation 'com.github.bumptech.glide:glide:4.7.1'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
implementation 'org.greenrobot:eventbus:3.1.1'
implementation 'de.hdodenhof:circleimageview:2.2.0'
implementation 'io.realm:realm-android-library:5.3.1'
implementation 'com.facebook.android:facebook-android-sdk:4.34.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
implementation 'io.reactivex.rxjava2:rxjava:2.0.2'
implementation 'androidx.multidex:multidex:2.0.0'
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.4'
implementation 'com.google.firebase:firebase-perf:16.0.0'
implementation 'com.jakewharton.timber:timber:4.7.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT'
annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
}
apply plugin: 'com.google.gms.google-services'
android
android-studio
android-studio-3.0
androidx
android-studio-3.2
nhoxbypass.dll
sumber
sumber
Jawaban:
Saya memperbaikinya dengan dua langkah
1) File -> Invalidate Cache / restart ...
2) Bangun -> Proyek bersih
sumber
Saya mendapatkan kesalahan yang sama setelah memperbarui file build.gradle saya dengan dependensi AndroidX Test . Ternyata saya lupa menghapus ketergantungan junit lama. Jadi bagi saya, perbaikannya hanya menghapus ketergantungan berikut:
dependencies { ... testImplementation 'junit:junit:4.12' }
sumber
Menambahkan dukungan Java 8 ke file build.gradle memperbaiki masalah saya
android { ... //Add the following configuration in order to target Java 8. compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }
sumber
Tampaknya Glide masalahnya.
Saya mengalami kesalahan yang sama dan saya baru saja memperbarui dependensi Glide menjadi 4,8 dan tidak ada kesalahan pembuatan.
Kotlin:
// Glide def glide_version = "4.8.0" implementation "com.github.bumptech.glide:glide:$glide_version" kapt "com.github.bumptech.glide:compiler:$glide_version"
Jawa:
// Glide def glide_version = "4.8.0" implementation "com.github.bumptech.glide:glide:$glide_version" annotationProcessor "com.github.bumptech.glide:compiler:$glide_version"
Pastikan untuk mengaktifkan gradle.properties Anda:
android.useAndroidX=true android.enableJetifier=true
Sumber: https://github.com/bumptech/glide/issues/3124
Semoga ini bisa membantu Anda!
sumber
Perbaiki dengan membuka direktori utama dan mengetik
flutter clean
sumber
Menghapus testInstrumentationRunner berhasil untuk saya:
defaultConfig { ... ... // testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" }
sumber
Jika Anda menggunakan
Kotlin
, masalah akan muncul jika tidak menggunakankapt
versi untuk pemroses anotasi apa pun yang Anda gunakan dalam proyek.Seperti yang @Vince sebutkan kasusnya
Glide
, ini bisa terjadi denganDagger2
,,Butterknife
dll.Jika Anda menggunakan keduanya
Java
danKotlin
Anda harus menyimpan kedua dependensi, sebagai berikut (were$glideVersion
adalah versi yang ditentukan sebelumnyaGlide
):implementation "com.github.bumptech.glide:glide:$glideVersion" kapt "com.github.bumptech.glide:compiler:$glideVersion"
Jika Anda berada dalam
Kotlin
satu proyek,kapt
ketergantungan harus bekerja sendiri.EDIT
Hal lain yang harus Anda pikirkan adalah jika Anda sudah menggunakan
Androidx
.Androidx
adalah refactor yang bagus, tetapi saat bermigrasi dapat menyebabkan beberapa dependensi Anda runtuh. Pustaka arus utama sudah diperbarui keAndroidx
, namun beberapa di antaranya tidak dan bahkan tidak.Jika masalah tidak hilang dengan solusi yang saya berikan di atas hasil edit ini, Anda dapat melihat dependensi Anda dan memastikannya juga digunakan
Androidx
.EDIT 2
Seperti yang @Ted sebutkan, saya meneliti kembali dan dia benar
kapt
menanganijava
file juga.kapt
sendiri akan melakukan triknya, tidak perlu menyimpan keduanyakapt
danannotationProcessor
dependensi.sumber
Coba hapus baris ini:
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
dari bagian buildscript / repositories file build.gradle Anda.
Ketika saya menambahkan baris itu, saya mendapatkan kesalahan yang Anda jelaskan. Ketika saya menghapusnya, tidak lagi. Baris itu seharusnya hanya ada di bagian allprojects / repositories.
sumber
Coba setel android.enableJetifier = false di gradle.properties. Kemudian Invalidate Caches / Restart ... di Android Studio
sumber
Perbaikannya ada di 4.2.0, gunakan versi yang lebih tinggi dari google gms jar.
Coba ubah:
menurut versi ini:
Semoga ini berhasil ...
sumber
Jika Anda menggunakan belati atau pisau mentega, harap pastikan untuk memperbaruinya ke versi terbaru. Atau, jika Anda memiliki pustaka injeksi lain yang digunakan dalam proyek Anda, Anda dapat mencoba memeriksanya apakah itu mendukung androidx atau tidak.
Saya menemukan kesalahan yang sama, masalahnya ada pada belati dan pisau lipat saya. Perbaiki dengan memperbaruinya ke versi terbaru.
sumber
Versi Android: 4.10.2
Saya memecahkan masalah ini dengan tiga langkah sederhana: Pertama saya menambahkan di bawah ini di pubspec.yml: (dengan dua spasi identifikasi)
module: androidX: true
Menambahkan dua baris di bawah ini di gradle.properties, saya memilikinya di android / gradle.properties, di folder proyek.
android.useAndroidX=true android.enableJetifier=true
Dan setelah ini saya menulis dengan terminal:
Mungkin Anda harus menghentikan perangkat dan menjalankannya lagi.
sumber
Saya memperbaikinya dengan memperbarui dependensi firebase ke yang terbaru.
sumber
Saya menghadapi kesalahan ini setelah menambahkan pisau mentega ke proyek saya.
Untuk mengatasi kesalahan ini, Anda harus menggunakan Java8.
Saya akan merekomendasikan jawaban ini .
Bagaimana saya mengatasinya:
1. tambahkan kode berikut di build.gradle (module: app)
android { ... // Configure only for each module that uses Java 8 // language features (either in its source code or // through dependencies). compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }
sumber
Saya memperbaikinya dengan menyegarkan cahche (Alih-alih membatalkannya - yang juga menghapus riwayat lokal):
Itu dia!
sumber
Buka file dan klik Invalidate caches dan restart.
Setelah itu restart maka Anda meningkatkan versi SDK minimum di
build.gradle
file aplikasi Anda .sumber