AndroidX混淆

作者: 菜的扣jio啊 | 来源:发表于2019-08-19 17:26 被阅读0次

最近学习了一下Kotlin,就做了一个项目练练手,提升熟练度,顺便使用到了AndroidX,在打包的时候混淆了一下代码,结果运行后出现了一个错误:

java.lang.NoSuchFieldException:No field mGoButton in class Landroidx/appcompat/widget/SearchView;

第一眼看上去,嗯,我的SearchView 被混淆了然后找不到了,于是添加了一条混淆规则

-keep class androidx.appcompat.widget.SearchView { ImageView mGoButton;}

再次运行,还是出现了这个错误,这不对啊不应该啊,我都添加规则了啊,我以前就是这么混淆的都么得问题啊,咦,等等,我以前好像没有用到AndroidX,难道是这个原因?很有可能啊,我再次看了一下我混淆的规则:

-keep class android.support.** { *; }

-keep interface android.support.** { *; }

-dontwarn android.support.**

这是以前support包的(这咱也不敢删啊,万一删了出问题了咋整),没有添加AndroidX的啊,需要再添加:

-keep class com.google.android.material.** {*;}

-keep class androidx.** {*;}

-keep public class * extends androidx.**

-keep interface androidx.** {*;}

-dontwarn com.google.android.material.**

-dontnote com.google.android.material.**

-dontwarn androidx.**

最后运行一把,欧克,no 爬波冷

相关文章

  • AndroidX混淆

    最近学习了一下Kotlin,就做了一个项目练练手,提升熟练度,顺便使用到了AndroidX,在打包的时候混淆了一下...

  • Android BackgroundLibrary 开启混淆 u

    解决方法1、开启混淆后 需要在 app 混淆文件中增加-keep class androidx.core.view...

  • Androidx的混淆代码

    一、前言 在debug上开混淆没问题,在release上开混淆就闪退了。报androidx.viewpager2....

  • 使用AndroidX的混淆

    本文仅做简单记录,防止以后忘记 当工程从support库迁移至androidx后,若使用了混淆,则必须在混淆文件中...

  • Android之androidx混淆

    -keep class com.google.android.material.** {*;} -keep cla...

  • Android 混淆模板(含androidx)

    一、通用模板 二、相关语法 代码混淆的压缩比例,值在0-7之间 混淆后类名都为小写 指定不去忽略非公共的库的类 指...

  • Android 2018大事记

    Android P发布 AndroidX 5月9号发布AndroidX。AndroidX,用来替换Support库...

  • ComponentActivity

    androidx.activity.ComponentActivityextends androidx.core....

  • Android:你好,androidX.再见,android.s

    1、AndroidX简介 点击查看Android文档中对androidx的简介 按照官方文档说明 androidx...

  • AndroidX迁移和方法

    迁移到 AndroidX AndroidX 将原始支持库 API 替换为 androidx 命名空间中的软件包。只...

网友评论

    本文标题:AndroidX混淆

    本文链接:https://www.haomeiwen.com/subject/bgmibxtx.html