Après la mise à niveau vers appcompat, 25.1.0
j'ai commencé à recevoir des erreurs câblées.
Dans mon code:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
J'obtiens une erreur de peluche:
AppCompatActivity.onCreate can only be called from within the same library group (groupId=com.android.support)
Comment éviter un tel comportement?
invalidateOptionsMenu()
parsupportInvalidateOptionsMenu()
. ça devrait faire l'affaireRéponses:
Comme Felipe l'a déjà souligné dans son commentaire, il s'agit d'un bogue dans la version préliminaire des outils.
Vous pouvez contourner le problème pour le moment, jusqu'à ce que Google publie un correctif, en ajoutant ce qui suit dans le fichier build.gradle de votre module de projet:
Il convient de noter que cela peut masquer les vraies erreurs dans votre projet car il supprime toutes les erreurs de ce type, donc la meilleure option serait de rétrograder la version d'Android Studio et les outils utilisés dans le projet.
la source
//noinspection RestrictedApi
.Comme les réponses précédentes l'ont souligné, il s'agit d'un bug. Je recommande de ne pas désactiver l'avertissement de peluche spécifique à l'échelle du projet, mais uniquement pour cette méthode. Annotez votre méthode comme suit:
la source
//noinspection RestrictedApi
ce qui est masqué en tant que commentaire, et fait taire uniquement l'avertissement dans l'EDI, mais pas au moment de la compilation), et il fonctionne avec la dernière version d'Android Studio et Gradle.La désactivation de l'avertissement dans lintOptions ne semble pas une bonne option, il est préférable de supprimer l'inspection au niveau de l'instruction.
Ajoutez ce commentaire au-dessus de la ligne de code qui donne l'avertissement:
la source
@SuppressLint("RestrictedApi")
au lieu de//noinspection RestrictedApi
sans problème dans Android Studio 3