首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AndroidX构建与ProGuard的问题

AndroidX构建与ProGuard的问题
EN

Stack Overflow用户
提问于 2018-10-01 13:28:19
回答 1查看 16.2K关注 0票数 19

我们正在尝试将androidX (正在编译androidX库)集成到已经迁移到androidX的项目中。因为未知的原因我们得到

代码语言:javascript
复制
can't find referenced method 'void addOnTabSelectedListener(com.google.android.material.tabs.TabLayout$OnTabSelectedListener)' in program class com.google.android.material.tabs.TabLayout

在尝试获得一个Pro卫队时,启用了构建。

gradle-wrapper: 4.8

gradle build tools : 3.2.0

compileSdkVersion 28

编辑9-10月-2018年

出于某种原因,这是一个保护问题,proguard显示了错误,在我们对源代码做了一些更改之后,忘记添加一些类来保护,它用我们忘记添加的类更改了错误。加上它们之后一切都很好。

EN

回答 1

Stack Overflow用户

发布于 2018-10-01 13:32:58

我认为你应该告诉卫士不要混淆材料类。但这只是一个解决办法,你还有其他问题,所以试着去解决它。

尝试在proguardrules.pro文件中添加以下行:

代码语言:javascript
复制
-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

代码语言:javascript
复制
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'
    }
}
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52592257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档