[〜#〜] closed [〜#〜]
AndroidXに移行されたプロジェクトにAndroidライブラリ(これはコンパイルAndroidサポートライブラリ))を統合しようとしています。
can't find referenced method 'void addOnTabSelectedListener(com.google.Android.material.tabs.TabLayout$OnTabSelectedListener)' in program class com.google.Android.material.tabs.TabLayout
proguard有効なビルドを取得しようとしています。
gradle-wrapper: 4.8
gradle build tools : 3.2.0
compileSdkVersion 28
編集2018年10月9日
何らかの理由で、それはプロガードの問題であり、ソースコードにいくつかの変更を加えた後、プロガードが間違ったエラーを表示し、プロガードにいくつかのクラスを追加するのを忘れたため、追加し忘れたクラスのエラーを変更しました。そしてそれらを追加した後、すべてがうまくいきました。
マテリアルクラスを難読化しないように注意する必要があると思います。しかし、これは単なる回避策であり、他の問題があるので修正してみてください。
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.** { *; }
次に、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.** { *; }