here is the log when i tried to extract any a/b ota,
AB OTA detected
Traceback (most recent call last):
File "/home/harun/android_tools/tools/Firmware_extractor/tools/extract_android_ota_payload/extract_android_ota_payload.py", line 13, in
import update_metadata_pb2
File "/home/harun/android_tools/tools/Firmware_extractor/tools/extract_android_ota_payload/update_metadata_pb2.py", line 34, in
_descriptor.EnumValueDescriptor(
File "/usr/local/lib/python3.10/dist-packages/google/protobuf/descriptor.py", line 755, in new
_message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not 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:
Downgrade the protobuf package to 3.20.x or lower.
Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
here is the log when i tried to extract any a/b ota,
AB OTA detected Traceback (most recent call last): File "/home/harun/android_tools/tools/Firmware_extractor/tools/extract_android_ota_payload/extract_android_ota_payload.py", line 13, in
import update_metadata_pb2
File "/home/harun/android_tools/tools/Firmware_extractor/tools/extract_android_ota_payload/update_metadata_pb2.py", line 34, in
_descriptor.EnumValueDescriptor(
File "/usr/local/lib/python3.10/dist-packages/google/protobuf/descriptor.py", line 755, in new
_message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not 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:
More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates No system.img found. Exiting
@ShivamKumarJha thanks for the reliable tools you made anyway..