Error in sdcard status 7

Ошибка 7 при прошивке через рекавери (TWRP, CWM Recovery)

Ошибка 7 при прошивке через рекавери (TWRP, CWM Recovery) на Android


 Ошибка 7 при прошивке через рекавери (TWRP, CWM Recovery). Решили установить кастомную прошивку на свой Android смартфон или планшет, вошли в кастомное TWRP Recovery, но во время установки получили ошибку 7? Не отчаивайтесь исправить данную проблему довольно просто.

Многих новичков может обескуражить какие либо действия в установке кастомной прошивки, особенно если это процедура выполняется первый раз. Одним из серьезных препятствий во время установки прошивки может стать ошибка 7 в TWRP Recovery. Серьезность этой ошибки в том, что она не позволяет вообще установить кастомную прошивку на устройство и вся ваша подготовка пойдет насмарку. Но оказывается что данную ошибку 7 в recovery довольно легко исправить не прибегая к длительным действиям! О том как избавится от данной проблемы и посвящена сегодняшняя статья!

Откуда взялась ошибка 7?

Данная ошибка может возникнуть в двух случаях:

  1. Если вы попытаетесь установить прошивку не от своего устройства, такое часто возникает, когда под одним наименованием смартфона или планшета может быть множество моделей с небольшими отличиями под определенные рынки (например смартфон LG G2 имеет модели VS980, LS980, D800, D802, F320K). Убедитесь что прошивка предназначена именно для вашего устройства!
  2. В скрипте установке прошивки не внесено название модели вашего Android смартфона или планшета.

Как исправить Ошибку 7 при прошивке в Recovery?

Вариант 1 (действие 1)

Если вы уже прочитали как могла возникнуть ошибка 7, то самым первым вашим действием будет проверка действительно вы скачали прошивку именно для вашей модели смартфона или планшета (проверить наименование и версию).

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

Вариант 2 (действие 2)

1. Установите Notepad ++
2. Открываем прошивку и переходим по пути META-INFcomgoogleandroid
3. Извлекаем файл updater-script

Ошибка 7 при прошивке через рекавери (TWRP, CWM Recovery) на Android

4. Удалить вначале устанавливающего скрипта строки начинающиеся на assert

Ошибка 7 при прошивке через рекавери (TWRP, CWM Recovery) на Android

5. Сохранить документ и забросить обратно в прошивку заменив старый файл
6. Удалить в прошивке файлы по пути META-INF — CERT.RSA, CERT.SF, MANIFEST.MF

Ошибка 7 при прошивке через рекавери (TWRP, CWM Recovery) на Android

7. Забросить готовую прошивку на устройство, перевести в режим Recovery и попробовать снова прошить Android


{rutube}ace43b472b1b7b2fb55e2b53ba067bf8{/rutube}


За правильностью выбора прошивки отвечает механизм защиты «Asserts«. Скрипт проверяет модель устройства и версию прошивки по системной переменной ro.build.fingerprint, запрашиваемой у самого recovery. В случае совпадения кодов он выдает подтверждение легитимности установки, а при несовпадении (отсутствии) не подтверждает возможность этого действия. В результате вы видите ошибку 7, но зато ваш аппарат не превращается в кирпич. Бывают и такие случаи, когда даже при правильном выборе прошивки для своего устройства вы все равно получаете сообщение об ошибке 7. Они крайне редки и связаны с ошибкой разработчика прошивки.

Чтобы исправить ошибку 7 необходимо, прежде всего, убедиться в том, что вариант прошивки выбран правильно, и она предназначена именно для вашей модели и модификации Android-смартфона или планшета. Если ошибка все равно появляется, придется править файл updater-script, отвечающий за соответствие версий прошивки и устройства.

  1. Скопируйте ZIP-файл ROM на свой компьютер и извлеките его, используя привычный для вас архиватор (например, 7-zip).
  2. После распаковки найдите папку META-INF и пройдите по цепочке META-INF / com / google / android. В последней папке вы найдете два файла под названием «update-binary» и «updater-script». Нас интересует последний.
  3. Переименуйте «updater-script» в «updater-script.txt» и откройте свой любимый редактор текстовых файлов (как вариант, Notepad++).
  4. Избавьтесь от строк, начинающихся с «assert» до точки с запятой. Обычно это первая или несколько первых строк в верхней части текстового файла. Просто удалите их.
  5. Сохраните файл.
  6. Переименуйте «updater-script.txt» обратно в «updater-script».
  7. Обновите все файлы, которые вы распаковали.
  8. Скопируйте новый, отредактированный zip-файл на свой телефон.
  9. Переведите Android-устройство в режим recovery и попробуйте его перепрошить — ошибка 7 не должна больше вас беспокоить.

Поделитесь своим опытом исправления ошибки 7 в комментариях.

Время прочтения
13 мин

Просмотры 58K

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

Как это работает

Первыми новые версии Android традиционно получают последние из устройств Nexus. Когда новая версия прошивки готова для широкой публики, полный образ размещается по адресу developers.google.com/android/nexus/images. Вскоре после этого начинается распространение прошивки по воздуху. Как рассказывает один из разработчиков Google Дэн Моррилл (Dan Morrill), сначала ОТА рассылается на 1% устройств. Это происходит рандомно, независимо от региона или места покупки телефона/планшета. В это время отлавливаются баги, что позволяет приостановить обновление при наличии критических ошибок у большого числа пользователей.

Далее в течение пары недель обновление распространяется для 25, 50, 100% пользователей. То есть на первом этапе шанс на получение обновления имеет одно устройство из ста. Если обновление не получено, то устройство выпадает из списка и повторное неоднократное нажатие на кнопку «Проверить наличие обновлений» автоматически переносит устройство в конец списка. Когда запускается новый этап рассылки, нажатие на кнопку дает следующий шанс получить обновление уже 25%. Так как устройство само проверяет наличие обновления раз в сутки (или при перезагрузке), то нажатие на кнопку может «выстрелить» раньше, чем это случилось бы само по себе. Но опять-таки проверка будет только один раз. Дальнейшие нажатия не помогут. Это не та ситуация, когда «кто первый нажал, тот первый получил». В любом случае обновление по воздуху придет всем в течение пары недель. Самые нетерпеливые могут прошить обновление руками (об этом ниже).


Уведомление о наличии обновления

Форсируем обновление

