O que precisa ser feito é agrupar o boot.img e construir um novo arquivo zip adequado para piscar via ClockworkMod ou TWRP.
Pré-requisitos :
- um ambiente Linux que possui os pacotes de desenvolvimento habituais, como o Java instalado. ( Ele também pode aplicar para outras plataformas, apenas ter cuidado para que as instruções aqui indicando o caminho utilizado abaixo, usa uma barra
/
, assim que virar essa volta a ser uma barra invertida \
para ambiente Windows especialmente! )
- ferramenta de linha de comando adb instalada.
- `testsign.jar' ferramenta , para a assinatura do arquivo zip para que a recuperação pode autenticar e verificar se ele é um arquivo válido de outro modo recuperação irá relatar arquivo corrompido ou similar.
update-binary
aplicativo de linha de comando , interno para uso com o script flashable. (Isso pode ser encontrado com qualquer zip flexível, o importante é extrair esse binário e depositado na estrutura do diretório, como mostrado)
- ferramenta de linha de comando zip.
Supondo que seu diretório seja chamado workdir , para discussão, vamos chamá-lo de diretório ativo , copiá-lo boot.img
para esse diretório e criar a seguinte estrutura de diretórios - META-INF/com/google/android
isso é importante! E dentro do META-INF/com/google/android
, copie o aplicativo binário chamado update-binary
nesse diretório. Portanto, a estrutura de diretórios deve ser assim:
+ workdir/
+
|
+--+ boot.img
|
|
+--+ META-INF/
+
|
+--+ com/
+
|
+--+ google/
+
|
+--+ android/
+
|
+--> update-binary
|
+--> updater-script
Quanto ao updater-script
, copie o conteúdo do seguinte abaixo:
ui_print("Please wait, boot.img being flashed...");
show_progress(0.1, 0);
assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image("/tmp/boot.img", "boot"),
delete("/tmp/boot.img"));
show_progress(0.1, 10);
ui_print("It is now safe to reboot! :)");
Lembre-se: não se confunda aqui, o script atualizador, como mostrado, deve ser deixado sozinho e como está; portanto, não tente inverter a barra para a barra invertida se estiver fazendo isso no ambiente Windows.
Volte para o pai da estrutura de diretórios, ou seja, fora do workdir e faça o seguinte, vamos criar um arquivo zip a partir disso:
zip -r my_custom_flashable_boot_unsigned.zip workdir/
que é uma função recursiva, isso compactará tudo no arquivo chamado my_custom_flashable_boot_unsigned.zip .
Por fim, para assinar o arquivo zip, emita o seguinte:
java -classpath testsign.jar testsign my_custom_flashable_boot_unsigned.zip my_custom_flashable_boot_signed.zip
Depois, é necessário empurrá-lo pelo SDCard adb push my_custom_flashable_boot_signed.zip /sdcard/
e entrar manualmente em recuperação e especificar o arquivo zip (por exemplo, my_custom_flashable_boot_signed.zip ) no qual ele executará o flash para você.
Se você possui o
flash_image
binário, pode fazê-lo no dispositivo via emulador de terminal (inicialização por flash, depois o restante usando recuperação).Sintaxe:
flash_image boot /sdcard/boot.img
Tempo de auto-promoção
Eu tenho um aplicativo que fornece uma GUI para o binário. Encontre aqui .
Se você não possui esse binário, ele pode ser instalado (pesquise no Google - você precisa baixá-lo e copiá-lo para a
/system/bin
pastaIsso não funciona em todos os dispositivos, no entanto, é a única maneira que vem à mente.
fonte
flash_image
tem uma exigência a ser copiado e invocado a partir do aparelho usandoadb shell
, documentação ( posso acrescentar, você não forneceu o linky!) Está pedindo para remontar o SDCard com conjunto de bits exec (* má idéia ) e requer raizsu
, ou seja , além disso, a "autopromoção" em relação ao seu aplicativo, em euros, de onde eu venho, é de 6,09 euros, o que é caro ... fastboot é a norma, o CM tem suas próprias maneiras peculiares , - o que há de diferente comfastboot
eflash_image
?renomeie o arquivo boot.emmc.win e coloque-o
TWRP/BACKUPS/
(crie uma nova pasta). restaurar o backup do menu TWRP usualfonte