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

Search This thread

badabing2003

Senior Member
Sep 17, 2012
834
651
@wilberfan
Ok found the saving issue,
This one should be able to save the file.
It was MacOS specific, just like the previous error.
 

Attachments

  • PixelFlasher.zip
    19.4 MB · Views: 18

badabing2003

Senior Member
Sep 17, 2012
834
651
Here's the support.zip.
Thank you for the support file,
I really don't see any errors or anything for that matter that would hint an issue.
So each time you attempt a dry run, you get PixelFlasher freezing? Or was it a one time thing?
The version 3.3.3 we know it had an issue with flashing on Mac, but I believe you said you got it frozen with 3.3.4?
Happens all the time?

Thanks
 

wilberfan

Senior Member
Jan 4, 2011
553
70
So Cal
OnePlus 7T
Google Pixel 6
The app freeze is consistent at the end of the dry run--after the procedure finishes and the phone reboots into the system. If I check Activity Monitor on the Mac, the fastboot process is running at 76.x% and the app is unresponsive. And, yes, it's happened every time with v3.3.4.
 

badabing2003

Senior Member
Sep 17, 2012
834
651
The app freeze is consistent at the end of the dry run--after the procedure finishes and the phone reboots into the system. If I check Activity Monitor on the Mac, the fastboot process is running at 76.x% and the app is unresponsive. And, yes, it's happened every time with v3.3.4.
Thanks for the confirmation and sorry for bothering you, I don't have a MAC, so I'm doing all this in a container, but I cannot connect a physical device, I can do adb over tcp but not fastboot over tcp, so can't reproduce.

Can you try this attached version and see if it still does the same thing, I made a change and am hoping that it will fix the issue.

Thanks
 

Attachments

  • PixelFlasher.zip
    19.4 MB · Views: 9

wilberfan

Senior Member
Jan 4, 2011
553
70
So Cal
OnePlus 7T
Google Pixel 6
Thanks for the confirmation and sorry for bothering you, I don't have a MAC, so I'm doing all this in a container, but I cannot connect a physical device, I can do adb over tcp but not fastboot over tcp, so can't reproduce.

Can you try this attached version and see if it still does the same thing, I made a change and am hoping that it will fix the issue.

Thanks
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.
 

Attachments

  • support.zip
    30.7 KB · Views: 4

badabing2003

Senior Member
Sep 17, 2012
834
651
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.
 
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...?
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.
 

badabing2003

Senior Member
Sep 17, 2012
834
651
This looks like an amazing tool. I am trying to install on Mac and I keep getting ""PixelFlasher" can't be opened because Apple cannot check it for malicious software. This software needs to be updated. Contact the developer for more information." Monterey 12.4 if that matters.
Unfortunately I don't have access to Macs and have to rely on Mac Users / Owners to troubleshoot this.
I build it in Catalina docker container, and it is not signed, perhaps that is why you're getting the error.
And obviously is works in the docker container (I test that before each release)
I know that real Mac users reported success with it, you should see it in this or one of the support threads.

Do you have Intel or M1 CPU? I doubt that it would make a difference.
Are you able to open the dmg and get the drag to Application UI?
1656603382358.png


If Yes, Can you double click on PixelFlasher instead of dragging to Application?
If dmg does not open, maybe I can give you the App and you try that.


Or maybe you can try some of the suggestions mentioned in here
 

V0latyle

Forum Moderator
Staff member
So, I've finally decided to try this. Pretty slick. Just a couple suggestions:
  • Add the ability to select a previously patched boot image, then live boot it. Maybe a little redundant since your tool automatically patches the new boot image.
  • Provide some sort of log readout so the user can see exactly what is happening, as well as the option to save the log file for troubleshooting and review. The program doesn't really tell you what it's doing while it's flashing the factory image, and while I noticed your warning to be patient, it would still be nice to be able to see the command readout.
 

badabing2003

Senior Member
Sep 17, 2012
834
651
So, I've finally decided to try this. Pretty slick. Just a couple suggestions:
  • Add the ability to select a previously patched boot image, then live boot it. Maybe a little redundant since your tool automatically patches the new boot image.