Ускорить получение обновления можно двумя способами. Первый — очистка данных Google Services Framework с последующей перезагрузкой устройства. Крайне не рекомендуемый способ, который осуждают даже инженеры Гугла. Этот способ вызывает множество негативных эффектов, главный из которых — смена идентификатора для GCM (Google Cloud Messenger). Этот идентификатор нужен во всех программах Гугла и множестве других приложений, использующих функции push-уведомлений. И если в некоторых программах побороть эффекты относительно легко, то для многих других последствия могут быть более печальны. Все приложения просто перестанут принимать push-уведомления, основанные на GCM, пока не получат новый идентификатор. Некоторые приложения делают проверку часто, некоторые редко. Для части поможет очистка данных приложения. А те приложения, которые используют GCM ID в качестве идентификатора на своих серверах, могут иметь более глубокие проблемы.


Стоковый recovery

Второй — установка обновления руками через консоль восстановления. Вскоре после запуска ОТА в профильных темах устройств на ресурсах 4PDA и XDA появляются файлы вида хеш.signed-hammerhead-LRX21O-from-KTU84P.c1a33561.zip, в названии которых содержится хеш файла, марка устройства, а также версии прошивок для обновления (на какую, с какой). На компе необходимо иметь папку с утилитами ADB и fastboot. Я использую последние версии из Android SDK. В ту же папку нужно положить скачанный архив с ОТА-обновлением. Также необходимо иметь правильно установленные драйверы для устройства, которые могут конфликтовать с ранее установленными драйверами для других устройств.

Само устройство следует перевести в режим восстановления (recovery). Для этого на выключенном устройстве зажимаем одновременно кнопки <Power + VolDown> и попадаем в загрузчик, кнопкой громкости выбираем Recovery mode, входим в него кнопкой Power. Появится лежачий Android с восклицательным знаком. Это не ошибка, пугаться не стоит. Необходимо на этом экране коротко нажать <Power + VolUp>, после чего и загрузится стоковый рекавери. В нем необходимо выбрать кнопками громкости пункт apply update from ADB и подтвердить кнопкой включения. Далее необходимо подключить телефон/планшет к компу. Запускаем консоль, переходим в папку с ADB и архивом обновления и вводим следующую команду (для файла, приведенного выше):

$ adb sideload хеш.signed-hammerhead-LRX21O-from-KTU84P.c1a33561.zip

После этого на телефон установится ОТА и он перезагрузится.

Блок-врезка: Как скачать обновление через сотовую сеть

Уведомление о доступности ОТА может прийти, когда устройство не подключено к Wi-Fi. При этом появится пометка, что файл доступен для скачивания по Wi-Fi до определенной даты (около недели), а сама кнопка «Скачать» будет неактивна. Это сделано для экономии денег юзера. Если подключение к Wi-Fi в ближайшее время не предвидится, то можно обмануть телефон и скачать обновление через 3G/4G, просто переведя дату в телефоне вперед, позже даты, указанной в уведомлении, и перегрузив устройство.

INFO

Под стоковой (stock — из магазина) прошивкой понимается наличие заводского ядра, recovery, отсутствие модификаций, полученных в том числе с помощью root.

Модифицированная прошивка

Если у тебя разблокирован загрузчик, стоит кастомный recovery, получен root, который активно используют различные программы, и применены различные модификации, то с вероятностью 99% обновление не установится. Даже при возврате стокового recovery при прошивке через ADB будет выдавать ошибку Status 7. Кастомный recovery также будет писать ошибку, ругаясь на измененные файлы. Побороть эту проблему можно, вернув смартфон к заводской прошивке, но это не наш метод. Мы разберемся с ней, расковыряв файл обновления, выясним, на каком месте спотыкается установка, и устраним проблему. И все это на примере самого крупного обновления Nexus 5 — с версии 4.4.4 (KTU84P) на 5.0 (LRX21O).

Механика работы ОТА

Итак, обновление с 4.4.4 на 5.0 стало самым крупным за последнее время с весом архива в 491 Мб. В связи со сменой Dalvik на ART практически весь код был модифицирован. Так что же содержит архив? Как видно на скриншоте «Файлы из архива с обновлением до 5.0», внутри архива находятся образы бутлоадера (различные разделы), каталоги META-INF, patch и system.


Файлы из архива с обновлением до 5.0

Для минимизации количества трафика и уменьшения нагрузки на серверы, а также для снижения затрат конечного пользователя структура обновления построена так, что файлы с большим количеством изменений или написанные с нуля находятся в каталоге system и меняются целиком. А файлы с небольшими по меркам Гугла изменениями не заменяются, а патчатся, то есть изменяются куски кода внутри файла. Эти файлы находятся внутри каталога patch и имеют расширение.р. Это хорошо видно, если сравнить файлы в /system/bin и /patch/system/bin. При этом для создания патча используется хорошо знакомый юниксоидам bsdiff, позволяющий из двух бинарников получить дельту (файл с разницей между файлами).

Само же волшебство происходит по воле updater-script, который находится в /META-INF/com/google/android. Именно его мы и рассмотрим подробнее. Сам файл весит 463 Кб и содержит строки кода, отвечающие за процесс применения ОТА-обновления (на самом деле это скриптовый язык Edify, интерпретатор которого находится в том же каталоге и носит имя update-binary. — Прим. ред.). Вот что он содержит в нашем случае. Сначала монтируется раздел /system (достаточно стандартная для Linux строка монтирования, схожая с теми, что находятся в /etc/fstab):

mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", "max_batch_time=0,commit=1,data=ordered,barrier=1,errors=panic,nodelalloc");

Далее скрипт проверяет модель устройства и версию прошивки с помощью чтения системной переменной ro.build.fingerprint (обрати внимание, что он не берет ее из файла /system/build.prop, а запрашивает у самого recovery, поэтому обновления нельзя поставить с помощью кастомной консоли восстановления, хотя до 5.0 это было возможно). Здесь и далее троеточие это сокращенные строки:

getprop("ro.build.fingerprint") == "google/hammerhead/hammerhead:4.4.4/KTU84P/1227136:user/release-keys" ||
getprop("ro.build.fingerprint") ==  "google/hammerhead/hammerhead:5.0/LRX21O/1570415:user/release-keys" ||
abort("Package expects build fingerprint of google/hammerhead/hammerhead:4.4.4 ...");
getprop("ro.product.device") == "hammerhead" || abort("This package is for "hammerhead" devices ...");

