PixelFlasher, a GUI tool for flashing / updating / rooting / managing Pixel phones.

Search This thread

badabing2003

Senior Member
Sep 17, 2012
809
586
Yh wipe is not a problem, i have backups. I should opt out first?
Assuming that your bootloader is unlocked and you have enabled USB debugging
  • select platform tools
  • select device
  • select latest firmware
  • choose wipe-data
  • flash
that should do it
after that if you want to root,
  • install magisk on phone
  • process firmware
  • select boot
  • patch (and follow the guided instructions)
  • you can flash just the patched boot.img in advanced mode, or just hit flash and it will flash full.
 

banshee28

Senior Member
Aug 31, 2010
219
36
NICE! Just went from January update to the latest May! Took about 5 mins, kept data and root!

Fun fact: Took me longer to figure out why phone did not show rooted (x) with Magisk when it was there. Going back and reading the instructions again, I figured it out. Enabled this and checkbox was there!

Thanks!!


1649275803339-png.5581317
 

badabing2003

Senior Member
Sep 17, 2012
809
586
New Release:
May 04, 2022 v3.2.0 release
  • Help menu option to create support.zip file, which sanitizes (redacts user names and device IDs) of the log files.
    This makes it super easy to provide support.zip file when something goes wrong and need to report it.
  • In boot management, delete firmware cache of the selected boot.img if it is the last boot.img used from that firmware.
  • Handle space characters in username.
  • Console is now responsive when processing firmware file.
  • More checks and validations.
  • Update readme with instructions on how to build PixelFlasher on MacOS.
 

Hot-Proton

Senior Member
May 11, 2019
489
97
OnePlus 9 Pro
I have a Pixel 6 and use the latest Windows 11. My Problem ist the first start working but after i selecet plattform tools nothing happens anymore. I only see that the mouse cursor rotates but in the program itself does nothing more. I then closed the program and when I now starts, I only see the PixelFlasher logo, which then closes again. That is, it can no longer be started.
 

badabing2003

Senior Member
Sep 17, 2012
809
586
I have a Pixel 6 and use the latest Windows 11. My Problem ist the first start working but after i selecet plattform tools nothing happens anymore. I only see that the mouse cursor rotates but in the program itself does nothing more. I then closed the program and when I now starts, I only see the PixelFlasher logo, which then closes again. That is, it can no longer be started.
Sorry for your troubles.
Would you know which version you used?
Properties on PixelFlasher.exe should tell you.

Some things you can do.

Open command prompt and run
Code:
adb disconnect
adb kill-server

Make sure there is no other instances (process) of PixelFlasher running, open task manager and kill it if you find any.

Open an explorer window to %APPDATA%
You should see PixelFlasher folder in there, zip that folder and pass it to me so that I can look into it, you can do so privately if you prefer.

Lastly rename that folder to something else, for example PixelFlasher.bak

Make sure you are using the latest version of PixelFlasher

It should work, if there is anything unique about your setup that no one else has experienced, the logs would help me with troubleshooting.

By any chance, is your phone rooted?
If yes, what Magisk modules do you have?
 

Hot-Proton

Senior Member
May 11, 2019
489
97
OnePlus 9 Pro
Sorry for your troubles.
Would you know which version you used?
Properties on PixelFlasher.exe should tell you.

Some things you can do.

Open command prompt and run
Code:
adb disconnect
adb kill-server

Make sure there is no other instances (process) of PixelFlasher running, open task manager and kill it if you find any.

Open an explorer window to %APPDATA%
You should see PixelFlasher folder in there, zip that folder and pass it to me so that I can look into it, you can do so privately if you prefer.

Lastly rename that folder to something else, for example PixelFlasher.bak

Make sure you are using the latest version of PixelFlasher

It should work, if there is anything unique about your setup that no one else has experienced, the logs would help me with troubleshooting.

By any chance, is your phone rooted?
If yes, what Magisk modules do you have?

I use latest Version. Here the Data what you need.
 

Attachments

  • PixelFlasher.rar
    4.9 KB · Views: 8

badabing2003

Senior Member
Sep 17, 2012
809
586
I use latest Version. Here the Data what you need.
Thanks for the files, I see where the problem is, but still don't know why it is not able to handle it, I'll try to reproduce it locally, if I can I'll have a solution.

Code:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe4 in position 113: invalid continuation byte

In the mean time if you rename the PixelFlasher folder in %APPDATA% and move your files, the program, factory file and platform tool to some simple path without Unicode (example c:\temp\...)
You should be able to run.
 

