【问题标题】:libpng error: Not a PNG filelibpng 错误:不是 PNG 文件
【发布时间】:2016-02-24 03:13:23
【问题描述】:

我曾多次尝试将 Android Studio 构建工具升级到 1.3.1 之后,但我总是以这个 libpng 错误告终。我通过完全删除 maven 依赖项解决了其中一个错误(因为 gradle 控制台准确地指向了问题文件所在的位置),但现在我遇到了同样的错误,并且没有指向问题文件所在位置的指针。我错过了什么吗?这是 gradle 控制台日志:

Executing tasks: [:app:generateDebugSources, :app:generateDebugAndroidTestSources]

Configuration on demand is an incubating feature.
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidDatabindingAdapters10Rc3Library UP-TO-DATE
:app:prepareComAndroidDatabindingLibrary10Rc3Library UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72310Library UP-TO-DATE
:app:prepareComAndroidSupportCardviewV72310Library UP-TO-DATE
:app:prepareComAndroidSupportDesign2310Library UP-TO-DATE
:app:prepareComAndroidSupportMediarouterV72220Library UP-TO-DATE
:app:preDebugAndroidTestBuild UP-TO-DATE
:app:prepareComAndroidSupportMultidex101Library UP-TO-DATE
:app:prepareComAndroidSupportPercent2310Library UP-TO-DATE
:app:prepareComAndroidSupportRecyclerviewV72310Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42310Library UP-TO-DATE
:app:prepareComCrashlyticsSdkAndroidAnswers132Library UP-TO-DATE
:app:prepareComCrashlyticsSdkAndroidBeta113Library UP-TO-DATE
:app:prepareComCrashlyticsSdkAndroidCrashlytics252Library UP-TO-DATE
:app:prepareComCrashlyticsSdkAndroidCrashlyticsCore235Library UP-TO-DATE
:app:prepareComFacebookAndroidFacebookAndroidSdk410Library UP-TO-DATE
:app:prepareComFacebookFrescoDrawee061Library UP-TO-DATE
:app:prepareComFacebookFrescoFbcore061Library UP-TO-DATE
:app:prepareComFacebookFrescoFresco061Library UP-TO-DATE
:app:prepareComFacebookFrescoImagepipeline061Library UP-TO-DATE
:app:prepareComGithubRahatarmanahmedCircularprogressview232Library UP-TO-DATE
:app:prepareComGoogleAndroidExoplayerExoplayerR142Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServices810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesAds810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesAnalytics810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesAppindexing810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesAppinvite810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesAppstate810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesBase810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesBasement810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesCast810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesDrive810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesFitness810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesGames810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesGcm810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesIdentity810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesLocation810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesMaps810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesMeasurement810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesNearby810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesPanorama810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesPlus810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesSafetynet810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesVision810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesWallet810Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesWearable810Library UP-TO-DATE
:app:prepareIoFabricSdkAndroidFabric136Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources
AAPT err(Facade for 961886319): libpng error: Not a PNG file

 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> Some file crunching failed, see logs for details

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 4.398 secs

下面是我的 build.gradle (Module:app)

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "us.revibe.revibe"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled = true
    }
    buildTypes {
        debug{
            debuggable true
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    dataBinding {
        enabled = true
    }
    dexOptions {
        javaMaxHeapSize "4g"
    }
}

repositories {
//    maven { url 'http://maven.livotovlabs.pro/content/groups/public' }
    maven { url 'https://maven.fabric.io/public' }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:23.1.0'
    compile 'com.android.support:cardview-v7:23.1.0'
    compile 'com.android.support:recyclerview-v7:23.1.0'
    compile 'com.android.support:percent:23.1.0'
    compile 'com.android.support:design:23.1.0'
    compile files('libs/core-3.2.1.jar')
    compile files('libs/retrofit-1.9.0.jar')
    compile files('libs/connectionclass-1.0.1.jar')
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'
    compile 'com.squareup.okhttp:okhttp:2.3.0'
    compile 'com.joanzapata.android:android-iconify:1.0.8'
    compile 'com.github.rahatarmanahmed:circularprogressview:2.3.2'
    compile 'com.facebook.android:facebook-android-sdk:4.1.0'
    compile 'com.facebook.fresco:fresco:0.6.1+'
    compile 'com.google.android.gms:play-services:8.1.0'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.amazonaws:aws-android-sdk-core:2.+'
    compile 'com.amazonaws:aws-android-sdk-cognito:2.+'
    compile 'com.amazonaws:aws-android-sdk-s3:2.+'
//    compile ('eu.livotov.labs:zxscanlib:2.0.1@aar') {transitive=true}

    compile 'com.google.android.exoplayer:exoplayer:r1.4.2'
    compile('com.crashlytics.sdk.android:crashlytics:2.5.2@aar') {
        transitive = true;
    }
}

下面是我的顶级 build.gradle

buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:1.5.0"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

恢复到类路径“com.android.tools.build:gradle:1.3.1”似乎可以解决问题,但我想开始使用所有新功能

【问题讨论】:

  • 我采取了捷径,简单地删除了我的 drawables 文件夹中所有未使用的文件。这似乎解决了这个问题。将来我会确保在将它们放入drawables文件夹之前粉碎任何PNG
  • 执行以下命令从所有 png 文件中删除所有元数据。在您的 res 文件夹中运行命令:(备份!) find . -iname '*png' -exec pngcrush -ow -rem allb -brute -reduce {} \;
  • @MateiCanavra 你能接受答案吗?

标签: android compiler-errors android-gradle-plugin libpng aapt


【解决方案1】:

问题出在您的 png 文件中。可能您的图像已通过某些 png 优化工具进行了优化。 Android Studio 使用 AAPT 工具在构建项目期间优化图像。出现此问题的原因是 AAPT 工具不知道您对图像进行了预处理。

要在您的应用程序中解决此问题,您需要在 gradle 中指定选项

  aaptOptions{
    cruncherEnabled = false
}

这是禁用所有 png 文件的 AAPT 优化。

here提出了类似的问题

【讨论】:

    【解决方案2】:

    实际上,造成这种情况的原因是您的一些所谓的.png 文件实际上不是 PNG 而是其他一些类型(我主要怀疑它们是 JPEG ,但其他人或可能是您使用 .png 文件扩展名重命名它们只是为了欺骗 Eclipse。但请记住 Android Studio:D 更聪明)

    为了确保进行检查,请在类似 Photoshop 的工具中打开一个可能会出现此错误的 PNG 图像文件(Photoshop 更好,因为如果文件扩展名不同比它的实际格式那么它也会给出一个错误。如果是这样找出你的图像文件的实际格式是什么是使用webapp like this)。

    解决方案:
    在 Photoshop 中打开文件后,将其另存为 PNG。并尝试构建这个,这个问题可能已经消失了。

    希望这个答案对那里的人有所帮助。
    干杯!

    【讨论】:

      【解决方案3】:

      我采取了捷径,简单地删除了我的 drawables 文件夹中所有未使用的文件。这似乎解决了这个问题。将来我会确保在将它们放入 drawables 文件夹之前粉碎任何 PNG,正如 Tauqir 建议的那样。

      【讨论】:

        猜你喜欢
        • 2014-03-30
        • 2012-05-13
        • 2014-11-15
        • 2016-08-15
        • 2016-03-17
        • 2014-06-15
        • 2016-08-28
        • 2017-11-17
        相关资源
        最近更新 更多