Как видно выше, на «неродное» устройство обновление не встанет, зато его можно повторно накатить на версию 5.0. Также скрипт проверяет, подписана ли прошивка официальными ключами Google (release-keys). Из-за этого у многих пользователей возникают проблемы. Далее начинается проверка наличия и целостности отдельных файлов с помощью сверки хешей SHA-1. Для этого используются две функции: sha1_check(), принимающая в качестве аргументов имя файла и хеш, и apply_patch_check(), принимающая три аргумента: имя файла, и два хеша. Первая используется просто для проверки целостности файла, вторая проверяет, не был ли файл уже пропатчен. Для простоты длинные хеши в коде ниже заменены на многоточие:

sha1_check(read_file ("system/app/Drive/Drive.apk"), ...) || 
apply_patch_check("/system/app/Drive.apk", ...) || abort(""/system/app/Drive.apk" has unexpected contents.");
sha1_check(read_file("system/app/Drive/lib/arm/libdocsimageutils.so"), ...) || 
apply_patch_check("/system/lib/libdocsimageutils.so", ...) || abort (""/system/lib/libdocsimageutils.so" has unexpected contents.");

Для примера показаны только две проверки. По факту проверяются все файлы, которые подлежат замене или изменению патчем. В коде видно, что обновление выдаст ошибку, если, например, был изменен или удален файл /system/app/Drive.apk. В конце блока проверки скрипт проверяет ядро, доступное место в /system и радио:

apply_patch_check("EMMC:/dev/block/platform/msm_sdcc.1/by-name/boot:8908800:...") || abort("...");
apply_patch_space(23999236) || abort("Not enough free space on /system to apply patches.");
apply_patch_check("EMMC:/dev/block/platform/msm_sdcc.1/by-name/modem:46499328:...") || abort("..."); 

То есть данное обновление не встанет, если стоит кастомное ядро или модификация радио. Следующим шагом идет удаление старых файлов с устройства перед их заменой на новые и удаление файлов, которые не нужны на новой прошивке:

delete("/system/app/BasicDreams/", "/system/app/BasicDreams/arm/", ...);

Далее патчатся все необходимые файлы с предварительной проверкой хеша SHA-1. Патчинг выполняется с помощью функции apply_patch(), которая принимает имена файлов для патчинга и несколько хешей: хеш оригинала, хеш патча и хеш результата. Последним аргументом идет имя файла с патчем. Как и раньше, все хеши в коде ниже сокращены до многоточия:

sha1_check(read_file("system/app/Drive/Drive.apk"), ...) || 
apply_patch("/system/app/Drive.apk", "-", ..., package_extract_file("patch/system/app/Drive.apk.p"));

Последним патчится ядро и RAM-диск:

