代码之家  ›  专栏  ›  技术社区  ›  androidguy

基本(aapt)proguard规则停止应用,释放apk崩溃

  •  2
  • androidguy  · 技术社区  · 6 年前

    AndroidStudio 3.1.3 Gradle插件3.1.3,上周没有.Gradle文件更改。大约一周前,我做了一个在我所有设备上都能工作的发布版APK。今天我试着做另一个版本。第一次测试执行导致了与此问题相同的臭名昭著的“不可能”枚举错误: Android release APK crash with java.lang.AssertionError: impossible in java.lang.Enum

    android.view.InflateException: Binary XML file line #63: Binary XML file line #63: Error inflating class android.support.design.widget.TextInputEditText 
    Caused by: java.lang.reflect.InvocationTargetException
    at android.view.LayoutInflater.createView(LayoutInflater.java:619)
    

    依我的经验,这意味着阶级 android.support.design.widget.TextInputEditText 完全不见了(至少是构造器)。然而,我发现 aapt_rules.txt 在我的建筑里,打开它。内容包括 here on pastebin . 在内部,有一个用于textInputItemText构造函数的keep规则。

    有谁能帮助为什么突然自动生成的规则没有被应用?坏的APK比最后一个好的APK小0.2MB。我的生成.gradle将proguard配置为: proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

    0 回复  |  直到 6 年前