payload_dumper icon indicating copy to clipboard operation
payload_dumper copied to clipboard

SOS

Open AnmiTaliDev opened this issue 1 year ago • 1 comments

✘ ildar@ildar  ~/Загрузки  python3 payload_dumper.py payload.bin Traceback (most recent call last): File "/home/ildar/Загрузки/payload_dumper.py", line 15, in import update_metadata_pb2 as um File "/home/ildar/Загрузки/update_metadata_pb2.py", line 33, in _descriptor.EnumValueDescriptor( File "/home/ildar/.local/lib/python3.11/site-packages/google/protobuf/descriptor.py", line 914, in new _message.Message._CheckCalledFromGeneratedFile() TypeError: Descriptors cannot be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0. If you cannot immediately regenerate your protos, some other possible workarounds are:

  1. Downgrade the protobuf package to 3.20.x or lower.
  2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates ✘ ildar@ildar  ~/Загрузки 

AnmiTaliDev avatar May 19 '24 10:05 AnmiTaliDev

While I highly doubt this software will ever get updated to fix this problem, there is a workaround to this that I've just discovered: Python virtual environments.

If these Python modules can't be downgraded in our Linux systems, then we can make an environment that will install older versions of the same modules required for this to work.

As taken from the waydroid_script instructions (be sure to do this within the payload_dumper folder):

python3 -m venv venv
venv/bin/pip install -r requirements.txt
venv/bin/python3 payload_dumper.py /location/of/your/payload.bin

For my current system in Arch Linux, this is the solution that has solved this issue for me. Give it a try!

ryanbarillosofficial avatar Jul 18 '24 05:07 ryanbarillosofficial