Happy to hear that you gave a shot.
If I understand you correctly, I believe what you want is already there, see if this does it.
First turn on advanced mode.
You can do that through the File Menu | Advanced Configuration and then select Enable Advanced Options.
The UI should change and you should see additional options.
1657147687740.png
1- Once you create the patched boot.img, select it (highlight)
2- Choose Custom Flash
3- Select boot
4- Hit the Paste button, and it will paste the currently selected boot.img path
5- Select Live boot, or Flash, in your case I suppose you want Live Boot
Ignore the Flash both slots selection from my image, that is not necessary, I just had it on when taking the screenshot and didn't feel like taking another one
6- Hit the flash Pixel Phone and you should get what you want.

  • Provide some sort of log readout so the user can see exactly what is happening, as well as the option to save the log file for troubleshooting and review. The program doesn't really tell you what it's doing while it's flashing the factory image, and while I noticed your warning to be patient, it would still be nice to be

You don't see anything scrolling in the Console window (#7)? as it is flashing or patching, you should see the output reflected in the console, if you don't it could be a bug that I need to investigate.
Keep in mind that the console only refreshes if the line is complete, ie a newline is sent, there are some parts in the flash output (while extracting data) the output does not have a newline until it completes the extraction, not much I can do there, but that is only one line that should make you wait till it completes, each line should print and scroll.

Also you can turn on the verbose button for the console to get even more verbose logging, I think the app is very verbose to start with, and that options makes it even more verbose, I usually keep it on to see exactly what is happening.

Lastly, if you want to see current or previous logs.
Help menu | Open configuration Folder
Navigate to logs folder and you'd see all the logs.

You can also choose Create Sanitized support.zip from the Help menu.
This will zip up the logs and the configuration details, and redact (sanitize) all personal data (device id, user name ...) It helps with troubleshooting and making the program better.

1657148626917.png
 

Attachments

  • 1657148607302.png
    1657148607302.png
    24.7 KB · Views: 9

V0latyle

Forum Moderator
Staff member
Happy to hear that you gave a shot.
If I understand you correctly, I believe what you want is already there, see if this does it.
First turn on advanced mode.
You can do that through the File Menu | Advanced Configuration and then select Enable Advanced Options.
The UI should change and you should see additional options.
1- Once you create the patched boot.img, select it (highlight)
2- Choose Custom Flash
3- Select boot
4- Hit the Paste button, and it will paste the currently selected boot.img path
5- Select Live boot, or Flash, in your case I suppose you want Live Boot
Ignore the Flash both slots selection from my image, that is not necessary, I just had it on when taking the screenshot and didn't feel like taking another one
6- Hit the flash Pixel Phone and you should get what you want.
Yep, I missed this. Sorry.

I didn't realize this doesn't require unzipping the factory image package.
You don't see anything scrolling in the Console window (#7)? as it is flashing or patching, you should see the output reflected in the console, if you don't it could be a bug that I need to investigate.
Keep in mind that the console only refreshes if the line is complete, ie a newline is sent, there are some parts in the flash output (while extracting data) the output does not have a newline until it completes the extraction, not much I can do there, but that is only one line that should make you wait till it completes, each line should print and scroll.
I don't have a Console window at all. Advanced configuration is indeed enabled.
1657154083794.png


Edit: I'm a giant moron. Needed to expand the window. >_<


Also you can turn on the verbose button for the console to get even more verbose logging, I think the app is very verbose to start with, and that options makes it even more verbose, I usually keep it on to see exactly what is happening.

Lastly, if you want to see current or previous logs.
Help menu | Open configuration Folder
Navigate to logs folder and you'd see all the logs.

You can also choose Create Sanitized support.zip from the Help menu.
This will zip up the logs and the configuration details, and redact (sanitize) all personal data (device id, user name ...) It helps with troubleshooting and making the program better.
Very nice, and I see @Homeboy76 and I are getting some recognition! Awesome!

One last thing...

This is kinda redundant, as we can just flash /boot right after /system is updated...But, it's possible to replace boot.img in the update package with a patched image. Naturally, it would have to be renamed boot.img so the installer script can find it, but it is indeed possible!
 

badabing2003