badabing2003

Senior Member
Sep 17, 2012
809
586
New Release:
May 21, 2022 v3.3.1 release
  • Change encoding from utf8 to ISO-8859-1
  • Button to paste the currently selected boot.img into custom flash file selection.
  • Several Mac version improvements, thanks to rhetorican for reporting and testing.
  • UI improvements
  • Fix: On low resolution screens, the application startup position is high enough to clip the top part.
  • Fix: On low resolution screens, the patch icon is too large and dis-proportional to the rest of the UI
  • Better dark mode handling on Mac / Linux
  • Increase the wait during flashing to account for slower devices.
  • Further improvements on support.zip redaction process.
  • Other minor fixes and additional validations.
 

badabing2003

Senior Member
Sep 17, 2012
809
586
support.zip FAQ
Q: What is it?
A: It is a sanitized (sensitive information like username or device id redacted) logs to help understand / troubleshoot in case anything goes wrong.

Q: What good is it?
A: See this response

Q: Do I really have to provide one?
A: No, but it helps the community if you do (help me help you and the community, win-win).

Q: How do I get one?
A: PixelFlasher | Help Menu | Create a Sanitized support.zip submenu
support-zip.png


Q: What's in a log file?
A: Let's take a look at a support.zip file provided by freonchill in this post for the issues experienced in this post.

Unzipping the support.zip we get:
Code:
support.zip
│   PixelFlasher.db
│   PixelFlasher.json
│
└───logs
        PixelFlasher_2022-05-21_17h16m03s.log
        PixelFlasher_2022-05-21_17h27m32s.log
        PixelFlasher_2022-05-21_22h19m08s.log
        PixelFlasher_2022-05-22_06h20m13s.log

PixelFlasher.json is merely the last options selected in PixelFlasher
PixelFlasher.db has the boot.img related information (the ones you see in the list)
Logs folder is where the most useful information lies.

Let's look at each log which is dated, in chronological order.
PixelFlasher_2022-05-21_17h16m03s.log
2022-05-22 09_16_56-C__Temp_faq_logs_PixelFlasher_2022-05-21_17h16m03s.log - Notepad++.png


2022-05-22 09_30_57-C__Temp_faq_logs_PixelFlasher_2022-05-21_17h16m03s.log - Notepad++.png

2022-05-22 10_31_49-C__Temp_faq_logs_PixelFlasher_2022-05-21_17h16m03s.log - Notepad++.png


Not that at this point nothing has been flashed to the phone, or anything potentially destructive / problematic has been performed, the only thing that has been attempt is to reboot into bootloader mode.

Let move on to the next file.
PixelFlasher_2022-05-21_17h27m32s.log
Application is restarted, that is why there is a new log file
I will not comment similar sections of the log that were commented in the previous file, I will only highlight the observations and differences.

2022-05-22 10_42_49-C__Temp_faq_logs_PixelFlasher_2022-05-21_17h27m32s.log - Notepad++.png


2022-05-22 10_49_30-C__Temp_faq_logs_PixelFlasher_2022-05-21_17h27m32s.log - Notepad++.png


2022-05-22 11_49_08-C__Temp_faq_logs_PixelFlasher_2022-05-21_17h27m32s.log - Notepad++.png


2022-05-22 13_21_41-C__Temp_faq_logs_PixelFlasher_2022-05-21_17h27m32s.log - Notepad++.png


1653240453223.png


PixelFlasher_2022-05-21_22h19m08s.log
1653240667636.png


PixelFlasher_2022-05-22_06h20m13s.log
1653240786218.png



Observations:
Commenting on the user experience.
I have magisk hidden, so i manually did the process on the phone to patch the boot.img

Actually there is no need to do it manually even if magisk is hidden, as long as the shell is given root rights, PixelFlasher will be able to do the patching.
See details in OP.

and it rebooted my phone, and rebooted and my phone, and oh crap a boot loop
Can't be 100% certain, but I suspect that the user was observing dryRun behavior.

This is a May 2022 flash-all.bat file shipped in the firmware.
1653241808003.png


So all in all a dryRun would do
1- reboot to bootloader (to place the phone in bootloader mode)
2- reboot to bootloader (line 18)
3- reboot to bootloader (line 21)
4- reboot to system (at the end)

The few reboots might give the impression that the phone is bootlooping.
Of course, this is no certainty that it's what happened with the user, however looking into the logs, at the point this is reported to be the case, PixelFlasher has done nothing but rebooting the phone and then not detecting the phone anymore.
the annoying thing was I couldn't do anything in adb, b/c it was unauthorized
This can happen when the phone is in adb mode, and it displays the message to authorize the device.
Even if the checkbox is clicked, it will remain in unauthorized state until it is disconnected and reconnected.

