Eu sei, dependência de androidx e suporte causando erro multidex Não podemos usar o suporte para androidx e android ao mesmo tempo. Portanto, migrei totalmente para o androidx. mas uma das minhas dependências lib usava suporte para Android "lottie".
O que podemos fazer na situação acima? Devo remover 'lottie' do meu projeto.
abaixo está meu gradle
defaultConfig {
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
multiDexEnabled true
}
ext{
lottieVersion = "2.5.4"
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
def androidx = "1.0.0-rc01"
api "androidx.constraintlayout:constraintlayout:1.1.2"
api "androidx.appcompat:appcompat:$androidx"
api "androidx.recyclerview:recyclerview:$androidx"
api "androidx.cardview:cardview:$androidx"
api "androidx.core:core-ktx:$androidx"
api "com.google.android.material:material:1.0.0-rc01"
implementation "com.google.code.gson:gson:2.8.5"
implementation "androidx.multidex:multidex:2.0.0"
implementation "com.airbnb.android:lottie:$lottieVersion"
}
fonte
Adicionando manualmente
android.useAndroidX=true
eandroid.enableJetifier=true
me dificultando. Porque é lançar algum erro ouSuggestion: add 'tools:replace="android:appComponentFactory"' to <application>
Para ativar o Jet-fire no projeto, há uma opção no android Studio
Selecione seu projeto ---> Clique com o botão direito
app ----> Refatorar ----> Migrar para AndroidX
Mostrado na imagem abaixo: -
Depois de clicar em Migrate to AndroidX .
Ele pedirá confirmação e backup do seu projeto.
E a última etapa pedirá para você refatorar.
Depois de refatorar, verifique se o gradle.properties tem
android.useAndroidX=true
eandroid.enableJetifier=true
. Se não estiverem, adicione estas duas linhas ao arquivo gradle.properties:fonte
Você não precisa se preocupar
Basta habilitar o Jetifier em seu projeto.
Abra
gradle.properties
e adicione duas linhas abaixo.Ele converterá todas as bibliotecas de suporte de sua dependência para AndroidX em tempo de execução (você pode ter erros de tempo de compilação, mas o aplicativo será executado).
fonte
android.enableJetifier=true
, se isso acontecesse, eu acho que usar manualmentejetifier-standalone
para o aar de terceiros pode funcionar.Adicione as linhas no arquivo gradle.properties
Consulte também https://developer.android.com/jetpack/androidx
fonte
API 29. + uso de bibliotecas AndroidX. Se você estiver usando a API 29. +, não poderá removê-los. Se você deseja remover o AndroidX, é necessário remover toda a 29. + API do seu SDK:
Isso vai funcionar bem.
fonte
Usei essas duas linhas de código na tag do aplicativo em manifest.xml e funcionou.
Fonte: https://github.com/android/android-ktx/issues/576#issuecomment-437145192
fonte
Se o seu projeto não for AndroidX (significa Appcompat) e tiver esse erro, tente fazer o downgrade das versões das dependências que acionam esse erro, no meu caso play-services-location ("implementação 'com.google.android.gms: play-services-location : 17.0.0 '"), resolvi o problema fazendo o downgrade para com.google.android.gms: play-services-location: 16.0.0'
fonte
Eu tive um problema como este antes, era o arquivo gradle.properties não existe, apenas o gradle.properties.txt, então fui para a pasta do meu projeto e copiei e colei o arquivo gradle.properties.txt, mas sem. extensão txt então finalmente funcionou.
fonte
Eu adicionei duas linhas abaixo no arquivo gradle.properties
então eu obtive o seguinte erro
Eu removi as importações e adicionei a linha abaixo
E as classes que são estendidas de AppCompactActivity, adicionadas a linha abaixo. (Para esses erros, você só precisa pressionar alt + enter no android studio que irá importar a biblioteca correta para você. Assim, você pode resolver todos os erros)
Em seu arquivo xml, se você tiver usado algum
substitua por
androidx.appcompat.widget.Toolbar
então em seu código java
fonte
Comente esta linha em
gradle.properties
fonte