作者:温柔842_259 | 来源:互联网 | 2022-12-03 13:30
关闭
我们正在尝试将android库(正在编译android支持库)集成到已迁移到androidX的项目中.我们得到的原因不明
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日
出于某种原因,这是一个计划问题,proguard显示错误的错误,在我们对源代码进行了一些更改后,忘了向proguard添加一些类,它改变了我们忘记添加的类的错误.添加后,一切都很顺利.
1> Roberto Manf..:
我认为你应该告诉proguard不要混淆材料类.
尝试在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.** { *; }
编辑也添加这两行
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'
}
}
EDIT2也添加这些行
-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'
}
}
在`androidx`包中保留*everything*超出了矫枉过正.
发布完整的堆栈请!:)