Code:
adb disconnect
adb devices

This happens with me, and possibly could happen to others, I have no explanation on why it happens, my cables are solid and the connections are solid, I have no driver issues, however sometimes the phone keeps on disconnecting / reconnecting for no apparent reason, and this is outside of PixelFlasher.
Sometime slight touch to wire causes this to happen, normal times hard shaking the cable does not disturb it.

How do I know that it is disconnecting / reconnecting?
1- Audio feedback of USB connect / disconnect
2- I run EventGhost script that displays on my screen anything a USB device is connected to disconnected, and it reports what device it is, and I see that it is the phone.

The fact that PixelFlasher repeatedly could not detect the phone, could be a sign of that, or an actual bootloop.
If it is the former, then the cables / connections / drivers should be looked into.
If it is the latter, why a phone would bootloop by just a reboot? I truly don't know and can't answer that.

I hope this helps people who want do troubleshooting when things go wrong.
Of course, I will do that myself if support.zip is provided.
 

Attachments

  • 2022-05-22 09_16_56-C__Temp_faq_logs_PixelFlasher_2022-05-21_17h16m03s.log - Notepad++.png
    2022-05-22 09_16_56-C__Temp_faq_logs_PixelFlasher_2022-05-21_17h16m03s.log - Notepad++.png
    109 KB · Views: 11

freonchill

Senior Member
Jul 11, 2011
256
57
Atlanta
couple comments
1. for the "select the boot.img" dialog, when you select one, the text is red, which makes it look like something is wrong, maybe choose blue text?

2. image 2 - I have magisk "hidden" as magic, so I did the manual process to patch the boot.img using magisk on the phone

3. image 3 - from what I remember, I did the dry run and no issues, so I did the formal run and the app grayed out like it locked. I want to say that after rebooting from the dry-run, that I didn't set the default USB connection from just charging to file transfer - so I force quit pixel flasher, enabled the file transfer USB dialog and then re-selected to flash. Hence the next session at 17:24:24. I don't know if this did something WIERD or it was something completely random...

4. image 4 & 5 - I think at this point, I think the phone rebooted but didn't go into fastboot mode. I saw the rooted dialog warning, the "G" and then it started again. It doesn't see the phone because it is looping.

don't know if this commentary helps with the logs, but thought it would put in my recollection.

btw - I was using an anker usb-b to usb-c cable that has been plugged into my car 15w qi charger since I got the pixel 6, just upgraded it to a usb-c to usb-c cable and brought it in the house this week. used the same cable when it finally flashed, so not sure if there are any issues. Though, I do remember having issues with no-name cables back in the day flashing my S4, touchpad, etc...

thanks for the analysis
 

badabing2003

Senior Member
Sep 17, 2012
809
586
couple comments
1. for the "select the boot.img" dialog, when you select one, the text is red, which makes it look like something is wrong, maybe choose blue text?

2. image 2 - I have magisk "hidden" as magic, so I did the manual process to patch the boot.img using magisk on the phone

3. image 3 - from what I remember, I did the dry run and no issues, so I did the formal run and the app grayed out like it locked. I want to say that after rebooting from the dry-run, that I didn't set the default USB connection from just charging to file transfer - so I force quit pixel flasher, enabled the file transfer USB dialog and then re-selected to flash. Hence the next session at 17:24:24. I don't know if this did something WIERD or it was something completely random...

4. image 4 & 5 - I think at this point, I think the phone rebooted but didn't go into fastboot mode. I saw the rooted dialog warning, the "G" and then it started again. It doesn't see the phone because it is looping.

don't know if this commentary helps with the logs, but thought it would put in my recollection.

btw - I was using an anker usb-b to usb-c cable that has been plugged into my car 15w qi charger since I got the pixel 6, just upgraded it to a usb-c to usb-c cable and brought it in the house this week. used the same cable when it finally flashed, so not sure if there are any issues. Though, I do remember having issues with no-name cables back in the day flashing my S4, touchpad, etc...

thanks for the analysis
Did you mean to attach images? or were you referring to my images?

1- I'll do something about it, thanks.

2- See the OP of this thread, Basic Mode, point 2

