Error failure processing png image

Information Apktool Version: 2.2.3 Operating System: Windows 10 Ann. Update (x64) APK From? ROM (ColorOS) Decompile java -jar apktool_2.2.3.jar d OppoWeather.apk I: Using Apktool 2.2.3 on OppoWeath...

Information

  1. Apktool Version: 2.2.3
  2. Operating System: Windows 10 Ann. Update (x64)
  3. APK From? ROM (ColorOS)

Decompile

java -jar apktool_2.2.3.jar d OppoWeather.apk
I: Using Apktool 2.2.3 on OppoWeather.apk
I: Loading resource table...
I: Decoding Shared Library (oppo), pkgId: 12
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:UsersIcebergAppDataLocalapktoolframework1.apk
I: Loading resource table from file: C:UsersIcebergAppDataLocalapktoolframework12.apk
I: Decoding Shared Library (com.mediatek), pkgId: 8
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...

Recompile

java -jar apktool_2.2.3.jar b OppoWeather
I: Using Apktool 2.2.3
W: Could not find sources
I: Checking whether resources has changed...
I: Building resources...
W: libpng error: Read Error
W: ERROR: Failure processing PNG image D:DesktopOppoWeatherOppoWeatherresdrawable-xxhdpi-v4fog_day_fog2.png
Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:UsersIcebergAppDataLocalTempbrut_util_Jar_7119727420143806455.tmp, p, --forced-package-id, 127, --min-sdk-version, 21, --target-sdk-version, 22, --version-code, 40001, --version-name, 4.0.0, --no-version-vectors, -F, C:UsersIcebergAppDataLocalTempAPKTOOL6591758469764326393.tmp, -0, arsc, -0, arsc, -I, C:UsersIcebergAppDataLocalapktoolframework1.apk, -I, C:UsersIcebergAppDataLocalapktoolframework12.apk, -S, D:DesktopOppoWeatherOppoWeatherres, -M, D:DesktopOppoWeatherOppoWeatherAndroidManifest.xml]
        at brut.androlib.Androlib.buildResourcesFull(Androlib.java:493)
        at brut.androlib.Androlib.buildResources(Androlib.java:427)
        at brut.androlib.Androlib.build(Androlib.java:326)
        at brut.androlib.Androlib.build(Androlib.java:264)
        at brut.apktool.Main.cmdBuild(Main.java:231)
        at brut.apktool.Main.main(Main.java:84)
Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [C:UsersIcebergAppDataLocalTempbrut_util_Jar_7119727420143806455.tmp, p, --forced-package-id, 127, --min-sdk-version, 21, --target-sdk-version, 22, --version-code, 40001, --version-name, 4.0.0, --no-version-vectors, -F, C:UsersIcebergAppDataLocalTempAPKTOOL6591758469764326393.tmp, -0, arsc, -0, arsc, -I, C:UsersIcebergAppDataLocalapktoolframework1.apk, -I, C:UsersIcebergAppDataLocalapktoolframework12.apk, -S, D:DesktopOppoWeatherOppoWeatherres, -M, D:DesktopOppoWeatherOppoWeatherAndroidManifest.xml]
        at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:441)
        at brut.androlib.Androlib.buildResourcesFull(Androlib.java:479)
        ... 5 more
Caused by: brut.common.BrutException: could not exec (exit code = 1): [C:UsersIcebergAppDataLocalTempbrut_util_Jar_7119727420143806455.tmp, p, --forced-package-id, 127, --min-sdk-version, 21, --target-sdk-version, 22, --version-code, 40001, --version-name, 4.0.0, --no-version-vectors, -F, C:UsersIcebergAppDataLocalTempAPKTOOL6591758469764326393.tmp, -0, arsc, -0, arsc, -I, C:UsersIcebergAppDataLocalapktoolframework1.apk, -I, C:UsersIcebergAppDataLocalapktoolframework12.apk, -S, D:DesktopOppoWeatherOppoWeatherres, -M, D:DesktopOppoWeatherOppoWeatherAndroidManifest.xml]
        at brut.util.OS.exec(OS.java:95)
        at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:435)
        ... 6 more

Steps to Reproduce

Just decompile and recompile.
NOTE: The classes.dex is missing, it’s fine.
The only thing that can open this «damaged» 4-bit PNG file seems to be Color Quantizer. Then it can save it to a new PNG (also 4 bit) which then works on all image viewers.

APK + Frameworks

