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

Search This thread

nibera

Senior Member
Apr 19, 2008
247
31
I tried to load the firmware, but it says:

No previous flashable package is found for the firmware:
C: \ Users \ Nicola \ Desktop \ Service Root Pixel 6 Pro \ Service Pixel 6 pro \ raven-tpp2.220218.010 ANDROID 13 DEVELOPER PREVIEW 2 \ raven-tpp2.220218.010-factory-79bf5fe3.zip
 

badabing2003

Recognized Contributor
Sep 17, 2012
2,339
3,356
I tried to load the firmware, but it says:

No previous flashable package is found for the firmware:
C: \ Users \ Nicola \ Desktop \ Service Root Pixel 6 Pro \ Service Pixel 6 pro \ raven-tpp2.220218.010 ANDROID 13 DEVELOPER PREVIEW 2 \ raven-tpp2.220218.010-factory-79bf5fe3.zip
That's ok, all it means is that you have not previously created a package.

if you create a package from it, switch to another firmware, and then come back to it, it will detect that you have a package and let you know.

That message is just info, not an error, and if it finds a previous package, it will tell you about the options you had selected, like custom rom, patch ...
 

nibera

Senior Member
Apr 19, 2008
247
31
That's ok, all it means is that you have not previously created a package.

if you create a package from it, switch to another firmware, and then come back to it, it will detect that you have a package and let you know.

That message is just info, not an error, and if it finds a previous package, it will tell you about the options you had selected, like custom rom, patch ...
Perfect, the .zip firmware after downloading do I have to unpack it and load the zip inside the pixel flasher or do I just have to load the zip without unpacking it?
 

badabing2003

Recognized Contributor
Sep 17, 2012
2,339
3,356
Perfect, the .zip firmware after downloading do I have to unpack it and load the zip inside the pixel flasher or do I just have to load the zip without unpacking it?
Nope, you don't even need to put it in the same folder, you can leave it anywhere in your system, just select it in the UI and it would take care of the rest, same goes for Android platform tools.
 

badabing2003

Recognized Contributor
Sep 17, 2012
2,339
3,356

nibera

Senior Member
Apr 19, 2008
247
31

nibera

Senior Member
Apr 19, 2008
247
31
raven-sp2a.220405.004-factory-bce807a6.zip (ANDROID 12.1 PATCH APRILE)
raven-s3b1.220318.003-factory-b4b29ec4.zip ( ANDROID 12 BETA 2 QPR3)
raven-tpp2.220218.010-factory-79bf5fe3.zip ( ANDROID 13 DP2)

Can I install any of these firmware for the Pixel 6 Pro?

obviously I have to unlock the bootloader first, right?
 
Last edited:

badabing2003

Recognized Contributor
Sep 17, 2012
2,339
3,356
raven-sp2a.220405.004-factory-bce807a6.zip (ANDROID 12.1 PATCH APRILE)
raven-s3b1.220318.003-factory-b4b29ec4.zip ( ANDROID 12 BETA 2 QPR3)
raven-tpp2.220218.010-factory-79bf5fe3.zip ( ANDROID 13 DP2)

Can I install any of these firmware for the Pixel 6 Pro?

obviously I have to unlock the bootloader first, right?
Short answer: Yes

Long Answer, PixelFlasher is a UI layer on top of underlying adb / fastboot commands, yes it does checks and validations, it automates steps (you don't have to place files in specific locations, nor do you have to remember commands and arguments to do something), it does the patching for you, but everything it does that interacts with the phone is through adb / fastboot commands, so in general if the manual steps to achieve something can be done through adb / fastboot, then it can also be done through PixelFlasher UI.

Just make sure you follow the Google recommendation when switching between beta, Android 13 and Android 12.
For example, if it requires a wipe, then make sure you select the wipe data option.
 

nibera

Senior Member
Apr 19, 2008
247
31
Short answer: Yes

Long Answer, PixelFlasher is a UI layer on top of underlying adb / fastboot commands, yes it does checks and validations, it automates steps (you don't have to place files in specific locations, nor do you have to remember commands and arguments to do something), it does the patching for you, but everything it does that interacts with the phone is through adb / fastboot commands, so in general if the manual steps to achieve something can be done through adb / fastboot, then it can also be done through PixelFlasher UI.

Just make sure you follow the Google recommendation when switching between beta, Android 13 and Android 12.
For example, if it requires a wipe, then make sure you select the wipe data option.
OK thanks for all the info given, I'll try to flash android 13 dp2. thank you
 

nibera

Senior Member
Apr 19, 2008
247
31
Hi, can I install the customize roms, type:
PEP-raven-20220412-0120 PIXEL EXPERIENCE PLUS.zip
or
raven-factory-22304000 CALYXOS.zip

1) unlock the bootloader via adb commands (fastboot flashing unlock)
2) back to android 12.1 with april patch (now I'm on android 13 dp2) via pixel flasher
3) I select the rom and platform tools
4) I prepare the package
5) Flash Pixel Phone

I am attaching photos if I have selected everything correctly.

right ?
 

Attachments

  • Immagine 2022-04-13 140737.png
    Immagine 2022-04-13 140737.png
    64.6 KB · Views: 34

badabing2003

Recognized Contributor
Sep 17, 2012
2,339
3,356
Hi, can I install the customize roms, type:
PEP-raven-20220412-0120 PIXEL EXPERIENCE PLUS.zip
or
raven-factory-22304000 CALYXOS.zip

1) unlock the bootloader via adb commands (fastboot flashing unlock)
2) back to android 12.1 with april patch (now I'm on android 13 dp2) via pixel flasher
3) I select the rom and platform tools
4) I prepare the package
5) Flash Pixel Phone