Senior Member
Sep 17, 2012
834
651
I didn't realize this doesn't require unzipping the factory image package.
It does unzip it,
But unzipping is usually quite fast (depending on the PC), it unzips it into Pixel Flasher Configuration Folder / factory_images
During Processing Firmware file phase, and it extracts the boot.img into Pixel Flasher Configuration Folder / boot_images folder
1657155481814.png



Very nice, and I see @Homeboy76 and I are getting some recognition! Awesome!
Of course, everything the tool does is learnt from those excellent guides, and it practically automates the process, the operations are the same.
I try to give credit where credit is due.
In fact I encourage beginners to learn the ropes by following the guides instead of using click tools.
One last thing...

This is kinda redundant, as we can just flash /boot right after /system is updated...But, it's possible to replace boot.img in the update package with a patched image. Naturally, it would have to be renamed boot.img so the installer script can find it, but it is indeed possible!

The earlier versions of the product used to do it that way (you can download them from github), basically extract boot, patch boot and replace and finally zip the archive and use the flash_all (-w removed if keep data is selected)
But the zipping process is slow, because the content is large, and if I zip it with low compression to speed it up, then the file is too big, and could potentially cause issues during transfer or flashing, as the full image needs to be transferred to the phone and extracted on the phone during the flashing.

That is what I was referring to extraction in the previous post, that is different from PC side extraction.
This should make it clearer. (this is the output of a typical stock flash)

1657155988892.png


See how the output starts with extracting product (actually does that for each img in the zip) then you see 3 dots ... and then took n seconds,
That line will only output after those n seconds, and on some systems, I have no idea why, that step can take much longer, which would make the program appear to be hung (but it is not).

