J'ai mis à jour ma version de build et cible à 28 (Pie) et remplacé les dépendances pertinentes. Maintenant, mon projet dit que le symbole n’a pas été trouvé sur AppCompatActivity
. J'ai essayé de
Mais le résultat est le même. D'ailleurs quand j'essaye Ctrl+Space après le mot clé de la classe d'activité, il n'y a pas de "AppCompatActivity
suggestion. J'ai essayé de vérifier si son contenu dans le dossier libraries
était présent.
Maintenant, que dois-je faire pour que cela fonctionne? S'il existe une variante/alternative avec androidx
libs, veuillez me le faire savoir. Voici mon complet build.gradle
fichier
apply plugin: 'com.Android.application'
apply plugin: 'com.google.gms.google-services'
Android {
compileSdkVersion 28
defaultConfig {
applicationId "com.invogen.messagingapp"
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
// implementation 'com.Android.support:appcompat-v7:28.0.0'
// implementation 'com.Android.support.constraint:constraint-layout:1.1.3'
// implementation 'com.Android.support:design:28.0.0'
// implementation 'com.Android.support:support-v4:28.0.0'
// Libs for newer API 28
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.Android.material:material:1.1.0-alpha01'
implementation 'androidx.cardview:cardview:1.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.Android.support.test:runner:1.0.2'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.2'
// Libs for Firebase Functionality
implementation 'com.google.firebase:firebase-core:16.0.5'
// implementation 'com.google.firebase:firebase-database:16.0.4'
implementation 'com.google.firebase:firebase-messaging:17.3.4'
implementation 'com.google.firebase:firebase-auth:16.0.5'
implementation 'com.google.firebase:firebase-storage:16.0.4'
// Lib for Firebase UI Elements
implementation 'com.firebaseui:firebase-ui-database:4.2.1'
// Libs for QR Code
implementation 'com.google.zxing:core:3.2.1'
implementation 'com.journeyapps:zxing-Android-embedded:3.2.0@aar'
// Lib for Circle Image View (Profile Image)
implementation 'de.hdodenhof:circleimageview:2.2.0'
// Lib for Loading Images
implementation 'com.squareup.picasso:picasso:2.71828'
//Lib for Cropping Images
api 'com.theartofdev.edmodo:Android-image-cropper:2.8.+'
}
apply plugin: 'com.google.gms.google-services'
D'autres publications suggèrent d'ajouter les deux paramètres ci-dessous dans le fichier Manifest
Android:appComponentFactory="anystrings be placeholder"
tools:replace="Android:appComponentFactory"
Mais avec ces deux lignes, le projet synchronise avec plusieurs erreurs et Android Studio dit
La compilation a échoué. voir la sortie d'erreur du compilateur pour plus de détails.
Si je dois ajouter plus de détails à la question, veuillez me le faire savoir.
Edit: Maintenant, vous pouvez facilement migrer votre projet vers androidx
, cliquez simplement sur Refactor => Migrate to Androidx
de la barre de menu.
Auparavant, je procédais comme suit.
Avec Clean and build
et Rebuild project
Android studio n'a pas nettoyé les importations inutilisées comme les importations de Android.support.v7
donc je les ai tous supprimés manuellement de toutes les activités. Maintenant Android studio suggère AppCompatActivity
à partir de la bonne bibliothèque androidx.appcompat
.
J'espère que cela aidera quelqu'un.
vous devriez remplacer la classe cible.
par exemple.
import Android.support.v7.app.AppCompatActivity;
remplacer par:
import androidx.appcompat.app.AppCompatActivity;
Ajoutez les lignes ci-dessous dans vos propriétés de gradle:
Android.useAndroidX = true Android.enableJetifier = true
Cela mettra à niveau votre projet en Android X.