I am attaching photos if I have selected everything correctly.

right ?
Unfortunately there is no one size fit all answer when it comes to custom ROMs, each ROM steps are specific to that ROM, some need custom recovery, and things done through custom recovery, some provide rooted boot, others don't, what partitions they write ...

That is exactly why advanced mode has that red warning, you'd have to follow the guides posted by the ROM maker and know what you're doing.

I'm almost certain that the options you have selected in your screenshot won't work, you have specified a custom ROM where you need to specify a factory image.
It is important that a true factory image is selected because PixelFlasher processes the contents of a Factory image, expects certain files in there, parses the scripts, extracts boot.img ...
I doubt that the custom ROM has the same fileset (ie full factory image along with flashing scripts), if it were, then probably the flashing guide of the ROM would have been just unpack and run the flash script.

I'll give you an example of statix_oriole-SNOWCONE-20220226-img.zip
This is an equivalent of image-oriole-sp2a.220405.004.zip (which is a file found inside the zip of the factory image), basically to flash this ROM, you follow the factory flashing steps (which would include flashing the bootloader and radio first) and then instead of flashing (update) image-oriole-sp2a.220405.004.zip you flash statix_oriole-SNOWCONE-20220226-img.zip.
The boot is not patched
But this is specific to this ROM, maybe others do the same thing, but you'd have to check their guides and understand the steps.

If you wanted to flash the statix ROM with PixelFlasher.
- You select Pixel firmware for your phone (example: oriole-sp2a.220405.004-factory-f560807e.zip for Pixel 6)
- You select the ROM next where its says Apply Custom ROM
- You choose if you want to patch or not
- Prepare package, then flash.

But please read the custom ROM guide, understand the steps.
 

nibera

Senior Member
Apr 19, 2008
247
31
Unfortunately there is no one size fit all answer when it comes to custom ROMs, each ROM steps are specific to that ROM, some need custom recovery, and things done through custom recovery, some provide rooted boot, others don't, what partitions they write ...

That is exactly why advanced mode has that red warning, you'd have to follow the guides posted by the ROM maker and know what you're doing.

I'm almost certain that the options you have selected in your screenshot won't work, you have specified a custom ROM where you need to specify a factory image.
It is important that a true factory image is selected because PixelFlasher processes the contents of a Factory image, expects certain files in there, parses the scripts, extracts boot.img ...
I doubt that the custom ROM has the same fileset (ie full factory image along with flashing scripts), if it were, then probably the flashing guide of the ROM would have been just unpack and run the flash script.

I'll give you an example of statix_oriole-SNOWCONE-20220226-img.zip
This is an equivalent of image-oriole-sp2a.220405.004.zip (which is a file found inside the zip of the factory image), basically to flash this ROM, you follow the factory flashing steps (which would include flashing the bootloader and radio first) and then instead of flashing (update) image-oriole-sp2a.220405.004.zip you flash statix_oriole-SNOWCONE-20220226-img.zip.
The boot is not patched
But this is specific to this ROM, maybe others do the same thing, but you'd have to check their guides and understand the steps.

If you wanted to flash the statix ROM with PixelFlasher.
- You select Pixel firmware for your phone (example: oriole-sp2a.220405.004-factory-f560807e.zip for Pixel 6)
- You select the ROM next where its says Apply Custom ROM
- You choose if you want to patch or not
- Prepare package, then flash.

But please read the custom ROM guide, understand the steps.
Hi, in fact I have seen that each rom has its installation flasher, for example to install this rom PEP-raven-20220412-0120 PIXEL EXPERIENCE PLUS.zip I ran the command (fastboot update -w name.zip) but first I brought through the google tools from android 13 dp2 to android 12.1 april patch, then o had to unlock the bootloader (fastboot flashing unlock) and install the rom as described above, everything is ok.

to return stock with google firmware can i use your tools?
 

badabing2003

Recognized Contributor
Sep 17, 2012
2,339
3,356
Hi, in fact I have seen that each rom has its installation flasher, for example to install this rom PEP-raven-20220412-0120 PIXEL EXPERIENCE PLUS.zip I ran the command (fastboot update -w name.zip) but first I brought through the google tools from android 13 dp2 to android 12.1 april patch, then o had to unlock the bootloader (fastboot flashing unlock) and install the rom as described above, everything is ok.

to return stock with google firmware can i use your tools?
Again you have to check the custom ROM guides to see what steps (if any) need to be taken before reverting back to stock.
For some custom ROMs you do need to perform special revert actions otherwise you risk bricking your phone if you go ahead and blindly flash stock firmware, of course this is specific to each ROM.

Once you do those steps, or if there are no revert steps, you probably can just use PixelFlasher to flash stock firmware.
 
  • Like
Reactions: catseyenu

badabing2003

Recognized Contributor
Sep 17, 2012
2,339
3,356
@badabing2003 , I really like your work, well done, I couldn't find a donation link, can you please provide me with that. Thanks and keep up the good work.
Thanks for your consideration, appreciated.
Like I mentioned to other such queries, no donation is necessary, this is a payback to the community that has given me years of support and joy.
If you want to do something good, help others who're just starting or struggling navigating through the maze of information.
 

badabing2003

Recognized Contributor
Sep 17, 2012
2,339
3,356
New Release:
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.
 