Tip.
Either turn on console verbose (bottom left one, not the one next to disable verification)
Do the flashing step, and cancel at the confirmation,
It should output the contents of flash-phone.bat file
Or if you don't have verbose on you can find it in the expanded factory_images folder.
That will be the file that would be used to flash, and if you inspect you'd see exactly what the program is doing (basically what your guide teaches people)
It flashes the factory image with --skip-reboot and then sleeps, flashes the patched boot and reboots to system.
The script adds few additional goodies like targeting the specific phone by id in case multiple devices are attached to the PC, (Google's stock flashing will fail if you have multiple devices attached, PixelFlasher takes care of that), as well as adding flash options like (flash to all slots, disable verity ...)
 

V0latyle

Forum Moderator
Staff member
It does unzip it,
But unzipping is usually quite fast (depending on the PC), it unzips it into Pixel Flasher Configuration Folder / factory_images
During Processing Firmware file phase, and it extracts the boot.img into Pixel Flasher Configuration Folder / boot_images folder
View attachment 5654037
Right, I hadn't realized that I did not need to unzip the factory package after downloading, as I'm used to doing when manually updating.

Of course, everything the tool does is learnt from those excellent guides, and it practically automates the process, the operations are the same.
I try to give credit where credit is due.
In fact I encourage beginners to learn the ropes by following the guides instead of using click tools.
I think I already know the answer to this, but how offended would you be if I included a link to this thread in my guides? You've done a fantastic job of streamlining the factory image update process, and because your tool allows flashing custom boot images (as well as patching the stock boot image) it's simpler than flashing everything via ADB, while being more flexible than the Android Flash Tool.

The earlier versions of the product used to do it that way (you can download them from github), basically extract boot, patch boot and replace and finally zip the archive and use the flash_all (-w removed if keep data is selected)
But the zipping process is slow, because the content is large, and if I zip it with low compression to speed it up, then the file is too big, and could potentially cause issues during transfer or flashing, as the full image needs to be transferred to the phone and extracted on the phone during the flashing.
Makes sense, and no need to take up time when it's faster just to reflash /boot post update.
 
  • Like
Reactions: badabing2003

Top Liked Posts

  • There are no posts matching your filters.
  • 7
    New release:
    July 18, 2022 v3.4.0 release
    • Improvements to the boot extraction / categorization.
    • Live boot option directly from the selected boot.img UI, even though it was possible to live boot previously through the advanced menu, it is now super easy to select a boot.img (patched or otherwise) and Live boot to that image with a click of a button.
    • Added warning message in the splash screen and the help about menu, to inform users not to fall for opportunists who are claiming to be the developer of PixelFlasher with a donate button next to the download link. Reminder to all, this program will always be free, ad free, donation free; you should not be solicited for any form of payment.
    4
    A fantastic tool. Updated and kept root in 1 click in 211 seconds to be precise. Thank you.
    3
    You are a magician then.

    I believe it was Magisk 24.1 (released in February 2022) that made it possible to root without disabled verity.
    It was still highly buggy and even to this day custom kernels don't always work without disabled verity.
    Majority of PixelFlasher users must be magicians then myself included.
    Over the course of development of PixelFlasher, I received a lot of support.zip files.
    I can't recall seeing that flag being used, and if it was used, it didn't leave an impression that many people were using it.

    Custom Kernels are advanced feature, which is used by minority of the users, unless I see a compelling evidence that most users would need to set that flag, the flag belongs in the advanced configuration.
    Apparently the tool is intimidating enough as it is.
    But verbose does only show the commands once they are already being used/running? I was thinking like a "verify all commands" before the application executes them.
    No it does, before you click the Ok button for the confirmation, it is already in the console, you can cancel the flashing if you want.
    Ye it is displayed correctly. Was just weird that it was left out of the console. I was like "is the app now taking my selection into account or not?".
    I'll consider adding that to the console.

    How about an interactive "first start wizard" which asks you what your current state (disabled/enabled verity) is?
    Although noble idea, you don't save any clicks, besides some users wouldn't even know what to answer.
    I think it is trivial for advanced users, and not worth the added code complexity.

    I think what benefits most, is a Video tutorial, and I'm sure eventually someone will make a video of it and the various options and why and when to use.
    3
    I tried this during its first week and then again now, many thanks for the substantial progress and development effort!

    Makes me curious if similar tools exist for the Galaxies (is Odin the same?) and OnePluses (is there a thing?) Tools like that make or break the rooting prospects for - not so tech savvy / busy - people! Kudos.
    PixelFlasher is a UI tool built on top of common commands `adb` and `fastboot` that are used to flash / root ... a typical Android device.
    I say typical because not all devices are rooted / flashed with adb / fastboot, prime example of that is Samsung, which uses odin to flash.

    PixelFlasher, automates the steps you see in Pixel Device(s) rooting process.
    I suppose a similar tool could be written to utilize odin instead of adb / fastboot.
    I'm not aware of such a tool.
    As for OnePlus, I never owned one, so I never looked into the details of flashing OnePlus.
    If it uses adb / fastboot, then the advanced menu options would probably suffice to flash / root.
    Theoretically any device that is rootable / flashable through fastboot, PixelFalsher can be used to drive it, caution though, the automated processes are device specific.
    The basic super easy part of PixelFlasher is only for Google Devices, because it expects certain format of firmware file, and it parses the flash_all script which I think is exclusive to Google.

    Advanced options are non-device specific, and just use adb / fastboot commands.
    2
    I suppose that , if it may work on a Chromebook, I should buy necessarily a device with x86 CPU architecture, not ARM.
    Correct, arm would not work for sure, any chance that you have is with x86.
    If you want to be 100% certain before buying, you can try something like this first.

  • 43

    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:
    July 18, 2022 v3.4.0 release
    • Improvements to the boot extraction / categorization.
    • Live boot option directly from the selected boot.img UI, even though it was possible to live boot previously through the advanced menu, it is now super easy to select a boot.img (patched or otherwise) and Live boot to that image with a click of a button.
    • Added warning message in the splash screen and the help about menu, to inform users not to fall for opportunists who are claiming to be the developer of PixelFlasher with a donate button next to the download link. Reminder to all, this program will always be free, ad free, donation free; you should not be solicited for any form of payment.
    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)
    7
    New release:
    July 18, 2022 v3.4.0 release
    • Improvements to the boot extraction / categorization.
    • Live boot option directly from the selected boot.img UI, even though it was possible to live boot previously through the advanced menu, it is now super easy to select a boot.img (patched or otherwise) and Live boot to that image with a click of a button.
    • Added warning message in the splash screen and the help about menu, to inform users not to fall for opportunists who are claiming to be the developer of PixelFlasher with a donate button next to the download link. Reminder to all, this program will always be free, ad free, donation free; you should not be solicited for any form of payment.
    6
    New release:
    April 10, 2022 v2.2.0 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.
    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.