Gradle 构建完成,出现 520 个错误,但 APK 生成成功

Posted

技术标签:

【中文标题】Gradle 构建完成,出现 520 个错误,但 APK 生成成功【英文标题】:Gradle build finished with 520 error(s) but APK generated successfully 【发布时间】:2016-10-05 01:09:04 【问题描述】:

每次我想运行或调试我的应用程序时,gradle 总是会出现错误但由 studio 成功构建。但是当我想自己生成时,它失败了,太奇怪了。

 android 
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig 
        applicationId "com.jinjiang.computer.tianyi"
        minSdkVersion 18
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    
    buildTypes 
        release 
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        
    

       repositories 
        maven  url "https://jitpack.io" 
    

    dependencies 
        compile fileTree(include: ['*.jar'], dir: 'libs')
        testCompile 'junit:junit:4.12'
        compile files('F:/AndroidStudioProjects/TianYi/libs/Msc.jar')
        compile files('F:/AndroidStudioProjects/TianYi/libs/Sunflower.jar')
        compile 'com.android.support:appcompat-v7:23.3.0'
        compile 'com.android.support:design:23.3.0'
        compile 'com.android.support:support-v4:23.3.0'
        compile 'org.apache.poi:poi:3.14'
        compile 'com.github.PhilJay:MPAndroidChart:v2.0.8'
    

错误:警告:忽略匿名的 InnerClasses 属性 内部类 错误:(com.iflytek.cloud.a) 不附带 错误:关联的 EnclosureMethod 属性。这堂课是 可能由未针对 现代 .class 文件格式。推荐的 Error:solution 是 使用最新的编译器从源代码重新编译类 错误:并且没有指定任何“-target”类型选项。这 忽略错误的后果:此警告是反光的 对此类的操作将不正确错误:表明它 不是一个内部类。 错误:警告:忽略 InnerClasses 匿名内部类的属性 错误:(com.iflytek.cloud.b) 不附带 错误:关联的 EnclosureMethod 属性。这堂课是 可能由未针对 现代 .class 文件格式。推荐的 Error:solution 是 使用最新的编译器从源代码重新编译类 错误:并且没有指定任何“-target”类型选项。这 忽略错误的后果:此警告是反光的 对此类的操作将不正确错误:表明它 不是一个内部类。 错误:警告:忽略 InnerClasses 匿名内部类的属性

...

错误:(com.iflytek.thridparty.T) 不附带 错误:关联的 EnclosureMethod 属性。这堂课是 可能由未针对 现代 .class 文件格式。推荐的 Error:solution 是 使用最新的编译器从源代码重新编译类 错误:并且没有指定任何“-target”类型选项。这 忽略错误的后果:此警告是反光的 对此类的操作将不正确错误:表明它 不是一个内部类。 错误:警告:忽略 InnerClasses 匿名内部类的属性 错误:(com.iflytek.thridparty.aA) 不附带 错误:关联的 EnclosureMethod 属性。这堂课是 可能由未针对 现代 .class 文件格式。推荐的 Error:solution 是 使用最新的编译器从源代码重新编译类 错误:并且没有指定任何“-target”类型选项。这 忽视的后果

等等

【问题讨论】:

您没有遇到错误,而是收到警告 警告内容是什么? 【参考方案1】:

前段时间我通过在我的proguard-rules.pro 文件中添加以下几行来摆脱这些警告:

-keepattributes InnerClasses,EnclosingMethod
-dontoptimize

【讨论】:

以上是关于Gradle 构建完成,出现 520 个错误,但 APK 生成成功的主要内容,如果未能解决你的问题,请参考以下文章

构建失败并出现异常。颤动的Gradle问题

Android 项目的 Gradle assembleDebug 失败并出现 aapt 错误

更新Google服务插件并且无法安装应用程序成功完成gradle后

Gradle 构建错误:需要 Gradle 版本 2.10。当前版本是 2.6 [重复]

从 Eclipse 生成 Gradle 构建文件,出现错误:需要 Gradle 版本 1.10

AndroidStudio 2.2 构建 gradle 错误(自定义 proguard 文件的路径)