3- Thanks for the detail, the USB mode that you select does not matter, but maybe I have an idea now on what might have happened.
When you do a dry-run, the phone reboots couple of times and then it goes back to system.
After the reboot to system, the PixelFlasher is accessible (not blocked)
If you clicked on flash again before it was fully booted the next adb command which is to reboot to fasboot mode
Code:
adb reboot fastboot
Would have not executed, and it would explain PixelFlasher waiting for fastboot and hanging.
But that would have meant that the phone was in system mode and not bootlooping.

I'll try to reproduce that scenario and see if there is any timing issue.

Thanks for the feedback.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 4
    Wow, updating my Pixel 6 Pro to the newest firmware has never been so quick and easy. Thank you very much for your work!
    4
    pixel 6 update with ota june through pixel flasher and working correctly and rooted in less than 10 minutes thanks
    4
    Agreed. This thing is wonderful. Just used it to upgrade to A13b3.2 from b3.1.

    Is there some place we could toss a couple of Gratitude Bucks your way...?
    Thanks for your consideration.
    No donation is necessary.
    To avoid repeating myself, I have added a donation section in the OP to explain my reasoning.
    3
    Update:
    June 12,2022 v3.3.4 release
    • Bug fix on MacOS / Linux
    • Improved notice message about Fastboot process.
    3
    Success! (?) No app hang or runaway fastboot process this time. Didn't see anything frightening in the app console...

    Honestly not a bother; happy to help! As an 'intermediate noob', I'm really grateful to have a tool at my disposal to help with system upgrades (I've had to completely restore my phone twice in the last two weeks after botched attempts and resulting bootloops--which literally takes hours each time.) So, thank you.
    Thank you very much.
    You have helped improve the program, specially on MacOS.
    Very much appreciated.
    I will release an official 3.3.4 thanks to you.
  • 36

    PF_promo-banner_v4.png

    DESCRIPTION

    As the name suggests this is an application to flash (update) Pixel™ phones (possibly all Google™ made phones/tablets, YMMV.)
    PixelFlasher at its core is a UI layer (with bells and whistles) on top of adb / fastboot commands, hence many of its features can be used on non Pixel devices as well. (YMMV).
    The application has two modes, normal mode (basic) and advanced mode (expert).

    Basic mode: Should suit most users. Some of the features in basic mode are:

    • Simple UI interface, click and go. No more command line, no more placing all files in one directory.
    • boot.img management UI, select the boot.img file to patch and click the patch button. Fully Automated patching with Magisk (without user interaction) and perform upgrades without losing root.
      No more manually extracting files transferring to the phone, patching / re-flashing and doing multiple reboots.
      No more setting airplane mode and clearing storage to retain Safetynet passing.
    • Display details of boot.img.
      • Unique ID.
      • Origin (file it was extracted from).
      • Whether it is patched or not, and if it is patched.
        • What version of Magisk was used to patch it.
        • On what device it was patched.
        • Date of patching.
    • Choose to keep data or wipe data while flashing.
    • Ability to flash even if multiple devices are connected to the computer.
    • Display information about the phone.
      • id
      • hardware
      • current installed firmware.
      • if it is rooted with Magisk.
      • Magisk version
      • List installed Magisk modules.
      • connection mode.
    • Magisk modules management, enable / disable modules selectively, this comes in handy to disable suspect modules before an upgrade. Display:
      • Name
      • Version
      • Description
      • Enabled / Disabled.
    • Display Android Platform Tools (SDK) version.
    • Advanced features are hidden to keep the interface simple and easy to follow.
    • A lot of checks and validations for smooth operation.
    • Automatic check for program updates.
    Expert mode: (should only be turned on by experienced users). In addition to the basic features, you get:
    • The ability to flash custom ROM (with or without patching boot.img)
    • Option to flash to both slots.
    • Options to disable verity and or verification.
    • Ability to change the active slot.
    • Ability to live boot to custom boot.img (temporary root).
    • Ability to boot to recovery.
    • Ability to flash custom image: boot, recovery, radio, kernel, ...
    • Ability to sideload an image.
    • Lock / Unlock bootloader.
    • SOS Disable Magisk modules to get out of bootloop (experimental).

    Prerequisites

    Installation

    PixelFlasher doesn't have to be installed, just double-click it and it'll run.
    Check the Github™ releases section for the latest downloads.
    It is recommended that you place the executable in its own directory, as it creates temporary files in the application folder.


    Usage

    Basic Mode
    basic-gui.png

    1. First thing to do is select Android™ Platform Tools, if Android™ Platform Tools is already in your PATH environment, the application will detect it and pre-populate it.
      Otherwise you'd have to select where it is installed.
      You can download the lastest Android™ Platform Tools by clicking the Image of link next to it.
      If you have multiple versions, you can select another version, although it is best to always use the most recent version (The selected version will be identified and displayed.)
      If you already have your phone connected to the PC, the application will detect all ADB connected devices (both in adb and fastboot mode) and populate the combo box (2).
      Otherwise connect your phone to your PC, and hit the Reload button and select your device.
    2. Select your device from the list in the combo box. The following information about the connected device is displayed.
      • (1st field) Rooted devices will be identified with a checkmark . Note: If you want PixelFlasher to detect root, or automatically use Magisk to patch boot.img, you need to grant root permissions to shell in Magisk.
        Image of shell root access
      • (1st field) Non-Rooted devices will be identified with a .
      • (1st field) Devices in fastboot mode will be identified with a ? (in fastboot mode, root status cannot be determined).
      • (2nd field) (adb) or (f.b) to indicate connection mode adb / fastboot.
      • (3rd field) Device ID.
      • (4th field) Device hardware.
      • (5th field) Current running firmware (in fastboot mode current firmware cannot be determined).
    3. Next select the factory image, the application will recognize the phone model from the image name.
      You can download factory images by clicking the Image of link next to it.
    4. Process the factory image. PixelFlasher will extract boot.img file from the factory image and populate it in the list below (5).
    5. Select boot.img from the list, the selected boot.img can be patched (6), or flashed (10).
    6. Optional: Select this option if you want to patch the boot.img with Magisk. Magisk must already be installed on your phone.
      This would be the typical choice for monthly updates.
      This option will allow updating the phone without losing root (not even temporarily).
      Note: See note above for granting root permissions to shell.
      If the phone is already rooted, the whole process is without user interaction.
      Otherwise PixelFlasher will launch Magisk on the phone and wait for the user to select stock boot.img which would already be transferred to the phone by the PixelFlasher and guide the user to make the proper choices in Magisk to create a patched boot.img before continuing for PixelFlasher to do the rest of the work.
    7. If you want to flash (10) a patched boot.img select the newly added entry.
      The following details are listed.
      • Image of patched-boot Indicates that the selection is patched.
      • Boot ID is (shortened for display only) md5 of boot.img
      • Package ID (shortened for display only) md5 of boot.img extracted from the image (This should be the same as Boot ID of an unpatched boot.img)
      • Package Signature is just the filename portion of the image (without the extension).
      • Patched with Magisk indicates the version of Magisk used to patch the image (if applicable).
      • Patched on Device indicates the device model that performed the patching. You should always use patched images that match the model of the device that it will be flashed on.
      • Date is the either the date the boot.img was extracted, or the date it was patched.
      • Package Path indicates the source of the boot.img file.
    8. Select the Flash Mode
      • Keep Data: In this mode -w flag is removed from the flash scripts so that data is not wiped. This is commonly known as dirty flashing
      • WIPE all data: As the name suggests, this will wipe your data, use it with caution! PixelFlasher will ask for confirmation during the flashing phase, if this mode is selected.
      • Dry Run: In this mode, the phone will reboot to bootloader, and then mimic the flash actions (i.e. reboot into bootloader) without actually flashing anything (it prints to the console the steps it would have performed if dry run was not chosen). This is handy for testing to check if the PixelFlasher properly is able to control fastboot commands.
    9. Optional: Open Magisk Modules Manager and disable (uncheck) modules known to cause issues during upgrades (the below list has never caused issues for me, so I keep them enabled YMMV).
      magisk-modules-manager.png
    10. Flash Pixel Phone This is the final step, to actually flash the phone in the selected Flash Mode.
      Note: Unlike the previous versions of the PixelFlasher, all the options are dynamic, i.e. depending on what you select before clicking the Flash button, there is no more concept of prepared package. PixelFlasher will first present you the selected options and ask for your confirmation if you want to proceed with flashing.

    Expert Mode
    To enable the export mode use the File Menu | Advanced Configuration and select Enable Advanced Options
    advanced-options.png


    advanced-gui.png


    In this mode the following additional options are exposed (green bounding boxes), below notes are more for enumeration than a guide, as they should be trivial and obvious to an expert.

    1. Option to Change the Active Slot (the inactive slot is automatically selected).
      Option to reboot to Recovery.
    2. Options to Lock / Unlock bootloader, Option to disable Magisk modules when bootlooping.
    3. Apply Custom ROM. This replaces the factory ROM image with the selected file.
      PixelFlasher extracts boot.img from the ROM image and displays below for selection or patching. Please make sure to read the documentation of the chosen ROM, as each custom ROM instructions could be different.
      To be clear, this is what PixelFlasher does internally when this mode is selected, please understand it, and don't use it if the selected ROM guide does not fit the bill. You've been warned!
      • Keeps stock bootloader and radio images.
      • Replaces the stock ROM image with the selected custom ROM image.
      • Flashes in the chosen Flash Mode just like a stock image, i.e. bootloader, custom ROM and radio images in the original order that they were in the stock firmware.
      • Patching boot.img can be performed if the option is selected. You can select any of the listed boot.img.
      • Flash Mode is similar to basic flash mode described above in step 7.
    4. Custom Flash. select this to switch from flashing a Factory Image to flashing a single file.
    5. Browse to select a a valid image file (.img or .zip).
      Choose the dropdown to select image type.
      • boot (can be flashed to Live or boot) - Expected file type .img
      • bootloader - Expected file type .img
      • dtbo - Expected file type .img
      • product - Expected file type .img
      • radio - Expected file type .img
      • recovery - Expected file type .img
      • super_empty - Expected file type .img
      • system - Expected file type .img
      • system_ext - Expected file type .img
      • system_other - Expected file type .img
      • vbmeta - Expected file type .img
      • vbmeta_system - Expected file type .img
      • vbmeta_vendor - Expected file type .img
      • vendor - Expected file type .img
      • vendor_boot - Expected file type .img
      • vendor_dlkm (the device will be put into fastbootd mode during this operation) - Expected file type .img
      • image - Expected file type .zip
      • SIDELOAD - Expected file type .zip

    Credits

    • First and foremost Magisk by John Wu which made rooting Pixel™ phones possible, without it none of this would have mattered.
    • Big thanks to [ryder203] [t-ryder] for his valuable ideas, feedback and testing and the beautiful logo. Your contributions are very much appreciated.
    • [Homeboy76] and [v0latyle] for their excellent guides [here, and here] on Pixel™ series phones.
      This program could not have been possible without their easy to follow guides.
      I strongly encourage all beginners to follow those guides rather than use this program, it is important to understand the basic steps involved before diving into one click tools or advanced tasks.
    • Marcel Stör's nodemcu-pyflasher source code which jump started my introduction to wxPython and eventually this program.
    • JackMcKew for pyinstaller Github Actions.
    • Endless count of XDA members and their posts that tirelessly answer questions and share tools. I have learnt a lot from them and they're too many to enumerate or even remember them all.

    Disclaimer

    Code:
    *******************************************************************************
    PLEASE DO YOUR PART AND READ / SEARCH / RESEARCH BEFORE USING THIS PROGRAM
    AND/OR ATTEMPTING ANY MODIFICATIONS ON YOUR DEVICE.
    THIS PROGRAM ASSUMES THAT YOU ALREADY KNOW HOW TO AND HAVE ALREADY UNLOCKED
    YOUR BOOTLOADER, ALREADY ROOTED YOUR DEVICE, AND KNOW HOW TO USE ANDROID SDK
    PLATFORM-TOOLS, ETC.
    THIS TOOL IS SIMPLY MY QUICK WAY OF UPDATING THE FIRMWARE WHILE ROOTED WITH
    MAGISK, WITHOUT LOSING DATA / REQUIRING A WIPE.
    MODIFYING YOUR DEVICE COMES WITH INHERENT RISKS, AND IT'S NOT MY RESPONSIBILITY
    IF YOU LOSE YOUR DATA OR BRICK YOUR DEVICE. THE TOOL I SHARE HAVE WORKED FOR ME,
    BUT THAT DOESN'T MEAN THAT YOU MAY NOT RUN INTO PROBLEMS. **BACKUP YOUR DATA.**
    *******************************************************************************

    Donation
    I've been asked quite few times about donation, (here, here ... just to list a few).
    I'll put it here so that my stance is clear.
    This program will remain totally free, ad free, even donation free, it's my way to give a little back to the community that has given me years of support and joy.

    You can contribute by helping the next newcomer to learn the ropes and navigate through the maze of information.



    Device specific support threads:

    Troubleshooting:

    Updates:
    June 26, 2022 v3.3.5 release
    • Fix Lock / Unlock bootloader buttons being reversed.
    June 12, 2022 v3.3.4 release
    • Bug fix on MacOS / Linux
    • Improved notice message about Fastboot process.
    June 06, 2022 v3.3.3 release
    • Bug Fix: When choosing custom ROM, the ROM file was not being copied to the package directory.
    • Update Documentation and screenshots.
    May 25, 2022 v3.3.2 release
    • Handle system codepage.
    • Add configurable codepage setting in advanced settings to be able to override the value.
    • Selected boot color is now blue instead of red to avoid thinking that it has a problem.
    • After Flashing, clear connected device to avoid using device in case it is not yet ready.
    • Fix: Paste boot button should be hidden in basic mode.
    • Always print md5 of Magisk_patched (previously only verbose mode displayed it).
    • Wait 10 seconds instead of 5 seconds after reboot before issuing next command.

    May 21, 2022 v3.3.1 release
    • Change encoding from utf8 to ISO-8859-1
    • Button to paste the currently selected boot.img into custom flash file selection.
    • Several Mac version improvements, thanks to rhetorican for reporting and testing.
    • UI improvements
    • Fix: On low resolution screens, the application startup position is high enough to clip the top part.
    • Fix: On low resolution screens, the patch icon is too large and dis-proportional to the rest of the UI
    • Better dark mode handling on Mac / Linux
    • Increase the wait during flashing to account for slower devices.
    • Further improvements on support.zip redaction process.
    • Other minor fixes and additional validations.

    May 05, 2022 v3.3.0 release
    • MacOS build.
    • Handle Magisk module.prop with comments.
    • Exception handling on magisk module errors.
    • boot.img management improvements.
    • Removed old Powershell script.
    • More checks and validations.
    • support.zip now includes sanitized PixelFlasher.db
    May 04, 2022 v3.2.0 release
    • Help menu option to create support.zip file, which sanitizes (redacts user names and device IDs) of the log files.
      This makes it super easy to provide support.zip file when something goes wrong and need to report it.
    • In boot management, delete firmware cache of the selected boot.img if it is the last boot.img used from that firmware.
    • Handle space characters in username.
    • Console is now responsive when processing firmware file.
    • More checks and validations.
    • Update readme with instructions on how to build PixelFlasher on MacOS.
    May 02, 2022 v3.1.1 release
    • Handle UTF-8 Encoding.
    May 02, 2022 v3.1.0 release
    • Fixed a missing step in the final flashing of boot.img
    • Decoupled Firmware / ROM processing from selecting the files, now we have a separate button to process, makes it clearer and does not give the impression that selecting the file is hanging.
    • Added splash screen (v3.0.1), the GUI refresh hiccup is gone.
    • Made the boot.img management delete function more extensive.
    • I flashed my phone with the May drop using this version.
    April 30, 2022 v3.0.0 release
    • New workflow, no more package preparation, select options and flash all dynamic.
    • boot.img caching and management UI with details about the state of boot.img files.
    • Faster as there is no more need to zip a package.
    • Other optimizations and improvements.
    • Update documentation.
    April 20, 2022 v2.4.1 release
    • Bug Fixes: Error message during flashing, introduced by code reshuffle.
    • It turns out that some Magisk Modules don't set the id, which was expected to be present, which caused Magisk module management screen not to display.
    April 19, 2022 v2.4.0 release
    • Magisk modules management, enable / disable modules selectively, this comes in handy to disable suspect modules before an upgrade.
    • Autoscroll the console.
    • Code cleanup.
    April 17, 2022 v2.3.0 release
    • Optional automatic check for updates feature.
    • Added help menu links to:
      - Report an issue
      - Feature Request
      - PixelFlasher Project Page
      - PixelFlasher Community (Forum)
      - Homeboy76's Guide
      - V0latyle's Guide
      - Open Configuration Folder
      - Check for New Version
    • Icons for menu items.
    • Link to download Pixel Firmware.
    • Link to download Android Platform Tools.
    • Unlock Bootloader.
    • Lock Bootloader.
    • SOS (experimental) - disable Magisk modules to get out of bootloop.
    • Additional flashing options:
      - product
      - system
      - system_ext
      - system_other
      - vbmeta_system
      - vbmeta_vendor
    • Added sideload flashing option.
    • Updated documentation.
    • Further improved console messages for troubleshooting.
    • Linux build using Github Actions.
    • Manual build for Kali Linux.

    April 11, 2022 v2.2.2 release
    • Linux support.
    • Remember last window position.
    • List Magisk modules, when Magisk is detected.
    • Added fastboot verbose option.
    • Added more checks and validations.
    • Added more details when errors are encountered.
    • Cleaner message box (better formatting).
    • Notice to the user in case fastboot drivers are not setup properly.
    • More plumbing work for the new upcoming workflow.
    • Add notes on how to build the Linux version.
    April 06, 2022 v2.1.0 release
    • Setup dedicated profile directory.
    • Put logs in the profile directory and maintain log history.
    • Plumbing for Linux support (just the flashing part is left to do).
    • Plumbing for new workflow.
    • Bugfix to handle name conflict in ROM filename.
    • Various minor improvements.
    • Update documentation.

    April 03, 2022 v2.0.1.0-pre release.
    • Major refactoring
    • Added Advanced (Expert) mode UI.
    • Basic mode keeps UI simple and hides expert features.
    • Support for setting active slot.
    • Reboot options (recovery, system, bootloader)
    • Moved custom ROM options to expert mode.
    • Added custom flashing to expert mode, can now flash to live (temporary root), or custom flash any image to any partition.
    • Moved flashing to both slots, disabling verity / verification to expert mode.
    • Many other improvements, validations and checks.
    • Updated documentation.
    March 24, 2022 v1.2.0.1-alpha release.
    • Added Advanced Configuration menu which unlocks advanced features such as:
      - Flashing to both slots
      - Disabling Verity
      - Disabling Verification
      - (More features to come)
    • The UI will now display the chosen Android Platform Tool's version.
    • Added an option to toggle verbose console output (help troubleshooting, more verbosity to come).
    • Stability fixes.
    March 22, 2022 v1.1.5-alpha release.
    • Some users were having issues with 7zip, add 7z.dll to the bundle.
    • Add fallback mechanism to use python libraries for unzipping when 7zip fails (it would be slower)
    March 22, 2022 v1.1.4-alpha release.
    • Bug Fix: Handle space characters in paths.

    March 17, 2022 v1.1.3-alpha release.
    • Visual indicator if the phone is root and Magisk Tools is found.
    • Bug Fix: KeyError 'flash_vbmeta'

    March 17, 2022 v1.1.0-alpha release.
    Changelog
    • 10x speed improvement for full package creation, down from 180 seconds to 18 seconds.
    • Bug Fix: When using patch option with custom ROM, the boot.img of the custom ROM is now correctly patched.
    • Add support for flashing vbmeta (experimental) with or without disabling verity and or verification. (This is currently only supported through preferences file)
    6
    March 17, 2022 v1.1.3-alpha release.
    • Visual indicator if the phone is rooted and Magisk Tools is found.
    • Bug Fix: KeyError 'flash_vbmeta'
    Changelog from 1.1.1
    • 10x speed improvement for full package creation, down from 180 seconds to 18 seconds.
    • Bug Fix: When using patch option with custom ROM, the boot.img of the custom ROM is now correctly patched.
    • Add support for flashing vbmeta (experimental) with or without disabling verity and or verification. (This is currently only supported through preferences file)
    6
    New Release:
    May 21, 2022 v3.3.1 release
    • Change encoding from utf8 to ISO-8859-1
    • Button to paste the currently selected boot.img into custom flash file selection.
    • Several Mac version improvements, thanks to rhetorican for reporting and testing.
    • UI improvements
    • Fix: On low resolution screens, the application startup position is high enough to clip the top part.
    • Fix: On low resolution screens, the patch icon is too large and dis-proportional to the rest of the UI
    • Better dark mode handling on Mac / Linux
    • Increase the wait during flashing to account for slower devices.
    • Further improvements on support.zip redaction process.
    • Other minor fixes and additional validations.
    5
    New Release:
    May 04, 2022 v3.2.0 release
    • Help menu option to create support.zip file, which sanitizes (redacts user names and device IDs) of the log files.
      This makes it super easy to provide support.zip file when something goes wrong and need to report it.
    • In boot management, delete firmware cache of the selected boot.img if it is the last boot.img used from that firmware.
    • Handle space characters in username.
    • Console is now responsive when processing firmware file.
    • More checks and validations.
    • Update readme with instructions on how to build PixelFlasher on MacOS.
    5
    New Release: (See details here on xda or here at github)
    April 03, 2022 v2.0.0.0-pre release.
    • Major refactoring
    • Added Advanced (Expert) mode UI.
    • Basic mode keeps UI simple and hides expert features.
    • Support for setting active slot.
    • Reboot options (recovery, system, bootloader)
    • Moved custom ROM options to expert mode.
    • Added custom flashing to expert mode, can now flash to live (temporary root), or custom flash any image to any partition.
    • Moved flashing to both slots, disabling verity / verification to expert mode.
    • Many other improvements, validations and checks.
    • Updated documentation.