Top Liked Posts

  • 3
    Is the latest platform tools still has issue using Pixel Flasher? Thanks
    It could work, but I'd stay away from it because there are reported issues.
    Stick to 33.0.3
    2
    Sorry if it wasn't clear by my update but I got my phone booted and magisk working. Here's the log file as requested: https://pastebin.com/bHWen09D
    By the way, in the future, if you click on the big support button or from the help menu, PixelFlasher generates a support.zip file that is sanitized (sensitive information like device id, username ... are redacted) furthermore It include visual event trace that makes it much easier for me to troubleshoot and understand what might have happened instead of scrutinizing the logs.
    Much easier and better for you, and for me as well,

    If this was my phone, I wouldn't trust the current state,
    I don't like the fact that on slot a you routinely got this warning.

    Code:
    Warning: skip copying bootloader_a image avb footer (bootloader_a partition size: 0, bootloader_a image size: 12628232).
    Warning: skip copying radio_a image avb footer (radio_a partition size: 0, radio_a image size: 113868940).

    Considering that your last flash was with wipe, and you didn't even get a wipe it does not smell good.
    As @Slim2none4u pointed out, stay away from Platform tools 34.x and use 33.0.3

    If wipe is still an option do the following.
    1. Enable advanced configuration
    2. make sure to use Platform Tools 33.0.3
    3. select factory, and the stock boot
    4. select Wipe all data
    5. select Flash to Both Slots
    6. select Force
    7. Flash Pixel Phone
    8. Provide support, so that I can check if everything was flashed properly., no warnings, no errors.
    If all good, setup phone, install Magisk
    select patch (if Magisk version is the same, you don't have to create patch again, you already have)
    Flash Boot
    1
    Sorry if it wasn't clear by my update but I got my phone booted and magisk working. Here's the log file as requested: https://pastebin.com/bHWen09D
    Wrong platform tools version. Use ver. 33.0.3.
    Unless you've changed to this version, I'm willing to wager you have issue that will present themselves.
  • 8
    New Release:
    June 01, 2023 v5.2.0.0 release
    • Update build workflows
    • Add payload_dumper functionality to PixelFlasher to handle OTA files, thanks to vm03 for sharing source code.
    • Added rules engine code to better / easier management of the UI widgets enabling / disabling.
    • Auto detect Pixel OTA image and extract boot / init_boot / vbmeta for patching and flashing.
    • Add Full OTA mode, which flashes full OTA image, while optionally retaining root, and best of all, for A/B devices, both slots are bootable, you can even have one rooted and one not.
    8
    New Release:
    May 19, 2023 v5.0.0.1 release
    • #75 Bug fix, when device is in bootloader, type error.
    • #74 Added Support for Pixel 7a (lynx)
    • Configuration option to define the file manager to use on Linux (default: Nautilus)
    • Configuration option to define the terminal emulator to use on Linux (default: gnome-terminal).
    • Support for additional types of Factory / ROM files.
    • Checksum validation of firmware / ROM files (if part of the checksum is in the name, otherwise just display)
    • New advanced option, ability to choose the patching method (with recommendations).
    • Added Recovery Image patching option.
    • Advanced option to enable the use of busybox shell (default off).
    • Auto detect firmware / rom with init_boot and use init_boot for creating patches, this way future firmware don't have to be manually added to PixelFlasher.
    • Auto detect devices with init_boot and use init_boot for flashing, this way future devices don't have to be manually added to PixelFlasher.
    • Auto-popup the detected devices dropdown after a scan, to make it obvious to select that next. (Thanks @pndwal for the idea)
    • Show SHA-256 of adb and fastboot binaries, as Google keeps on messing up Android Platform-tools, it's necessary to whitelist / blacklist specific binaries.
    • #66, when checking the patched files internal SHA1, provide a confidence rating.
    • Check, valdiate and warn if necessary when flashing an image patched with Magisk Zygote64_32, as there are wipe implications, provide links to documentation.
    • Added fastbootd testing to Dry Run.
    • Added Github actions to build all the targets on Github.
    • Code refactoring, bug fixes and improvements
    5
    @badabing2003 I apologize if this was discussed previously...

    How did you figure out how to make both slots bootable at the same time?

    In my experience, manually switching slots would cause several boot loops followed by boot failue. How did you get around this?
    As you probably already know, the reason why Factory flashing breaks dual booting (I know it is not the right term, but it is easier said than each time saying, being able to boot from both slots) is two fold.
    1. If you inspect the factory image, you'd see that there is system-other image , when you flash factory image, it flashes to current active slot, and doesn't care about the inactive slot, and in fact it flashes system-other.img to the inactive slot's system partition, effectively deeming that slot unbootable, because the contents of it is not system partition stuff, but rather odex files to be copied to /data on first boot, this is similar to how brand new phones are shipped, where only one slot is bootable.
    2. A while back I did some tests with factory images by removing system-other from being flashed and hence keeping the inactive slot intact (hopefully bootable), This would slow down the app optimization as there is nothing to copy on first boot, and optimization will happen on demand as applications are accessed.
      This approach worked on older Pixels (Pixel XL) however it failed on newer ones (probably all Android 10+ shipped Pixels), and that was due to AVB.
    That was left like that for a long time accepting the fact that we can't have dual boots until when a user ran into an issue and was asking about flashing OTA, it started here, you can see the progress of that discussion, then at this point I did some Full OTA based tests on Pixel 5.

    We know that OTA does not touch the active slot (which is the main point of A/B), so I was expecting no corruption, but was also expecting AVB to fail, and to my surprise it didn't.
    Then @Lughnasadh did more tests and confirmed my lucky findings.

    So now PF supports processing OTA image, extracting boot / patching it and then doing sideload OTA flash to achieve the dual booting.

    Over here I answered a user about the differences between factory and full OTA along with some pros / cons.
    5
    @badabing2003 I wanna say thank you for making PixelFlasher for our devices, it's a great tool that makes flashing quick and easy. I just have a quick question. I've flashed other custom ROMs fine, but I heard awhile back that I can't flash Evolution X ROM with your tool because they do it differently than other ROMs for the Pixels? I'm thinking because it first requires that you flash their vendor_boot vendor_boot.img in recovery, but I'm not totally sure. I was wondering if it's possible now to flash Evolution X with your tool, or would it be possible in the future?
    You're welcome.

    One of the key factors for PixelFlasher's success is the fact that across all Google based devices (Pixels and even older ones) the flashing steps are consistent.
    You get a factory image, run it while the phone is in bootloader mode.
    Yes PF manages to customize the flash_all script, to replace stock boot with patched boot add / remove flags ..., but all are predictable and consistent.

    Unfortunately we can't say the same thing about ROMs.
    Each ROM maker has their own flashing approach, and some even their own custom flashers / and different steps.
    Some run in recovery, some run in bootloader, the file structures are not consistent.
    To support a ROM, I would need to code for each ROM separately, which is a lot of effort for little gain, and even if I wanted to, some steps can't be automated, I can boot to recovery, but can't tell the phone to load and flash a file, it needs to be done on the phone, which also defeats the point of PF, (which is mainly an automation tool).

    Even the archiving of the artifacts differs from ROM to ROM.
    With Google, it's always a zip
    with some ROMs, it could be zip, tgz, tar, md5 (I don't even know why it's named ,md5, it's a tar-ed file)
    and to top it off, some have nested other archives, in one of the other various forms.

    I slowly started added support for different archive formats and with OTA support I also added support to unpack payload.bin file, which many ROMs use some more building blocks exist now than it did a while back.

    If all the steps can be automated, and the steps are consistent and don't change, then support can be added if there is enough interest, but please realize, I don't use any 3rd party ROMs, am not familiar with their subtleties , can't test and won't be able to provide help when things go wrong, do you still think I should support custom ROMs? I consider this an advanced modding, and hence expect advanced users to know how to do it.

    Take a look at this feature request for example, it's really much simpler than what you're requesting, and see all the questions I needed answered to be able to code something that works.
    3
    can you run this command on your pc while your phone is connected?
    Code:
    adb shell "su -c 'ls -al /data/adb/magisk'"

    Update:
    You would notice that stub.apk is conspicuously missing from there.
    Which is the root of the issue,
    PF can create a patch using various methods.
    Enable that feature in configuration settings.
    1684979653140.png

    Set the package name to io.github.huskydg.magisk (Magisk should not be hidden for this to work)
    When creating a patch you will be offered a choice of method.
    Choose Application even if root is recommended (just for delta)
    1684979779225.png


    And the patch should be ok, the 25210 apk has the stub.apk
  • 132

    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 executable is self contained and does not require Python™ to be installed on the system.

    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 manual steps) 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 (or init_boot.img for Pixel 7 / 7 Pro).
      • SHA1 checksum.
      • 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.
        • The SHA1 of the source boot.img file.
      • Option to Live boot from a choice of boot.img or patched image.
      • Flash just the boot / init_boot image.
    • Choose to keep data or wipe data while flashing.
    • Ability to flash even if multiple devices are connected to the computer.
    • Option to flash to inactive slot.
    • Display information about the phone.
      • ID
      • Hardware model.
      • Device architecture.
      • Current installed firmware (build).
      • If it is rooted with Magisk.
      • Magisk version (Magisk Tools).
      • Magisk Manager version (the app).
      • List installed Magisk modules.
      • Connection mode (Adb | Fastboot | Sideload | Recovery).
      • Bootloader version.
      • Active slot.
      • Android OS API version.
      • Convenient quick links to download Android platform tools or device firmware.
    • Magisk Manager installation UI, screenshot. Supported versions:
      • stable (official)
      • beta (official)
      • canary (official)
      • debug (official)
      • alpha
      • delta
      • special build that disables modules, used to recover from bootloops due to bad module(s) when safe mode does not work.
    • Magisk Backup Manager, screenshot.
      • List all Magisk backups currently on the device.
      • Highlight the one that is backup of the current installed version.
      • Delete backups.
      • Manually add backup from PC.
      • Auto Backup: PixelFlasher figures out what needs to be backed up, and if it finds it on the PC, it creates the backup.
    • Magisk modules management, enable / disable modules selectively, this comes in handy to disable suspect modules before an upgrade screenshot:
      • Name
      • Version
      • Description
      • Enabled / Disabled.
    • Display Android Platform Tools (SDK) version and warn / block if the version is old.
    • Install APK (an app) file from the computer onto the device.
    • 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.
    • Package (Application) Manager, screenshot:
      • Disable (Freeze)
      • Enable
      • Uninstall
      • Install APK
      • Download APK
      • Multi-Select
      • Show Package Details.
    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.
    • Option to flash to inactive slot.
    • 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.
    • Option to gain temporary root (good for testing or checking things out).
    • 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 start.
    Check the releases section for downloads.

    Supported platforms​

    • Windows
    • MacOSX
    • Linux (see this if you're having issues with a Linux build.)

    Usage

    Basic Mode

    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 connected devices
      (in adb, fastboot, sideload, recovery modes) and populate the combo box (2).
      Otherwise connect your phone to your PC, and hit the Scan button and then 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), (f.b), (sid) or (rec) to indicate connection mode adb / fastboot / sideload / recovery.
      • (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. If Magisk is not already be installed on your phone, PixelFlasher will install it for you.
      Your phone does not need to be rooted to create a patched boot.img file.
      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.
      Whether the phone is already rooted or not, the whole process is without any manual step.
    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.
      • SHA1 is (shortened for display only) sha1 of boot.img
      • Source SHA1 (shortened for display only) SHA1 of source boot.img extracted from the image (This should be the same as SHA1 of an unpatched boot.img)
      • Package Fingerprint 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 file from which boot.img was extracted.
    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 text suggests, this will wipe your data, use it with caution!
        If this mode is selected PixelFlasher will ask for confirmation during the flashing phase.
      • 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).
    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 Image of PixelFlasher GUI
    Image of PixelFlasher GUI

    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). Or select a boot.img from the list above and click on the paste button to paste the selected boot.img into the file selection. 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
        Select the appropriate flash options. Note: For Tensor devices (Pixel 6, Pixel 6a, Pixel 6 Pro, Pixel 7, Pixel 7 Pro) When Flash to both slots option is selected, Pixelflasher flashes each slot individually to overcome a Google bug that fails with the option --slot=all

    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. Your contributions are very much appreciated.
    • [Homeboy76] and [v0latyle] at xda 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 counts of xda members and their posts that tirelessly answer questions and share tools. Too many to enumerate.

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

    No 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.
    10
    Latest Release:

    June 03, 2003 v5.2.0.2 release
    • #76 Get a better build with Github action to support more Linux based platforms (no functionality changes).
    June 01, 2023 v5.2.0.1 release
    • Bug fix #78 Error when opening a shell console on Linux / Mac
    June 01, 2023 v5.2.0.0 release
    • Update build workflows
    • Add payload_dumper functionality to PixelFlasher to handle OTA files, thanks to vm03 for sharing source code.
    • Added rules engine code to better / easier management of the UI widgets enabling / disabling.
    • Auto detect Pixel OTA image and extract boot / init_boot / vbmeta for patching and flashing.
    • Add Full OTA mode, which flashes full OTA image, while optionally retaining root, and best of all, for A/B devices, both slots are bootable, you can even have one rooted and one not.

    May 25, 2023 v5.1.0.2 release
    • Skip testing fastbootd in dry run mode if Android platform tools version is > 34, is it no longer supports fastbootd (at least 34.0.3 does not)
    v5.1.0.1 release notes:
    • Exception handling when device is not in the listed Pixel devices.
    v5.1.0.0 release notes:
    • Support for Android platform tools version 34.0.3, and automatic setting of ANDROID_PRODUCT_OUT environment to workaround a regression introduced in version 34.0.3
    • Temp workaround to avoid selecting root method patching when Magisk Delta is detected.
    • Nicer looking / clearer manual patching dialog.
    • When a Pixel device is selected, PixelFlasher now displays additional information about the device's support.
      Things like: Device name, version end date, security update end date, Android version, name, codename, release date, end date.
    • Boot image list box now displays the applied PixelFlasher patch method.
    • Auto-resize boot image list box columns for better readability.
    • Precautionary cleanup up of leftover files on the phone in case root detection software keys on presence of such files.
    • #77 added attrict3 to requirements.txt in case it helps with certain builds (it shouldn't be needed).
    • Bug fixes and improvements.
    May 21, 2023 v5.0.1.0 release
    • Added workflow for building on MacOS 13.
    • ComboBox behavior on Mac is different than Windows, make adjustments.
    • Ability to set PixelFlasher working directory (no UI).
    • Speed up startup.
    • Popup device selection after Wifi adb connect.
    • Clear Device list after adb kill-server.
    May 19, 2023 v5.0.0.1 release
    • #75 Bug fix, when device is in bootloader, type error.https://github.com/badabing2005/PixelFlasher/issues/74
    • #74 Added Support for Pixel 7a (lynx)
    • Configuration option to define the file manager to use on Linux (default: Nautilus)
    • Configuration option to define the terminal emulator to use on Linux (default: gnome-terminal).
    • Support for additional types of Factory / ROM files.
    • Checksum validation of firmware / ROM files (if part of the checksum is in the name, otherwise just display)
    • New advanced option, ability to choose the patching method (with recommendations).
    • Added Recovery Image patching option.
    • Advanced option to enable the use of busybox shell (default off).
    • Auto detect firmware / rom with init_boot and use init_boot for creating patches, this way future firmware don't have to be manually added to PixelFlasher.
    • Auto detect devices with init_boot and use init_boot for flashing, this way future devices don't have to be manually added to PixelFlasher.
    • Auto-popup the detected devices dropdown after a scan, to make it obvious to select that next. (Thanks @pndwal for the idea)
    • Show SHA-256 of adb and fastboot binaries, as Google keeps on messing up Android Platform-tools, it's necessary to whitelist / blacklist specific binaries.
    • #66, when checking the patched files internal SHA1, provide a confidence rating.
    • Check, valdiate and warn if necessary when flashing an image patched with Magisk Zygote64_32, as there are wipe implications, provide links to documentation.
    • Added fastbootd testing to Dry Run.
    • Added Github actions to build all the targets on Github.
    • Code refactoring, bug fixes and improvements
    Apr 30, 2023 v4.10.0 release
    • Added no reboot option, with this option selected, after flashing is completed, the phone will not reboot to system, giving a chance to take other actions before reboot.
    • Added built-in file editor, you can now edit the flash script before running, in case you want to customize it (needless to say, should only be used if you know what you're doing)
    • Added a button to open an explorer in working directory, useful for people who want full control, perform manual actions by following guides, but using PixelFlasher to do the prep work.
    • Made the Firmware and Rom Process buttons, full with text. It wasn't obvious for some.
    • Detect and handle Magisk Zygote64_32 automatically, thanks to @Namelesswonder for adding the necessary marker.
    Apr 27, 2023 v4.9.0 release
    • Added support for installing / creating patch with @Namelesswonder Magisk zygisk64_32 (stable, beta, canary, debug versions).
    • Support for recognizing Lineage firmware and extracting / patching boot.
    • Display 32 bit capabilities of the device.
    • Utilize New Magisk 26.x flags as needed (patch support for more devices).
    • Disable Flash to Inactive slot and Flash to both slots button if the device is not A/B device.
    • Partition Manager can now list the partitions even if the devices is not rooted.
    • Added Custom Patch button, which allows selecting a boot file from disk and getting a patched file back to save to disk (all on the PC).
    • Added Open Folder button to open a file browser to the directory of the selected boot image.
    • Added Reboot to Download button (Odin mode).
    • Added Reboot to Safe Mode button.
    • Storage reorganization, store patched files next to the stock file, and set the patch name to clearly indicate both source and target sha1.
    • Various additional validation checks.
    • Bug fixes and other improvements.
    Apr 10, 2023 v4.8.2 release
    • Include additional Magisk versions in the check to display a warning dialog when the user has installed one of the known versions to have issues.
    • Display USNF related flag values when selecting a device.
    • Check the downloaded Google firmware checksum to match the one in the filename and warn if it does not.
    • Link to download Google USB Driver is added in the help menu.
    • Added more visual troubleshooting event flows.
    • Install APK now defaults to Non Market.
    • Added Install APK cancel option.
    • You can now select an app in package manager and right click to launch it on the phone.
    • Minor bug fixes and other improvements.
    Mar 14, 2023 v4.8.1 release
    • #47 Feature request: Added partition manager - Allows to erase partitions, and / or dump / backup partitions to PC.
    • Added more visual troubleshooting event flows.
    • Added warning message for when Android platform tools versions 34.0.0 and 34.0.1 are used.
    • Improved support.zip redactions.
    • Added Support.Zip generator button on the Main screen.
    • APK Install option can now set the ownership to Play Store Market (useful for Android Auto)
    • Check and warn the user when Magisk Canary versions 25207, 25208, 25209 and 25210 are being used.
    • Bug fixes and other improvements.
    Feb 12, 2023 v4.8.0 release
    • #50 Support for Android 14 Developer Preview for Pixel 7 and Pixel 7 Pro
    • #48 Do not allow patching with hidden Magisk (stub) and adb shell not granted root rights.
    • Block using Android Platform Tools version 34.0.0 and display a warning because it has known issues
    • Disable Magisk Backup Manager button if root access to adb shell is not granted.
    • Button to Open adb shell connected to the selected device.
    • Work in Progress: Generate graphical activity log to visualize the activity and speed up troubleshooting.
    Feb 05, 2023 v4.7.0 release
    • Added Magisk Backup Manager:
      • List all Magisk backups currently on the device.
      • Highlight the one that is backup of the current installed version.
      • Delete backups.
      • Manually add backup from PC.
      • Auto Backup: PixelFlasher figures out what needs to be backed up, and if it finds it on the PC, it creates the backup.
    • Added Reset on Magisk Manager package name setting to reset to default: com.topjohnwu.magisk
    • Linux / Mac build.sh now switches to the PixelFlasher folder if it is run from elsewhere.
    • Magisk installer improvements:
      • When installing Magisk Alpha or Delta, PixelFlasher updates the configuration to match the package name to the respective Magisk package.
      • Magisk installer window displays the package name.
      • You can now copy to clipboard, the download URL and package ID.
    • Magisk Manager columns are now wider for better readability.
    • Package Manager improvements:
      • Added Search / Filter option.
      • Show count of filtered packages.
      • Application Name (label column).
      • "Get Application Names" Button to resolve all package application names. This is a slow process, hence PixelFlasher caches them.
      • Button to download (pull) APKs from the device. (Multiple downloads in one shot is also supported).
      • Other under the hood improvements.
    • When selecting a firmware or ROM file, sha256 is printed to console and displayed on hover, to validate if it matches the published sha256.
    • More verbose logging that helps with troubleshooting.
    • Double click on "ADB Connected Devices" to invoke adb kill-server which is handy at times, specially when dealing with Wifi ADB.
    • Moved existing links under Help Menu | Links, and added few more handy links.
    • Added timestamp to support.zip filename.
    • On request, spinning cursor with text "Please be patient ..." is now displayed in red.
    • Flashing to inactive slot is now in basic configuration instead of advanced configuration.
    • Preparation work for version 5.0 DB improvements.
    • #40 Handle locale related exceptions which were causing PixelFlasher to not launch on some Windows 11 systems.
    • Add the ability to download and install a special Magisk version that has modules loading intentionally disabled. Required to get out of bootloops and manage to disable modules.
      Credit to gecowa6967 at XDA.
    Dec 05, 2022 v4.6.0 release
    • Added single click button to easily flash just the boot/init_boot (stock or patched) to the phone.
    • #39 Display Flash Option changes in the console, and allow flashing to inactive slot in basic mode.
    • #39 Do the Magisk backup only when rooted.
    • Decouple OTA sideload from needing factory image.
    • Other minor improvements.
    Dec 04, 2022 v4.5.0 release
    • New look (Artwork / Icons), compliments of @t-ryder (thank you), based on Material design icons.
    • New Feature: Package Manager, Install / Uninstall / Freeze (disable) / Unfreeze (enable) packages even system ones (root not required). Handy with Wifi ADB.
    • Use latest Python updated packages.
    • Ubuntu 22.04 support.
    • Miscellaneous improvements.
    Nov 09, 2022 v4.4.0 release
    • New feature: Font and Font size should be configurable by the user #33
    • New feature: Added WiFi-ADB connect / disconnect button. Left click to connect, Right click to disconnect.
      Handy to access a device remotely.
      Note: This only works in adb mode, so no fastboot or flashing features work for remote devices, but for patching / installing apks, managing Magisk modules it works well (basically anything that is done in adb).
      I personally use this to test patching on remote devices, and also use it to access / install apps to my watch.
    • Ground work for future features: Get installed Package list, and list which are disabled, enable / disable / uninstall apps. (Will be available in future release).
    • Move Flash Option Flash to inactive slot to Basic mode from Advanced mode..
    • Minor UI Improvements
    • If Magisk does not create a backup attempt to trigger Magisk to create one.
    • Update readme to include Pixel 7 / 7P specific info.
    Oct 27, 2022 v4.3.1.0 release
    • Bug Fix: Magisk modules not listed on MacOS / Linux
    Oct 16, 2022 v4.3.0.1 release
    • Bug fix: #30 Error during firmware processing file extraction phase.
    • PixelFlasher-Linux is now labeled PixelFlasher-Ubuntu (It is built on Ubuntu which is not compatible with all Linux flavors. Even though PixelFlasher-Kali is more compatible, it is still not a one size fits all solution.)
    Oct 15, 2022 v4.3.0 release
    • New: You can now download and install alpha and delta Magisk versions in addition to the official stable, beta, canary and debug versions.
    • Bug fix: Generating support.zip file was modifying the main db file unnecessarily.
    • Bug fix: When patching with Magisk Manager the version of Magisk Manager was not being displayed in the boot images table.
    • Bug fix: MacOS downloaded Magisk had space in the file path, which was causing failed installation.
    Oct 13, 2022 v4.2.0 pre-release
    • Support for Pixel 7, 7p (init_boot extraction and patching / flashing).
    • Added Pixel 7 / 7p partitions flashing options to custom flash.
    • Improved patching process using boot_patch, add more patch file validations.
    • Check for Magisk backup and trigger Magisk to backup if missing.
    • Add more logging messages for troubleshooting.
    • Code optimization / improvements.
    • Bug Fix #28 Error when opening download link without a device selected.
    • Added set_version script to easily set the product version.
    • Print path of the selected boot to console, for easy copy / paste.
    Oct 05, 2022 v4.1.4 release
    • Rooted Magisk patching will now automatically back up stock-boot.img (more to come).
    • Bug Fix #27, handle version exception.
    Oct 05, 2022 v4.1.3 release
    • Bug Fix: Extract Magisk Manager version properly.
    Oct 04, 2022 v4.1.2 release
    • include busybox binaries for different Android architectures (arm64-v8a, armeabi-v7a, x86_64, x86)
    • don't use hidden Magisk for patching, as it is a stub only.
    Oct 03, 2022 v4.1.1. release
    • Bug Fix: Bundle busybox with PixelFlasher to be used for unzipping Magisk.
    • Bug Fix #25, use the Magisk Manager version number instead of Rooted Magisk version number.
    • Cosmetic changes and a bit more logging.
    Oct 03, 2022 v4.1.0 pre-release
    • Patching is now fully automatic with or without root.
      PixelFlasher uses installed Magisk Manager binaries to create a patch (root binaries are only used if Magisk Manager is not available / accessible)
      UIAutomator no longer necessary, neither asking the user to manually patch and click ok when done.
    • Added an option to set a hidden Magisk package name so that PixelFlasher can find the Magisk and use it, the user still has a choice to use root binaries.
    • Speed improvements for device property reading.
    • Speed improvements for Magisk modules reading.

      NOTICE:
      I'm marking this release as pre-release because I just found out that unzip is not normally available on the phone, which this new patching mechanism uses.
      On my test phones they were available.
      Unless you have unzip on your phone, you should avoid using this version.
      Sorry about this oversight.
    Sep 25, 2022 v4.0.0 pre-release
    • New Feature: On supported devices, where device is not yet rooted (or adb shell su not allowed), an option to control the Magisk Manager GUI (drive UI) to programmatically control the app through UIAutomator and create a patched boot.img
      See Patching flow chart for details.
    • New Feature: Detect if Magisk Manager is at a higher version than installed Magisk, warn the user of a potential rare corner case and offer a choice of patching method.
    • New Feature: Temporary Root, when flashing if you choose this option, the phone will be flashed with unpatched boot.img, but Live boot to patched boot.img to provide a temporary root.
    • New Feature: Warn the user to flash both bootloader slots if their device is a Tensor device (Pixel 6, Pixel 6a, Pixel 6 Pro), if current version of OS is lower than Android 13.
    • New Feature: Flash to inactive slot. Unlike OTA flashing factory image flashing is always done on the current active slot, with this option selected, PixelFlasher will write to inactive slot. This allows one to revert to current working state in case anything goes wrong. This feature combined with Temporary Flash provides best method to test a new firmware without risking losing current working setup.
      Note: You should avoid this option if you are on a Tensor device and are upgrading from Android 12 to Android 13 (see the previous feature).
    • New Feature: Detect and operate on devices that are in Sideload or Recovery mode.
    • New spinner to indicate PixelFlasher activity.
    • Renamed Reload button to Scan, to better reflect the button's function. After a scan print the count of devices found.
    • PixelFlasher previously used MD5 to uniquely identify boot images (patched or otherwise), with version 4.0.0 PixelFlasher now uses SHA1 instead of MD5.
      This has no bearing on the functionality, it just better aligns with Magisk way of identifying and tagging boot images.
    • PixelFlasher now extracts the embedded SHA1 of a Magisk Patched images (only available in newer devices) and assures that it matches the source boot.img's SHA1.
      This is just an extra validation.
    • Code cleanup / refactoring, adding more validations and exception handling.
    • Print debug details when encountering non compliant Magisk modules.
    • Firmware link now takes you to the device's download page instead of just the general download page.
    • To better reflect the file details, transferred and stored boot.img files are now suffixed by their shortened SHA1, while magisk_patched.img files are now suffixed by shortened SHA1 of their source boot.img.
    • Allow sideload even if bootloader is locked.
    Sep 04, 2022 v3.7.0 release
    • New Feature: Install Magisk into the phone, PixelFlasher displays information about the latest available Magisk versions (stable, beta, canary, debug) and offers the choice to install a selection.
    • New Feature: Install compatible apk file onto the device from PixelFlasher menu.
    • Check Android Platform Tools version and warn if it is old.
    • Block flashing when stock flash_all.bat file is tampered with.
    • Don't bother with flashing if bootloader is locked.
    • More validations and exceptions handling.
    • Improved logging.
    Aug 24, 2022 v3.6.0 release
    • When a device is selected, the Bootloader version is displayed. (Useful for Pixel 6* devices with ARB). Works in adb and fastboot modes.
    • Added a button to dump full device info (useful for troubleshooting). Works in adb and fastboot modes.
    • Improved tooltips.
    Aug 21, 2022 v3.5.1 release
    • Fix: Incorrect warning is displayed when Flash on both slots is selected.
    • The contents of the generated flash-phone.bat file will now be displayed on console even if verbose option is not selected, this helps the user know exactly what commands would be executed before clicking the OK button.
    Aug 19, 2022 v3.5.0 release
    • Add support for fastboot --force flag (to help fix partition issues, caution it will wipe data) see this.
    • Split image flashing to all slots into two separate single slot flashing to bypass a Google bug on Pixel 6* devices, see this by @Namelesswonder
    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)
    9
    Device specific support threads:

    Troubleshooting:
    • See this post.
    • Generate Sanitized support.zip file (File Menu) and submit that with your report.
    8
    New Release:
    Apr 27, 2023 v4.9.0 release
    • Added support for installing / creating patch with @Namelesswonder Magisk zygisk64_32 (stable, beta, canary, debug versions).
    • Support for recognizing Lineage firmware and extracting / patching boot.
    • Display 32 bit capabilities of the device.
    • Utilize New Magisk 26.x flags as needed (patch support for more devices).
    • Disable Flash to Inactive slot and Flash to both slots button if the device is not A/B device.
    • Partition Manager can now list the partitions even if the devices is not rooted.
    • Added Custom Patch button, which allows selecting a boot file from disk and getting a patched file back to save to disk (all on the PC).
    • Added Open Folder button to open a file browser to the directory of the selected boot image.
    • Added Reboot to Download button (Odin mode).
    • Added Reboot to Safe Mode button.
    • Storage reorganization, store patched files next to the stock file, and set the patch name to clearly indicate both source and target sha1.
    • Various additional validation checks.
    • Bug fixes and other improvements.
    8
    PixelFlasher 4.0.0 pre-release:
    Sep 25, 2022 v4.0.0 pre-release
    • New Feature: On supported devices, where device is not yet rooted (or adb shell su not allowed), an option to control the Magisk Manager GUI (drive UI) to programmatically control the app through UIAutomator and create a patched boot.img
      See Patching flow chart for details.
    • New Feature: Detect if Magisk Manager is at a higher version than installed Magisk, warn the user of a potential rare corner case and offer a choice of patching method.
    • New Feature: Temporary Root, when flashing if you choose this option, the phone will be flashed with unpatched boot.img, but Live boot to patched boot.img to provide a temporary root.
    • New Feature: Warn the user to flash both bootloader slots if their device is a Tensor device (Pixel 6, Pixel 6a, Pixel 6 Pro), if current version of OS is lower than Android 13.
    • New Feature: Flash to inactive slot. Unlike OTA flashing factory image flashing is always done on the current active slot, with this option selected, PixelFlasher will write to inactive slot. This allows one to revert to current working state in case anything goes wrong. This feature combined with Temporary Flash provides best method to test a new firmware without risking losing current working setup.
      Note: You should avoid this option if you are on a Tensor device and are upgrading from Android 12 to Android 13 (see the previous feature).
    • New Feature: Detect and operate on devices that are in Sideload or Recovery mode.
    • New spinner to indicate PixelFlasher activity.
    • Renamed Reload button to Scan, to better reflect the button's function. After a scan print the count of devices found.
    • PixelFlasher previously used MD5 to uniquely identify boot images (patched or otherwise), with version 4.0.0 PixelFlasher now uses SHA1 instead of MD5.
      This has no bearing on the functionality, it just better aligns with Magisk way of identifying and tagging boot images.
    • PixelFlasher now extracts the embedded SHA1 of a Magisk Patched images (only available in newer devices) and assures that it matches the source boot.img's SHA1.
      This is just an extra validation.
    • Code cleanup / refactoring, adding more validations and exception handling.
    • Print debug details when encountering non compliant Magisk modules.
    • Firmware link now takes you to the device's download page instead of just the general download page.
    • To better reflect the file details, transferred and stored boot.img files are now suffixed by their shortened SHA1, while magisk_patched.img files are now suffixed by shortened SHA1 of their source boot.img.
    • Allow sideload even if bootloader is locked.