web-dev-qa-db-fra.com

Erreur d'exécution de la migration AndroidX Android.support.annotation n'existe pas

Je viens de migrer mon projet vers AndroidX. La synchronisation et la phase de construction sont correctes, mais lorsque j'essaie d'exécuter le compilateur, affichez-moi cette erreur:

error: package Android.support.annotation does not exist

Cette erreur survient sur un fichier construit

// Generated code from Butter Knife. Do not modify!
package com.xdatanet.cda.Adapters;

import Android.support.annotation.CallSuper; //<-- Doesn't exists
import Android.support.annotation.UiThread; //<-- Doesn't exists
import Android.view.View;
import Android.widget.ImageView;
import butterknife.Unbinder;
import butterknife.internal.Utils;
import com.xdatanet.cda.CustomView.CDATextView;
import com.xdatanet.cda.R;
import Java.lang.IllegalStateException;
import Java.lang.Override;

public class CommunicationAdapter$CommunicationViewHolder_ViewBinding implements Unbinder {
  private CommunicationAdapter.CommunicationViewHolder target;

  @UiThread  //<-- First error
  public CommunicationAdapter$CommunicationViewHolder_ViewBinding(CommunicationAdapter.CommunicationViewHolder target,
      View source) {
      // Some generated code
  }

  @Override
  @CallSuper //<-- Second error
  public void unbind() {
      // Some generated code
  }
}

Propriétés de Gradle

Android.enableJetifier=true
Android.useAndroidX=true

Mise en œuvre de Butterknife dans Gradle

implementation "com.jakewharton:butterknife:8.8.1"
annotationProcessor "com.jakewharton:butterknife-compiler:8.8.1"

Le IDE dit Files under the "build" folder are generated and should not be edited.

  • Android Studio 3.2.1
  • Min Sdk 19, Max Sdk 28
  • Gradle version 3.2.1

Il semble que ce soit une erreur avec Butterknife mais je ne sais pas pourquoi.

7
Lorenzo Vincenzi

Je suggère de mettre à jour ButterKnife vers la dernière version.

Je n'ai pas encore migré mes projets vers AndroidX, mais à partir de l'historique des validations sur la page github de ButterKnife, il semblerait que les dernières versions 9.0.x prennent en charge AndroidX.

https://github.com/JakeWharton/butterknife

3
Moonbloom

J'ai rencontré des problèmes similaires lors de la migration vers androidx. ce problème est dû à la dépendance de la bibliothèque Old Butter Knife.

si vous utilisez un couteau à beurre, vous devez utiliser au moins la version 9.0.0-SNAPSHOT de couteau à beurre ou supérieure.

implementation 'com.jakewharton:butterknife:9.0.0-SNAPSHOT'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT'
0
Abhijeet Sharma