http://www.mediafire.com/file/aq8bbuig1ubrgxv/OppoWeather.zip

  • Remove From My Forums
  • Question

  • User268308 posted

    My project was fine, I just copied the code to another PC, and installed the packages, this error keeps appearing with every Build: Failure processing PNG files (and points to othen png files created automatically !)

    Output:

    1>C:UsersxxxDownloadsBogMobileAPPBogMobileAPPBogAppBogApp.AndroidobjDebuglp39jlresdrawable-hdpi-v4abcabsharepackmtrlalpha.9.png : error APT0000: Unable to open PNG file
    1>C:Program Files (x86)Microsoft Visual Studio2017CommunityMSBuildXamarinAndroidXamarin.Android.Common.targets(1429,2): error APT0000: Failure processing PNG image C:UsersxxxDownloadsBogMobileAPPBogMobileAPPBogAppBogApp.AndroidobjDebuglp39jlresdrawable-xhdpi-v4abc
    absharepackmtrlalpha.9.png
    1>C:Program Files (x86)Microsoft Visual Studio2017CommunityMSBuildXamarinAndroidXamarin.Android.Common.targets(1429,2): error APT0000: Failure processing PNG image C:UsersxxxDownloadsBogMobileAPPBogMobileAPPBogAppBogApp.AndroidobjDebuglp39jlresdrawable-hdpi-v4abcabsharepackmtrlalpha.9.png
    1>C:UsersxxxDownloadsBogMobileAPPBogMobileAPPBogAppBogApp.AndroidobjDebuglp39jlresdrawable-xxhdpi-v4abc
    absharepackmtrlalpha.9.png : error APT0000: Unable to open PNG file
    1>C:Program Files (x86)Microsoft Visual Studio2017CommunityMSBuildXamarinAndroidXamarin.Android.Common.targets(1429,2): error APT0000: Failure processing PNG image C:UsersxxxDownloadsBogMobileAPPBogMobileAPPBogAppBogApp.AndroidobjDebuglp39jlresdrawable-xxhdpi-v4abcabsharepackmtrlalpha.9.png
    1>C:UsersxxxDownloadsBogMobileAPPBogMobileAPPBogAppBogApp.AndroidobjDebuglp39jlresdrawable-mdpi-v4abc
    btnchecktoonmtrl_000.png : error APT0000: Unable to open PNG file

Здравствуйте, я создаю виджет, и он содержит изображение для заголовка и разделителя контента, как всегда, я импортировал свое изображение в папку с возможностью рисования.

я объявил изображение в моем макете xml виджета следующим образом:

<ImageView
    android:id="@+id/img_widget"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dip"
    android:layout_marginBottom="10dip"
    android:gravity="center_vertical|center_horizontal"
    android:src="@drawable/divider"/>

это делитель.9.png в моей папке с возможностью рисования, поэтому, когда я начинаю компилировать это, получается, что ошибка не в файле xml, а в самом изображении

и когда я посмотрел на консоль, он говорит:

ERROR: Failure processing PNG image /home/drikvi/workspace/AnimList/res/drawable-hdpi/divider.9.png
[2011-06-23 15:18:59 - AnimList] W/ResourceType( 2305): Bad XML block: header size 2433    or total size 0 is larger than data size 0
[2011-06-23 15:18:59 - AnimList] W/ResourceType( 2305): Bad XML block: header size 2433   or total size 0 is larger than data size 0

я действительно понятия не имею с этим?

любые решения?

AndnixSH


  • #1

I got a strange PNG error when trying to compile

Code:

I: Using Apktool 2.5.0
I: Smaling smali folder into classes.dex...
I: Smaling smali_classes2 folder into classes2.dex...
I: Smaling smali_classes3 folder into classes3.dex...
I: Smaling smali_classes4 folder into classes4.dex...
I: Smaling smali_classes5 folder into classes5.dex...
I: Building resources...
W: libpng error: Not a PNG file
W: ERROR: Failure processing PNG image E:APK Easy Tool1-Decompiled APKsgameexampleresmipmapic_launcher_background.png
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1):

We can see an error occured on gameexampleresmipmapic_launcher_background.png

So we basically use any image editing software that support transparent like Photoshop, and re-save the image

Then it will successfully compile

Code:

I: Using Apktool 2.5.0
I: Smaling smali folder into classes.dex...
I: Smaling smali_classes2 folder into classes2.dex...
I: Smaling smali_classes3 folder into classes3.dex...
I: Smaling smali_classes4 folder into classes4.dex...
I: Smaling smali_classes5 folder into classes5.dex...
I: Building resources...
I: Copying libs... (/lib)
I: Building apk file...
I: Copying unknown files/dir...
I: Built apk...

14 ответов

Я столкнулся с той же проблемой в Android Studio:

