[~ # ~] fermé [~ # ~]
Nous essayons d'intégrer Android (qui compile Android)) dans notre projet migré vers androidX. Et pour des raisons inconnues, nous obtenons
can't find referenced method 'void addOnTabSelectedListener(com.google.Android.material.tabs.TabLayout$OnTabSelectedListener)' in program class com.google.Android.material.tabs.TabLayout
en essayant d'obtenir un build proguard activé.
gradle-wrapper: 4.8
gradle build tools : 3.2.0
compileSdkVersion 28
EDIT du 9 octobre 2018
Pour une raison quelconque, il s’agissait d’un problème lié à Proguard, qui affichait une erreur erronée. Après avoir apporté quelques modifications à notre code source et oublié d’ajouter des classes à proguard, les erreurs avec les classes que nous avions oublié d’ajouter ont été modifiées. et après les avoir ajoutés, tout s'est bien passé.
Je pense que vous devriez dire à proguard de ne pas obscurcir les classes de matériaux. Mais il ne s'agit que d'une solution de contournement, vous avez un autre problème, alors essayez de le résoudre.
Essayez d’ajouter ces lignes dans votre fichier proguardrules.pro:
-keep class com.google.Android.material.** { *; }
-dontwarn com.google.Android.material.**
-dontnote com.google.Android.material.**
-dontwarn androidx.**
-keep class androidx.** { *; }
-keep interface androidx.** { *; }
Ensuite, dans votre build.gradle
buildscript {
repositories {
maven {
url "http://storage.googleapis.com/r8-releases/raw/master"
}
}
dependencies {
classpath 'com.Android.tools:r8:ff9c89416cc1c8adf83d481a1e5fd515fcb893b9'
classpath 'com.Android.tools.build:gradle:your version'
}
}
-dontwarn com.google.Android.material.**
-keep class com.google.Android.material.** { *; }
-dontwarn androidx.**
-keep class androidx.** { *; }
-keep interface androidx.** { *; }