apply_patch("EMMC:/dev/block/platform/msm_sdcc.1/by-name/boot:..., package_extract_file("patch/boot.img.p"));

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

package_extract_dir("system", "/system");
rename("system/app/KoreanIME.apk", "system/app/KoreanIME/KoreanIME.apk");
rename("system/framework/wm.odex", "system/framework/arm/wm.odex");
...

Удаляются ненужные файлы, расставляются симлинки, права доступа и флаги (здесь на многоточие заменены именно права доступа и флаги):

delete("/system/etc/firmware/wcd9320/wcd9320_mbhc.bin", ...);
symlink("/data/misc/audio/mbhc.bin", "/system/etc/firmware/wcd9320/wcd9320_mbhc.bin");
symlink("/data/misc/audio/wcd9320_anc.bin", "/system/etc/firmware/wcd9320/wcd9320_anc.bin");
...
set_metadata_recursive("/system/bin", ...);
set_metadata("/system/bin/app_process32", ...);

Прошиваются бутлоадер и сопутствующие разделы:

package_extract_file("bootloader-flag.txt", "/dev/block/platform/msm_sdcc.1/by-name/misc");
package_extract_file("bootloader.aboot.img", "/dev/block/platform/msm_sdcc.1/by-name/aboot");
package_extract_file("bootloader.rpm.img", "/dev/block/platform/msm_sdcc.1/by-name/rpm");
...

Патчится радио/модем:

apply_patch("EMMC:/dev/block/platform/msm_sdcc.1/by-name/modem:..., package_extract_file("radio.img.p")); 

Последним меняется build.prop, в который записывается в том числе новая версия прошивки. Сделано это для того, чтобы при возникновении ошибки на самом последнем этапе, когда почти все файлы уже перенесены, прервать обновление и сохранить номер текущей версии прошивки в файле на устройстве. Тогда при нажатии кнопки «Проверить обновление» можно запустить его снова.

apply_patch("/system/build.prop", "-", ..., package_extract_file("patch/system/build.prop.p"));
set_metadata("/system/build.prop", ...); 

В конце скрипта раздел /system перемонтируется, и начинается проверка правильности применения обновления, сверяется SHA-1 хеш новых файлов и /system размонтируется:

unmount("/system");
mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system", "");
assert(sha1_check(read_file("/system/app/CalendarGooglePrebuilt/CalendarGooglePrebuilt.apk"), ...));
assert(sha1_check(read_file("/system/app/CaptivePortalLogin/CaptivePortalLogin.apk"), ...));
...
unmount("/system");

После чего устройство перегружается в новую систему.


Updater-script как он есть

Кастомный recovery

До недавнего времени прошить архив ОТА-обновления в большинстве случаев (если не было проверки recovery для его замены) можно было из кастомного recovery, просто закинув файл на устройство и выбрав install zip. Но начиная со скрипта для обновления 5.0 скрипт поменялся. Предыдущие версии проверяли файл /system/build.prop:

file_getprop("/system/build.prop", "ro.build.fingerprint")

Текущие скрипты проверяют не файл, а значение системной переменной напрямую, запрашивая его у recovery:

getprop("ro.build.fingerprint")

А если разобрать кастомный recovery (для примера TWRP версии 2.8.0.0), то можно увидеть следующие строки:

ro.build.description=omni_hammerhead-eng 4.4.4 KTU84P eng.dees_troy.20140910.125240 test-keys
ro.build.fingerprint=Android/omni_hammerhead/hammerhead:4.4.4/KTU84P/eng.dees_troy.20140910.125240:eng/test-keys

Версия TWRP 2.8.6.1 имеет в коде следующие строки (обрати внимание на слово omni во второй строке, разработчик TWRP с ником Dees Troy — еще и один из активных разработчиков OmniROM):

ro.build.id=LRX22G
ro.build.display.id=omni_hammerhead-eng 5.0.2 LRX22G eng.dees_troy.20150403.145211 test-keys
ro.build.version.incremental=eng.dees_troy.20150403.145211

А последние версии CWM Touch и Philz подписаны так:

ro.build.description=hammerhead-user 4.4 KRT16M 893803 release-keys
ro.build.fingerprint=google/hammerhead/hammerhead:4.4/KRT16M/893803:user/release-keys

Именно эти значения и возвращает при проверке скрипт, прерывая обновление в самом начале и выдавая ошибку о несоответствии версии Android на устройстве.


Вот какой ответ ты получишь при попытке установить обновление 5.0.2 на Nexus 7 из кастомного recovery

Обновление 4.4.3–4.4.4

Для сравнения можно привести предыдущее обновление с версии KTU84M на KTU84P. Обновление мелкое и весит всего 2,5 Мб. В основном касается улучшений безопасности. Если открыть архив, то можно увидеть, что патчится только небольшое количество системных файлов и радио, соответственно, скрипт и проверяет только их. Это обновление нормально устанавливалось с рутом, кастомным ядром и работающим Xposed Framework, так как на наличие изменений все это не проверяется.

Обновление для Nexus 6 и Nexus 9

У последних устройств от Google структура скрипта в корне другая. Для этих и (судя по всему) последующих устройств Nexus Google добавила в сборочный скрипт, формирующий ОТА-обновление, функцию генерации поблочного обновления. Такое обновление сверяет и обновляет не отдельные файлы, а блоки в файловой системе /system. Далее в примере «66,…,524256» — это длинные списки адресов блоков:

if range_sha1("/dev/block/platform/msm_sdcc.1/by-name/system", "66,...,524256") == "..." then
block_image_update("/dev/block/platform/msm_sdcc.1/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat");

Это позволило инженерам Google существенно упростить и ускорить применение ОТА-обновления для конечных устройств, а сам updater-script теперь занимает всего 5 Кб. Но это обернулось головной болью для продвинутых пользователей. Ведь теперь любые изменения в системном разделе вызовут сбой. Включая наличие лишних файлов. Даже факт монтирования системы как R/W приведет к изменению хеша суперблока ФС.

Заключение

Подводя итоги статьи, можно сделать следующие выводы:

  1. Права суперпользователя сами по себе не влияют на успешное применение обновления. Влияют те изменения, которые пользователь и программы вносят в систему, имея эти права. Часто эти изменения невозможно отследить и вернуть.
  2. Повлияют ли root и внесенные в систему изменения на успешное обновление, зависит каждый раз от того, что именно меняется в системе при обновлении и какие файлы проверяет скрипт. Если система менялась, замораживались/отключались ненужные системные приложения через Titanium Backup, менялись ядра, ставился кастомный recovery, Xposed Framework, Lucky Patcher, freedom, franco.Kernel updater, моды на звонилку и всяческие улучшалки для звука, другая бутанимация, системные шрифты и так далее. Все это может повлиять на обновление.
  3. При модификации системы всегда оставляй оригинальные файлы для бэкапа, если хочешь обновляться через ОТА. Копируй в облако, переименовывай как угодно. Можно сделать Nandroid-бэкап раздела /system (о Nandroid читай в предыдущем номере).
  4. Если помнишь, что менял в системе, можно откатиться назад почти всегда. Recovery всегда пишет ошибку, на что ругается обновление. Погуглив название файла в ошибке, иногда можно найти, какая прога его меняет. Например, /system/bin/thermal-engine-hh и /system/lib/power.msm8974.so заменяет franco.Kernel updater и не возвращает его даже при прошивке стокового ядра и сносе самого приложения.
  5. Для успешного применения ОТА необходимо вернуть в систему оригинальные файлы. Самый верный способ — это прошить system.img, стоковое ядро и recovery перед тем, как устанавливать обновление (данные и приложения не потеряются).
  6. Ну и главный вывод. Если есть рут и много модификаций — не мучайся, а сразу шей полный образ новой прошивки, удалив ключ -w в flash-all.bat для сохранения данных. Начиная с обновления до версии 5.0, остается очень маленькая вероятность обмануть скрипт. Да и следующее обновление может иметь «блочную» структуру, которая подразумевает наличие только полного стока для применения.

Пара слов от редактора

До недавнего времени OTA-обновления в каcтомных прошивках (CyanogenMod, Paranoid) всегда приходили в виде zip’а с полной версией прошивки и было абсолютно неважно, какие изменения вносились в систему до этого. Прошивка всегда устанавливалась заново (с сохранением данных юзера и gapps, естественно), однако в CyanogenMod 11 появилась функция инкрементальных обновлений, но гораздо более простая в сравнении с той, что используется Google. Обновление просто проверяет целостность прошивки и заменяет те файлы, которые изменились с прошлой версии (обычно ночной сборки), без всяких патчей. Причем, если ты пропустишь одно из обновлений, следующее по старинке придет в виде полного обновления. Просто и удобно.

Более интересный метод используется в OmniROM. Для обновления она использует бинарные патчи, но совсем не так, как это делает Google. Первое OTA-обновление всегда скачивается полностью, после чего сохраняется на карте памяти, прошивается, но не удаляется с карты. Следующее OTA-обновление уже приходит в виде единого бинарного патча, после чего патч накладывается на сохраненное в прошлый раз на карте памяти обновление и уже оно прошивается. Изюминка этого метода в том, что патч накладывается не на систему, а на файл с прошлым обновлением и смартфон каждый раз прошивается как бы с нуля (но с сохранением данных и настроек). Почти идеальный метод — трафик экономится, а беспокоиться о конфликтах с измененной системой не надо.


Экран установки обновлений в CyanogenMod 12

image

Впервые опубликовано в журнале Хакер #196.
Автор: Дмитрий «BRADA» Подкопаев

Подпишись на «Хакер»

  • Материалы сайта
  • Бумажный вариант
  • «Хакер» на iOS/iPad
  • «Хакер» на Android

Ошибка 7 при прошивке


Ошибка 7 при прошивке. Довольно часто при установке пользовательских прошивок (в частности LineageOS) на рутированных смартфонах или планшетах Android можно столкнуться с «ошибкой 7». Ошибка 7 в TWRP Recovery возникает, когда в скрипте прошивки отсутствует название модели вашего телефона, или название есть, но прошивка предназначена для иной модификации устройства (многие модели смартфонов имеют несколько версий — например, для работы в сетях разных операторов, и устанавливать нужно именно «свою» прошивку). 

Ошибка 7 при прошивке

За правильностью выбора прошивки отвечает механизм защиты «Asserts«. Скрипт проверяет модель устройства и версию прошивки по системной переменной ro.build.fingerprint, запрашиваемой у самого recovery. В случае совпадения кодов он выдает подтверждение легитимности установки, а при несовпадении (отсутствии) не подтверждает возможность этого действия. В результате вы видите ошибку 7, но зато ваш аппарат не превращается в кирпич.Бывают и такие случаи, когда даже при правильном выборе прошивки для своего устройства вы все равно получаете сообщение об ошибке 7. Они крайне редки и связаны с ошибкой разработчика прошивки. 

Ошибка 7 при прошивке

Чтобы исправить ошибку 7 необходимо, прежде всего, убедиться в том, что вариант прошивки выбран правильно, и она предназначена именно для вашей модели и модификации Android-смартфона или планшета. Если ошибка все равно появляется, придется править файл updater-script, отвечающий за соответствие версий прошивки и устройства. 

Как исправить ошибку 7 при прошивке в TWRP?

  1. Скопируйте ZIP-файл ROM на свой компьютер и извлеките его, используя привычный для вас архиватор (например, 7-zip). 
  2. После распаковки найдите папку META-INF и пройдите по цепочке META-INF / com / google / android. В последней папке вы найдете два файла под названием «update-binary» и «updater-script». Нас интересует последний. 
  3. Переименуйте «updater-script» в «updater-script.txt» и откройте свой любимый редактор текстовых файлов (как вариант, Notepad++).
  4. Избавьтесь от строк, начинающихся с «assert» до точки с запятой. Обычно это первая или несколько первых строк в верхней части текстового файла. Просто удалите их.
  5. Сохраните файл.
  6. Переименуйте «updater-script.txt» обратно в «updater-script».
  7. Обновите все файлы, которые вы распаковали.
  8. Скопируйте новый, отредактированный zip-файл на свой телефон.
  9. Переведите Android-устройство в режим recovery и попробуйте его перепрошить — ошибка 7 не должна больше вас беспокоить.


Содержание

  • 1 Из-за чего происходит сбой?
  • 2 Как исправить installation aborted?
  • 3 Ставим CMW
  • 4 Ошибка Installation Aborted при прошивке: что это в общем понимании?
  • 5 Installation Aborted при прошивке: что делать?
  • 6 Блокировка
  • 7 Обновление операционной системы
  • 8 Вопросы установки CMW
  • 9 Восстановление заводской прошивки
  • 10 Вместо итога
    • 10.1 Откуда взялась ошибка 7?
    • 10.2 Как исправить Ошибку 7 при прошивке в Recovery?

Гаджеты на платформе Андроид предоставляют пользователям практически безграничные возможности. На сегодняшний день, это одна из самых популярных операционок, занимающая в мире лидирующие позиции. Чтобы обезопасить неопытных юзеров от выполнения потенциально опасных действий, Андроид имеет несколько действенных механизмов защиты. Например, для того чтобы перепрошить устройство кастомной прошивкой, нужно обойти их все. Если не делать этого, то в процессе появится сообщение об ошибке, и процедура прервется. Итак, что же делать, если появилась надпись «Installation aborted» при прошивке телефона.

Из-за чего происходит сбой?

Являясь одним из механизмов защиты устройства от вмешательства неопытных юзеров, сообщение “installation aborted” (установка прервана) защищает девайс. Ведь неправильные действия при перепрошивке или использование неподходящего ПО превратят гаджет в «кирпич». Вывести его из этого состояния ой как непросто. Частенько с проблемой сталкиваются при кастомной (неофициальной) прошивке, ведь с официальным обновлением таких проблем нет, и оно производится в обычном режиме телефона.

Ошибка Installation aborted (Status 7) при прошивке Андроид

Итак, далее в статье мы рассмотрим все моменты, которые помогут избавиться от сброса установки. Вот что мы будем проверять:

  1. Прошивка (update.zip). Она должна подходить именно под вашу модель телефона, в противном случае проблем не избежать.
  2. Смена Recovery на кастомную (неофициальную). Рассмотрим установку CWM (Clockworkmod).

Вот так выглядит минимальный набор составляющих. В зависимости от способа прошивки, количество необходимых элементов возрастает.

Как исправить installation aborted?

Обратите внимание, что все процедуры выполняются на свой страх и риск. Также, на девайсы с неофициальной прошивкой и измененным Recovery не распространяется гарантийное обслуживание. Не забывайте, что, помимо установки с памяти телефона, существуют разные способы прошивки, например, через консоль Windows. Установка прошивки с корня карты памяти – порядок действий:

  1. Скачать прошивку и скопировать ее в корень телефона.
  2. Перезагрузить телефон и зайти в режим Recovery.
  3. Выполнить чистку кеша и системных файлов (wipe cache и wipe user data).
  4. Активировать процесс прошивки.
  5. Дождаться завершения и перезагрузить девайс.

Если у вас все заранее настроено и подготовлено, то установка завершится успешно. Но если этого не произошло, то вы забыли заменить рекавери. Если на девайсе перед сообщением об отмене прошивки указана ошибка Status 7, то это говорит про:

  • несовместимости ROM-файла с девайсом;
  • отсутствие указанных моделей в файлах прошивки;
  • устаревшей версии оболочки Recovery.

Поэтому убедитесь в полной совместимости.

Ставим CMW

Для начала нужно рутировать устройство. Полный доступ можно открыть при помощи следующего софта: Framaroot, Kingroot, Towelroot и многие другие. Надо проинсталлировать софт, открыть приложение, активировать root-права. Если решить вопрос через установку ПО не удалось, то искать способ, подходящий именно для вашего девайса. Установка неофициального Recovery рекомендовано выполнять через специальные утилиты. Это проще и надежнее, однако, увы, не всегда удается. Давайте рассмотрим этот вариант:

  1. Скачиваем, например, Rom Manager и открываем его.
  2. Выбираем раздел «Режим Восстановления» (или Recovery), а здесь Recovery Setup, а после – ClockworkMod Recovery.
  3. Находим модель девайса в каталоге, и соглашаемся на выполнение процедуры.
  4. Перезагружаем аппарат.

Иногда необходимо подписать прошивку. В принципе, из-за этого часто и появляется ошибка “installation aborted”. О том, как и когда подписывают прошивку здесь:

Если не все пользователи Android-систем, то многие из тех, кто занимается установкой кастомных (неоригинальных) прошивок, знают, что появление ошибки Installation Aborted при прошивке — явление достаточно распространенное. И связано это отнюдь не с устанавливаемыми данными, а с самой версией операционной системы. Большинство пользователей запускают данный процесс, совершенно не задумываясь о возможных последствиях. А они могут быть весьма печальными (если даже прошивка не установится, система может просто «вылететь», а после этого придется восстанавливать заводскую настройку с полной потерей пользовательских данных и любой другой связанной информации).

Ошибка Installation Aborted при прошивке: что это в общем понимании?

Давайте начнем с разъяснения самого термина. Что означает ситуация, когда мобильное устройство при прошивке через рекавери пишет Installation Aborted, понять, в общем-то, нетрудно.

Достаточно просто перевести сообщение с английского языка на русский. Получите уведомление о том, что установка прервана. Но почему происходит такой сбой? Об этом и многом другом предлагается почитать в материале, который представлен ниже. К тому же, обычная отмена установки это еще на самое страшное, чего можно добиться при проведении таких действий. Дело в том, что Android-системы достаточно чутко реагируют на какие бы то ни было изменения, и могут работать только с выбранными устройствами, для которых может быть использована лишь определенная версия операционной системы. Относительно устаревшие ОС и девайсы поддержки в плане обновления именно операционной системы практически не имеют. Апдейты касаются только встроенных служб и пользовательских приложений, но не более того. Обновить операционную систему можно только до определенного поддерживаемого уровня.

Installation Aborted при прошивке: что делать?

Понятно, что при установке официальных обновлений, поддерживаемыми операционными системами Android, сбоев подобного рода не возникает. Единственная ситуация, когда система при установке прошивки пишет Installation Aborted, связана только с тем, что пользователь инсталлирует Firmware самостоятельно.

В принципе, это есть некая защитная функция, похожая на появление синего экрана в Windows-системах. Только Android ведет себя намного скромнее.

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

Блокировка

Иногда при установке прошивки Installation Aborted сигнализирует еще и о том, что оригинальный файл апдейта был помещен не в ту область, которая воспринимается устройством, как резерв по умолчанию.

Как правило, дабы избежать появления сбоя Installation Aborted при прошивке смартфона или планшета, изначально файл Update.zip следует помещать в корневой каталог внутреннего накопителя (Android). Только после этого можно производить дополнительные действия.

Обновление операционной системы

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

Это сродни тому, как на стационарных компьютерах пытаться перепрыгивать с Windows XP на Windows 10. Сначала для самой ОС Android нужно установить обновление, которое поддерживается и системой, и аппаратом, а только после этого начинать перепрошивать девайс.

Одним из самых основных условий успешного окончания процесса многие специалисты называют еще и высвобождение места на внутреннем накопителе. Не смотрите на то, что места на нем достаточно. Самая основная проблема состоит в том, что на нем имеются неудаленные данные кэша, которые воспринимаются системой как самый настоящий мусор, хотя об этом она может и не сигнализировать.

Таким образом, одним из вариантов устранения сбоя Installation Aborted при прошивке, станет изначальное удаление данных такого типа. Использовать можно стандартные настройки, откуда производится переход к разделу приложений с выбором пункта «Все» и последующей очисткой кэша каждого апплета, представленного в списке.

Намного лучше (и это облегчает задачу), если у пользователя на телефоне или планшете установлено приложение-оптимизатор. Такие апплеты, в общем-то, ведут себя достаточно корректно. Правда, вопросы очистки иногда вызывают законные сомнения, поскольку на экране приложения пользователь видит одно, а на самом деле ничего толком и не происходит. Не верите? Посмотрите в любом файловом менеджере на каталоги DCIM и 100ANDRO, которые расположены непосредственно на внутреннем накопителе, где установлена сама операционная система.

Вопросы установки CMW

Еще один момент, связанный с возможностью устранения проблемы появления ошибки Installation Aborted при прошивке, относится к вопросам установки модуля CMW, который для проведения подобных операций крайне необходим. Его инсталляция позволит избежать появления проблем, связанных с несовместимостью ROM-накопителей. Вот только для его использования изначально необходимо получить так называемые права root.

В самом простом варианте можно использовать программу Kingo Root, которая изначально устанавливается на персональный компьютер или ноутбук. После подключения мобильного устройства произойдет загрузка рутирующего драйвера, а затем мобильный апплет инсталлируется и на мобильный девайс (на компьютере будет выдано подтверждение непосредственно в программе). После этого достаточно будет просто запустить соответствующий мобильный апплет, чтобы выполнить дальнейшие действия.

Они состоят в том, чтобы установить Rom Manager, а в режиме Recovery, используя раздел Setup, перейти к меню ClockworkMod Recovery, найти свою модель мобильного устройства в представленном списке и согласиться на проведение дальнейших операций.

Восстановление заводской прошивки

Бывает и такой подход не срабатывает, поскольку иногда представленные решения можно использовать только на оригинальных прошивках. Сброс параметров на телефоне или планшете ничего толком не даст.

Поэтому желательно сразу установить программу, наиболее соответствующую вашему устройству (Xperia Companion, Samsung Kies и т. д.), и произвести восстановление заводской прошивки через интернет именно с ее помощью. И только после этого можно приступать к установке новой прошивки, если таковая необходима.

Вместо итога

Таково решение ошибки Installation Aborted при прошивке. Что делать, думается, уже понятно. А вообще, по большому счету, стоит сказать, что заниматься перепрошивкой мобильного устройства с использованием неподдерживаемых версий Firmware не рекомендуется вообще. Так ведь можно, что называется, просто угробить девайс. Устанавливать прошивку можно только лишь в том случае, если она действительно взята из официального источника и полностью совместима с моделью девайса, который предполагается перепрошить. В противном случае никаких подобных действий производить даже не пытайтесь.

вкл. 04 Март 2017 . Опубликовано в Android — Общее

Ошибка 7 при прошивке через рекавери (TWRP, CWM Recovery). Решили установить кастомную прошивку на свой Android смартфон или планшет, вошли в кастомное TWRP Recovery, но во время установки получили ошибку 7? Не отчаивайтесь исправить данную проблему довольно просто.

Многих новичков может обескуражить какие либо действия в установке кастомной прошивки, особенно если это процедура выполняется первый раз. Одним из серьезных препятствий во время установки прошивки может стать ошибка 7 в TWRP Recovery. Серьезность этой ошибки в том, что она не позволяет вообще установить кастомную прошивку на устройство и вся ваша подготовка пойдет насмарку. Но оказывается что данную ошибку 7 в recovery довольно легко исправить не прибегая к длительным действиям! О том как избавится от данной проблемы и посвящена сегодняшняя статья!

Откуда взялась ошибка 7?

Данная ошибка может возникнуть в двух случаях:

Как исправить Ошибку 7 при прошивке в Recovery?

Вариант 1 (действие 1)

Если вы уже прочитали как могла возникнуть ошибка 7, то самым первым вашим действием будет проверка действительно вы скачали прошивку именно для вашей модели смартфона или планшета (проверить наименование и версию).

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

Вариант 2 (действие 2)

1. Установите Notepad ++
2. Открываем прошивку и переходим по пути META-INFcomgoogleandroid
3. Извлекаем файл updater-script

4. Удалить вначале устанавливающего скрипта строки начинающиеся на assert

5. Сохранить документ и забросить обратно в прошивку заменив старый файл
6. Удалить в прошивке файлы по пути META-INF — CERT.RSA, CERT.SF, MANIFEST.MF

7. Забросить готовую прошивку на устройство, перевести в режим Recovery и попробовать снова прошить Android

Уф.. С чего начать то..
Купил жене HTC Droid Eris (CDMA)… Вот..
Руки чесались в нем поковыряться и вместо Android 2.1 поставить Android 2.3
С другом, у которого такой же Droid Eris, с горем пополам поставили на него ClockworkMod Recovery v2.5.0.1 Времени не хватало, поэтому сделали с его карточки backup со старой прошивкой 2.1.
Телефон работал, но руки чесались поставить 2.3
Скачал cm-7-20130101-NIGHTLY-desirec. Залил на карту памяти. Зашел в Recovery — Install zip from sdcard — choose zip from sdcard…выбрал архив с прошивкой и …

— Instaling: cm-7-20130101-NIGHTLY-desirec.zip
Finding update package…
Opening update package…
Installing update…
assert failed: write_raw_image(«/tmp/boot.img». «boot»)
E:Error in /sdcard/cm-7-20130101-NIGHTLY-desirec.zip
(Status 7)
Installation aborted.

Я не дурак.. Понимаю, что все идет не по плану. Решил сделать backup, но оказалось, что перед тем, как шаманить я его не сделал… Прошу друга прислать мне backup со своего телефона. Он присылает. Я заливаю его на флэшку. Захожу в recovery — nandroid — Restore — выбираю прошивку и….

Cheking MD5 sums…
Erasing boot before restore…
restoring boot image…
Error ehile flashing boot image!

Решаю сбросить настройки…

wipe data/factory reset

— Wiping data…
Formatting DATA:…
Formatting CACHE:…
Formatting SDEXT:…
No app2sd partition found. Skipping format of /sd-ext.
Formatting SDCARD:/.android_secure…
Data wipe complete.

Телефон не реагрует, не загружается. Все советы ведут к «Скачайте программу. В настройках телефона укажите USB отладка»… А как мне все это сделать, если телефон не грузится.. Помогите пож.. Жена догадывалась, что я покупаю телефон не ей, а себе новую игрушку, в котоорой можно поковыряться… =)

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

The explanation is simple, as I have suspected, there’s a verification mis-match in the build.prop, see below,

Starting recovery on Fri Jan  4 20:43:32 2013
can't open /dev/tty0: No such file or directory
framebuffer: fd 3 (480 x 800)
ClockworkMod Recovery v5.0.2.0
recovery filesystem table
=========================
  0 /tmp ramdisk (null) (null)
  1 /sdcard vfat /dev/block/platform/s3c-sdhci.0/by-name/media (null)
  2 /system ext4 /dev/block/platform/s3c-sdhci.0/by-name/system (null)
  3 /cache yaffs2 cache (null)
  4 /data ext4 /dev/block/platform/s3c-sdhci.0/by-name/userdata (null)
  5 /misc mtd misc (null)
  6 /boot mtd boot (null)
  7 /recovery mtd recovery (null)
  8 /bootloader mtd bootloader (null)
  9 /radio mtd radio (null)

W:Unable to get recovery.fstab info for /sd-ext during fstab generation!
I:Completed outputting fstab.
I:Processing arguments.
Fixing execute permissions for /cache
mtd: successfully wrote block at 0
I:Set boot command "boot-recovery"
I:Checking arguments.
I:device_recovery_start()
Command: "/sbin/recovery"

ro.secure=0
ro.allow.mock.location=1
ro.debuggable=1
persist.service.adb.enable=1
ro.build.id=GRJ22
ro.build.display.id=GRJ90
ro.build.version.incremental=121341
ro.build.version.sdk=10
ro.build.version.codename=REL
ro.build.version.release=2.3.5
ro.build.date=Mon Sep  5 11:04:10 PDT 2011
ro.build.date.utc=0
ro.build.type=eng
ro.build.user=koush
ro.build.host=Koushik-Lion.local
ro.build.tags=test-keys
ro.product.model=Nexus S
ro.product.brand=google
ro.product.name=soju
ro.product.device=crespo
ro.product.board=herring
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=samsung
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=s5pc110
ro.build.product=crespo
ro.build.description=soju-user 2.3.4 GRJ22 121341 release-keys
ro.build.fingerprint=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys
rild.libpath=/vendor/lib/libsec-ril.so
rild.libargs=-d /dev/ttyS0
ro.sf.lcd_density=240
keyguard.no_require_sim=true
ro.opengles.version=131072
wifi.interface=eth0
wifi.supplicant_scan_interval=15
dalvik.vm.heapsize=32m
ro.rommanager.developerid=cyanogenmod
ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html
ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html
ro.com.google.clientidbase=android-google
ro.com.android.wifi-watchlist=GoogleGuest
ro.setupwizard.enterprise_mode=1
ro.com.android.dateformat=MM-dd-yyyy
ro.com.android.dataroaming=false
ro.config.ringtone=Playa.ogg
ro.config.notification_sound=regulus.ogg
ro.config.alarm_alert=Alarm_Beep_03.ogg
ro.ril.enable.managed.roaming=1
ro.ril.oem.nosim.ecclist=911,112,999,000,08,118,120,122,110,119,995
ro.ril.emc.mode=2
ro.modversion=CyanogenMod-7.1.0-RC1-NS-KANG
ro.kernel.android.checkjni=1
ro.setupwizard.mode=OPTIONAL
dalvik.vm.dexopt-flags=m=y
net.bt.name=Android
net.change=net.bt.name
dalvik.vm.stack-trace-file=/data/anr/traces.txt
ro.factorytest=0
ro.serialno=3334E1630CFF00EC
ro.bootmode=unknown
ro.baseband=I9020XXKI1
ro.carrier=ATT
ro.bootloader=I9020XXKL1
ro.hardware=herring
ro.revision=16
init.svc.recovery=running
init.svc.adbd=running

I:Checking for extendedcommand...
I:Skipping execution of extendedcommand, file not found...
mtd: successfully wrote block at 0
I:Set boot command ""

-- Installing: /sdcard/VQ8PQk_V.zip
mtd: successfully wrote block at 0
I:Set boot command "boot-recovery"
Finding update package...
I:Update location: /sdcard/VQ8PQk_V.zip
Opening update package...
Installing update...
script aborted: assert failed: file_getprop("/system/build.prop", "ro.build.fingerprint") == "google/soju/crespo:2.3.6/GRK39F/189904:user/release-keys" ||
       file_getprop("/system/build.prop", "ro.build.fingerprint") == "google/soju/crespo:4.0.3/IML74K/239410:user/release-keys"
assert failed: file_getprop("/system/build.prop", "ro.build.fingerprint") == "google/soju/crespo:2.3.6/GRK39F/189904:user/release-keys" ||       file_getprop("/system/build.prop", "ro.build.fingerprint") == "google/soju/crespo:4.0.3/IML74K/239410:user/release-keys"
E:Error in /sdcard/VQ8PQk_V.zip
(Status 7)
Installation aborted.
mtd: successfully wrote block at 0
I:Set boot command ""

The ro.build.fingerprint contains this google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys but the update performed a verification check on the fingerprint which resulted in mis-match and there-by producing Error code 7.

Notice the last few lines of the recovery.log, i.e. the update was expecting the handset to have this version of Gingerbread — google/soju/crespo:2.3.6/GRK39F/189904:user/release-keys OR expecting Ice Cream Sandwich google/soju/crespo:4.0.3/IML74K/239410:user/release-keys

This is meaning, that the version of Gingerbread on your handset is too old for the update to work. (Its Gingerbread 2.3.4 that is on it!) am not 100% sure how this recovery is showing the fingerprint as GB 2.3.4 if the OP states in the comments that the handset is running ICS 4.0.1

So to resolve the issue, you need to flash to Gingerbread v 2.3.6 Ice Cream Sandwich v.4.0.3 first, then apply the update and it should work then.

Edit

It transpires the OP is running ICS v. 4.0.1, the update script was performing a check for either 2.3.6 or 4.0.3 which is something that I have missed inadvertently.

  1. Home
  2. chevron_right
  3. Полезности для Android
  4. chevron_right
  5. Ошибка Status 7 в TWRP – быстрое решение

Если во время установки неофициальной (кастомной) прошивки вы столкнулись с ошибкой Status 7 – обязательно нужно перепроверить прошивку, убедиться, что она предназначена именно для вашего устройства и по возможности перекачать её.

Ошибка Status 7 в TWRP – быстрое решение

Исправляем Status 7 через NotePad

Если в TWRP ошибка 7 остаётся после тщательной проверки – сделайте полный бекап вашей системы, после сохранения можно будет исправлять ошибку.

Чтобы в TWRP ошибка 7 больше не появлялась, понадобится открыть архив с прошивкой, достать из неё updater-script и убрать из скрипта проверку модели.

Внимание! Если вы установите прошивку, не предназначенную для своего устройства, возможен полный выход смартфона из строя!

  • Откройте .zip архив прошивки, перейдите по пути “META-INF/com/google/android” и вытащите updater-script
  • Откройте его с помощью NotePad++
  • Удалите строки проверки модели, как на картинке

Ошибка Status 7 в TWRP – быстрое решение

  • Сохраните файл
  • Замените им updater-script в архиве прошивки
  • Устанавливайте

Готово! После удаления проверки модели Status 7 в TWRP вас не побеспокоит.

Решили установить кастомную прошивку на свой Android смартфон или планшет, вошли в кастомное TWRP Recovery, но во время установки получили ошибку 7? Не отчаивайтесь исправить данную проблему довольно просто.

Многих новичков может обескуражить какие-либо действия в установке кастомной прошивки, особенно если это процедура выполняется первый раз. Одним из серьезных препятствий во время установки прошивки может стать ошибка 7 в TWRP Recovery.

Серьезность этой ошибки в том, что она не позволяет вообще установить кастомную прошивку на устройство и вся ваша подготовка пойдет насмарку. Но оказывается что данную ошибку 7 в recovery довольно легко исправить не прибегая к длительным действиям! О том как избавится от данной проблемы и посвящена сегодняшняя статья!

Данная ошибка может возникнуть в двух случаях:

  1. Если вы попытаетесь установить прошивку не от своего устройства, такое часто возникает, когда под одним наименованием смартфона или планшета может быть множество моделей с небольшими отличиями под определенные рынки (например смартфон LG G2 имеет модели VS980, LS980, D800, D802, F320K). Убедитесь что прошивка предназначена именно для вашего устройства!
  2. В скрипте установке прошивки не внесено название модели вашего Android смартфона или планшета.

Как исправить Ошибку 7 при прошивке в Recovery?

Вариант 1 (действие 1)

Если вы уже прочитали как могла возникнуть ошибка 7, то самым первым вашим действием будет проверка действительно вы скачали прошивку именно для вашей модели смартфона или планшета (проверить наименование и версию).

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

Вариант 2 (действие 2)

Попробуйте отыскать в сети интернет более новую версию кастомного Recovery и после установить ее на свой девайс, после чего попробовать установить прошивку, что выдавала ранее ошибку 7.

Вариант 3 (действие 3)

  1. Установите Notepad ++
  2. Открываем прошивку и переходим по пути META-INFcomgoogleandroid
  3. Извлекаем файл updater-scriptОшибка 7
  4. Удалить вначале устанавливающего скрипта строки начинающиеся на assertОшибка 7
  5. Сохранить документ и забросить обратно в прошивку заменив старый файл
  6. Удалить в прошивке файлы по пути META-INF — CERT.RSA, CERT.SF, MANIFEST.MF2016-10-04_11-45-13
  7. Забросить готовую прошивку на устройство, перевести в режим Recovery и попробовать снова прошить Android

У вас еще остались вопросы? Пишите их в комментариях, рассказывайте, что у вас получилось или наоборот!

Вот и все! Больше статей и инструкций читайте в разделе Статьи и Хаки Android. Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней!

Понравилась статья? Поделить с друзьями:
  • Error in samdump2
  • Error in rsync protocol data stream code 12 at io c 600
  • Error in resource files pubg что делать
  • Error in resource files pubg code 00000d06 0021
  • Error in resource files pubg code 00000d04 0021 ошибка