AAPT out(943142208) : No Delegate set : lost message:Done
AAPT err(943142208): ERROR: 9-patch image /Users/cartman/Github/UteacherAndroid/RefactorDemo/app/src/main/res/drawable-xxhdpi/nav_shabow.9.png malformed.
AAPT err(943142208):        Frame pixels must be either solid or transparent (not intermediate alphas).
AAPT err(943142208):        Found at pixel #1 along left edge.

Вот как я это решил: откройте инструмент draw9patch в каталоге Android Sdk

cd /Android/sdk/tools
./draw9patch

Откройте .9 png и сохраните его снова. Надеюсь, что это поможет.

Jiawei Dai
03 авг. 2015, в 06:45

Поделиться

это проблема с последним ADT, который составляет 20.0.3. вы можете вместо этого переименовать *.9.png в *.png и начать работать. Я думаю, что это ошибка только с adt, так как для версии 18.0.0 adt она не запрашивает этот тип ошибок и отлично работает

Android_Rocks
24 авг. 2012, в 09:52

Поделиться

Компилятор ресурсов разбивает 9-патчей на однопиксельные границы (и, по-видимому, сохраняет информацию, полученную из них более эффективным образом, за пределами файла .9.png). Если вы извлекли эти файлы .9.png из .apk, вам нужно будет добавить границу вручную.

Reuben Scratton
25 нояб. 2010, в 21:48

Поделиться

У меня была та же проблема, когда я перенес проектную форму Eclipse в Android Studio.

Что вам нужно сделать, это удалить .9 из имени файла изображения, а затем открыть его в инструменте draw9patch (находящемся в каталоге /sdk/tools ), а теперь нажмите кнопку «Показать плохие патчи» в правом верхнем углу,

Затем вы должны увидеть плохие пиксели и области, отмеченные красным цветом, вам нужно сделать некоторую работу там, пока у вас не будет красных плохих патчей. Для меня я просто пометил один пиксель на среднем левом краю и один пиксель на среднем верхнем краю и обозначил почти все правые края и нижний край. нажмите кнопку еще раз и убедитесь, что у вас нет плохих патчей.

Сохраните файл как .9.png и верните его обратно в папку res вашего проекта. Затем Android Studio должен создать проект без проблем для 9 патч-ямджей.

Moti Bartov
21 нояб. 2014, в 16:32

Поделиться

Теперь есть два png cruncher в инструменте сборки android, aapt и java cruncher.
Обе проверки для искаженных 9 патч-изображений.

Я изучил исходный код инструмента сборки, нет возможности отключить сжатие на 9 патч-изображениях или игнорировать неверные. По крайней мере, параметры недоступны для пользователей.

Итак, вот простой script для замены aapt.

https://gist.github.com/ksc91u/37513796b2cec37bb3c5

При вызове сжимать 9 патч-изображений он просто скопирует файл, иначе он запустит реальный переход с помощью @ARGV.

ksc91u
17 сен. 2014, в 10:21

Поделиться

В моем случае я ошибочно расширил черную границу в верхнем левом углу. Убедитесь, что углы прозрачны.

bradley4
18 нояб. 2013, в 06:56

Поделиться

Если вы создаете изображение с помощью онлайн-генератора, вы должны удалить любые специальные символы из имени для его работы.

mbpatel
30 дек. 2015, в 15:08

Поделиться

Для меня проблема заключается в том, что я сам создал 9 патчей. Я думал, что достаточно иметь границу 1 px на левом и верхнем краях, но вам нужно убедиться, что изображение имеет границу 1 px на каждом краю.

Guido Kersten
20 дек. 2014, в 11:21

Поделиться

Я обнаружил, что проблема связана с файлами *.9.png. Откройте и проверьте все свои 9-патч файлы, убедитесь, что все файлы имеют черную границу шириной 1 пиксель, если этого не делают, просто нажмите на белое место и добавьте его, а затем сохраните.

Это единственное решение моей проблемы.

Akash Bisariya
08 июнь 2017, в 07:07

Поделиться

Я решил это, изменив область растяжения в Android Studio

chefish
12 окт. 2016, в 03:02

Поделиться

когда мы девять патчей на любом изображении, он создает черную линию на ее границе. Эта граница должна быть прозрачной или полной сплошной. Если это не эта ошибка.
Таким образом, решение состоит в увеличении ширины и высоты на 2 пикселя (в Photoshop увеличьте размер холста, а не изображение)

Dhanraj Gullapalli
05 окт. 2015, в 10:32

Поделиться

Ваш 9-патч может быть неправильным.
Возможно, ваши полосы 9-патчей на расстоянии одного пикселя и информация, полученная от них, недоступна. Попытайтесь добавить нижнюю строку и правую строку для текста. Я думаю, что это поможет решить вашу проблему.

