【问题标题】:Proguard issue “Warning:Ignoring InnerClasses attribute for an anonymous inner class”Proguard 问题“警告:忽略匿名内部类的 InnerClasses 属性”
【发布时间】:2018-06-25 03:51:11
【问题描述】:

我在构建 APK 时收到此错误日志。请帮我解决一下这个。提前致谢。

我的 Gradle 文件

     minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.2"
        multiDexEnabled true
    }
    dexOptions {
        javaMaxHeapSize "4g"
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile files('libs/glide-3.7.0.jar')
    compile files('libs/android-async-http-1.4.4.jar')
    compile('com.github.ozodrukh:CircularReveal:2.0.1@aar') {
        transitive = true;
    }

    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.google.code.gson:gson:2.7'
    compile 'com.mcxiaoke.volley:library-aar:1.0.0'
    compile 'com.android.support:support-v4:25.3.1'
    compile 'com.android.support:design:25.3.1'
    compile 'com.android.support:recyclerview-v7:25.3.1'
    compile 'com.android.support:cardview-v7:25.3.1'
    compile 'de.hdodenhof:circleimageview:2.1.0'
    compile 'com.google.android.gms:play-services:10.0.1'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.google.firebase:firebase-core:10.0.1'
    compile 'com.googlecode.ez-vcard:ez-vcard:0.10.2'
    compile 'com.applozic.communication.uiwidget:audiovideo:1.2'
    compile 'com.itextpdf:itextg:5.5.9'
    compile 'lib.kashif:folderpicker:2.2'
    compile 'com.yovenny.VideoCompress:videocompress:1.0.0'
}
apply plugin: 'com.google.gms.google-services'

我的 Proguard 文件是

-keep class com.itextpdf.** { *; }
-dontwarn com.itextpdf.**
-dontwarn com.squareup.picasso.**
-keep class org.apache.http.** { *; }
-dontwarn org.apache.http.**
-keep class android.net.http.** { *; }
-dontwarn android.net.http.**
-keepattributes InnerClasses
-optimizations optimization_filter 

最后是错误日志

信息:Gradle 任务 [:app:assembleDebug] 错误:警告:忽略匿名内部类的 InnerClasses 属性 错误:(freemarker.cache.FileTemplateLoader$1) 不附带 错误:关联的 EnclosureMethod 属性。这个类可能是由一个 错误:没有针对现代 .class 文件格式的编译器。推荐的 错误:解决方案是使用最新的编译器从源代码重新编译类 错误:并且没有指定任何“-target”类型选项。忽视的后果 错误:此警告是对此类的反射操作将错误 错误:表明它不是一个内部类。 错误:警告:忽略匿名内部类的 InnerClasses 属性 错误:(freemarker.cache.FileTemplateLoader$2) 不附带 错误:关联的 EnclosureMethod 属性。这个类可能是由一个 错误:没有针对现代 .class 文件格式的编译器。推荐的 错误:解决方案是使用最新的编译器从源代码重新编译类 错误:并且没有指定任何“-target”类型选项。忽视的后果 错误:此警告是对此类的反射操作将错误 错误:表明它不是一个内部类。 错误:警告:忽略匿名内部类的 InnerClasses 属性 错误:(freemarker.cache.FileTemplateLoader$4) 不附带 错误:关联的 EnclosureMethod 属性。这个类可能是由一个 错误:没有针对现代 .class 文件格式的编译器。推荐的 错误:解决方案是使用最新的编译器从源代码重新编译类 错误:并且没有指定任何“-target”类型选项。忽视的后果 错误:此警告是对此类的反射操作将错误 错误:表明它不是一个内部类。 错误:警告:忽略匿名内部类的 InnerClasses 属性 错误:(freemarker.cache.FileTemplateLoader$3) 不附带 错误:关联的 EnclosureMethod 属性。这个类可能是由一个 错误:没有针对现代 .class 文件格式的编译器。推荐的 错误:解决方案是使用最新的编译器从源代码重新编译类 错误:并且没有指定任何“-target”类型选项。忽视的后果 错误:此警告是对此类的反射操作将错误 错误:表明它不是一个内部类。 错误:警告:忽略匿名内部类的 InnerClasses 属性 错误:(freemarker.cache.TemplateCache$1) 不附带 错误:关联的 EnclosureMethod 属性。这个类可能是由一个 错误:没有针对现代 .class 文件格式的编译器。推荐的 错误:解决方案是使用最新的编译器从源代码重新编译类 错误:并且没有指定任何“-target”类型选项。忽视的后果 错误:此警告是对此类的反射操作将错误 错误:表明它不是一个内部类。 错误:警告:忽略匿名内部类的 InnerClasses 属性 错误:(freemarker.cache.TemplateLookupResult$1) 不附带 错误:关联的 EnclosureMethod 属性。这个类可能是由一个 错误:没有针对现代 .class 文件格式的编译器。推荐的 错误:解决方案是使用最新的编译器从源代码重新编译类 错误:并且没有指定任何“-target”类型选项。忽视的后果 错误:此警告是对此类的反射操作将错误 错误:表明它不是一个内部类。 错误:警告:忽略匿名内部类的 InnerClasses 属性 错误:(freemarker.cache.TemplateLookupStrategy$1) 不附带 错误:关联的 EnclosureMethod 属性。这个类可能是由一个 错误:没有针对现代 .class 文件格式的编译器。推荐的 错误:解决方案是使用最新的编译器从源代码重新编译类 错误:并且没有指定任何“-target”类型选项。忽视的后果 错误:此警告是对此类的反射操作将错误 错误:表明它不是一个内部类。 错误:警告:忽略匿名内部类的 InnerClasses 属性 错误:(freemarker.cache.TemplateNameFormat$1) 不附带 错误:关联的 EnclosureMethod 属性。这个类可能是由一个 错误:没有针对现代 .class 文件格式的编译器。推荐的 错误:解决方案是使用最新的编译器从源代码重新编译类 错误:并且没有指定任何“-target”类型选项。忽视的后果 错误:此警告是对此类的反射操作将错误 错误:表明它不是一个内部类。 错误:警告:忽略匿名内部类的 InnerClasses 属性 错误:(freemarker.core.BlockAssignment$CaptureOutput$1) 不附带 错误:关联的 EnclosureMethod 属性。这个类可能是由一个 错误:没有针对现代 .class 文件格式的编译器。推荐的 错误:解决方案是使用最新的编译器从源代码重新编译类 错误:并且没有指定任何“-target”类型选项。忽视的后果 错误:此警告是对此类的反射操作将错误 错误:表明它不是一个内部类。 错误:警告:忽略匿名的 InnerClasses 属性

【问题讨论】:

    标签: android


    【解决方案1】:

    将此添加到proguard

      -dontwarn freemarker.**
    

    或者另一种解决方案是-这是因为一些依赖关系,所以在 build.gradle (app) 中添加它

        dependencies {
            compile ('com.mylib.lib') {
                exclude group: 'org.freemarker'
            }
        } 
    

    【讨论】:

      猜你喜欢
      • 2017-02-12
      • 2015-01-15
      • 2016-07-29
      • 2018-03-18
      • 2017-02-13
      • 2013-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多