QArea
14 окт. 2014, в 15:01

Поделиться

При появлении ошибки открывается изображение в студии android. Все, что я сделал, чтобы исправить это, — это расширение любой границы паттерна одним рисованным пикселем. Я снова побежал, и это сработало. Не знаю, почему, но я повторил это несколько раз.

dbconfession
04 сен. 2014, в 21:02

Поделиться

Только для записи:
Для меня выяснилось, что эта ошибка исходила от черной пограничной линии на правом участке и нижней стороне. Таким образом, у меня была черная рамка со всех сторон (сверху, справа, внизу и слева). Удаление избыточной правой и нижней линии работало как шарм.

Langusten Gustel
15 нояб. 2013, в 12:01

Поделиться

Ещё вопросы

  • 0обязательное поле для флажков
  • 0Mysql выбрать элементы, которые встречаются несколько раз в данном диапазоне дат
  • 0jQuery ajaxForm — загрузка функции после завершения другой функции
  • 0Как можно использовать Express JS вместе с Google Chart
  • 1ProgressDialog не появляется, пока не стало слишком поздно
  • 1Как resultSet хранит значения
  • 0столбец таблицы, чтобы не отталкивать другие столбцы?
  • 0Как заполнить $ scope на начальной странице GET-запроса
  • 1Почему метод OnStart () из ServiceBase имеет параметр arguments?
  • 0эта форма (codeigniter) не работает
  • 0Как отправить динамически созданные входные (или текстовые) значения в iframe и показать его как HTML внутри iframe?
  • 1Что означает параметр `int` в` map` Python 3?
  • 0Правильная сортировка дат с использованием TableSorter и <div> s
  • 1Android: MediaStore.Images.Media.EXTERNAL_CONTENT_URI… показывать картинки в полном размере?
  • 1Android Sqlite Заявление Вопрос
  • 0как создать свертывающуюся строку для smarttable?
  • 0Почему я не могу вызвать функцию при назначении $ scope в угловых?
  • 1Предотвратить масштабирование графика D3
  • 1Теорема о разделяющей трудности трудности
  • 1Как сделать WPF ListView горизонтальным с растянутым изображением в соответствии с высотой?
  • 0Показать детали товара после нажатия на элемент
  • 1@ Html.Action вызывает исключение «Для этого объекта не определен конструктор без параметров»
  • 0MySQL запрос работает в PHPmyAdmin, но не в PHP-файле
  • 1проверить два значения столбца двух CSV-файлов и, если совпадение найдено, записать в другой CSV-файл
  • 1Динамические маркеры на карте?
  • 0Соединение вашего приложения с базой данных
  • 1getElementByClassName не работает
  • 0Шаблоны Meteor AngularJS (модульное тестирование)
  • 0Не удается настроить среду разработки Android Cocos2d-x в Windows 7
  • 0Вставьте нижний колонтитул в нижней части веб-страницы
  • 1Проблема при нажатии на ссылки HTML внутри ListView?
  • 0HTML отображается как необработанный
  • 1Может ли процесс Android разместить несколько виртуальных машин Dalvik?
  • 0Получить значение из массива php
  • 0Запретить прямой URL вместо перенаправления на виртуальный хост
  • 0Настройте пользовательскую дату для использования в качестве отправной точки в устройстве выбора даты
  • 0Если первый ребенок — iframe
  • 0Тест контроллера всегда дает неопределенную область видимости
  • 1Измените размер изображения так, чтобы оно соответствовало сетке JPanel
  • 1ModuleNotFoundError: нет модуля с именем tenensflow.contrib.framework
  • 0Как я могу использовать данные в нг-если?
  • 0PHP 5.3 и sqlsrv_connect
  • 0Как создать массив всех идентификаторов, имеющих <input type = «checkbox»> в jQuery?
  • 1Скопируйте Итератор
  • 0Агрегатная функция не считает правильно MYSQL
  • 1Получение правильных заголовков таблицы с векторами jswing
  • 0C ++ Struct Array Win Повреждение формы
  • 0Как преобразовать статическую сводную таблицу в динамическую в MySQL?
  • 0Выбор из таблиц с отношениями многие ко многим
  • 0Использование JavaScript для центрирования нескольких элементов div в разметке

Понравилась статья? Поделить с друзьями:
  • Error failure enumerating files in directory
  • Error failedepicauthtoken among us
  • Error failed while fetching server version could be due to unauthorized access
  • Error failed to update magicad cuix mnr file
  • Error failed to synchronize cache for repo updates