Parsing and re-packing Android boot.img/vbmeta.img, supporting Android 12(preview)

Overview

Android_boot_image_editor

CI License

A tool for reverse engineering Android ROM images.

Getting Started

install required packages

Mac: brew install lz4 xz dtc

Linux: sudo apt install git device-tree-compiler lz4 xz-utils zlib1g-dev openjdk-11-jdk gcc g++ python3

Windows Subsystem for Linux(WSL): sudo apt install git device-tree-compiler lz4 xz-utils zlib1g-dev openjdk-11-jdk gcc g++ python

Windows: Make sure you have python3, JDK9+ and openssl properly installed. An easy way is to install Anaconda and Oracle JDK 11, then run the program under anaconda PowerShell.

Parsing and packing

Put your boot.img to current directory, then start gradle 'unpack' task:

cp <original_boot_image> boot.img
./gradlew unpack

Your get the flattened kernel and /root filesystem under ./build/unzip_boot:

build/unzip_boot/
├── boot.json     (boot image info)
├── boot.avb.json (AVB only)
├── kernel
├── second        (2nd bootloader, if exists)
├── dtb           (dtb, if exists)
├── dtbo          (dtbo, if exists)
└── root          (extracted initramfs)

Then you can edit the actual file contents, like rootfs or kernel. Now, pack the boot.img again

./gradlew pack

You get the repacked boot.img at $(CURDIR):

boot.img.signed

Well done you did it! The last step is to star this repo :smile

live demo

Supported ROM image types

Image Type file names platforms
boot images boot.img, vendor_boot.img all
recovery images recovery.img, recovery-two-step.img all
vbmeta images vbmeta.img, vbmeta_system.img etc. all
dtbo images dtbo.img linux & mac
sparse images system.img, vendor.img, product.img etc. linux & mac

Please note that the boot.img MUST follows AOSP verified boot flow, either Boot image signature in VBoot 1.0 or AVB HASH footer (a.k.a. AVB) in VBoot 2.0.

compatible devices

Device Model Manufacturer Compatible Android Version Note
ADT-3 (adt3) Askey/Google Y 12 (spp2.210219.010) amlogic inside,
Android TV
Pixel 3 (blueline) Google Y 12 (spp2.210219.008,
2021)
Pixel 3 (blueline) Google Y 11 (RP1A.200720.009,
2020)
more ...
Pixel 3 (blueline) Google Y Q preview (qpp2.190228.023,
2019)
more ...
Redmi K30 4G (phoenix[n]) XiaoMi Y 10 verified by @eebssk1
TS10 Topway Y 10 car headunit, @mariodantas
Pixel XL (marlin) HTC Y 9.0.0 (PPR2.180905.006,
Sep 2018)
more ...
K3 (CPH1955) OPPO Y for recovery.img
N for boot.img
Pie more
Z18 (NX606J) ZTE Y 8.1.0 more...
Nexus 9 (volantis/flounder) HTC Y(with some tricks) 7.1.1 (N9F27M, Oct 2017) tricks
Nexus 5x (bullhead) LG Y 6.0.0_r12 (MDA89E)
Moto X (2013) T-Mobile Motorola N
X7 (PD1602_A_3.12.8) VIVO N ? Issue 35

more examples

working with recovery.img

Please remember to clean the work directory first.

rm *.img
cp <your_recovery_image> recovery.img
./gradlew unpack
./gradlew pack
working with vbmeta.img
rm *.img
cp <your_vbmeta_image> vbmeta.img
./gradlew unpack
./gradlew pack
working with boot.img and vbmeta.img

If your vbmeta.img contains hash of boot.img, you MUST update vbmeta image together.

rm *.img
cp <your_boot_image> boot.img
cp <your_vbmeta_image> vbmeta.img
./gradlew unpack
./gradlew pack

Your boot.img.signed and vbmeta.img.signd will be updated together, then you can flash them to your device.

working with vendor_boot.img + vbmeta.img (Pixel 5 etc.) Most devices include hash descriptor of vendor_boot.img in vbmeta.img, so if you need to modify vendor_boot.img, you need to update vbmeta.img together.
rm *.img
cp <your_vendor_boot_image> vendor_boot.img
cp <your_vbmeta_image> vbmeta.img
./gradlew unpack
./gradlew pack
./gradlew flash

Please note that to use 'gradle flash', your host machine must be connectted to your DUT with adb, and you already 'adb root'.

How to disable AVB verification

The idea is to set flag=2 in main vbmeta.

rm *.img
cp <your_vbmeta_image> vbmeta.img
./gradlew unpack
vim -u NONE -N build/unzip_boot/vbmeta.avb.json  -c ":19s/0/2/g" -c ":wq"
./gradlew pack

Then flash vbmeta.img.signed to your device.

boot.img layout

Read layout of Android boot.img and vendor_boot.img.

References and Acknowledgement

more ...

Android version list https://source.android.com/source/build-numbers.html
Android build-numbers https://source.android.com/setup/start/build-numbers

cpio & fs_config
https://android.googlesource.com/platform/system/core
https://www.kernel.org/doc/Documentation/early-userspace/buffer-format.txt
AVB
https://android.googlesource.com/platform/external/avb/
boot_signer
https://android.googlesource.com/platform/system/extras
mkbootimg
https://android.googlesource.com/platform/system/tools/mkbootimg/+/refs/heads/master/
boot header definition
https://android.googlesource.com/platform/system/tools/mkbootimg/+/refs/heads/master/include/bootimg/bootimg.h
kernel info extractor
https://android.googlesource.com/platform/build/+/refs/heads/master/tools/extract_kernel.py
mkdtboimg
https://android.googlesource.com/platform/system/libufdt/
libsparse
https://android.googlesource.com/platform/system/core/+/refs/heads/master/libsparse/
Android Nexus/Pixle factory images
https://developers.google.cn/android/images

This project is developed with products by Jetbrains.

drawing
Comments
  • vivo iqoo PD1824 boot unpack failed

    vivo iqoo PD1824 boot unpack failed

    03:18:46.445 [main] WARN cfig.packable.PackableLauncher - [boot.img] will be handled by [BootImgParser] 03:18:46.504 [main] WARN cfig.packable.PackableLauncher - 'unpack' sequence initialized 03:18:46.505 [main] INFO cfig.packable.IPackable - deleting build/unzip_boot/ ... 03:18:46.509 [main] INFO Helper - deleting uiderrors 03:18:46.515 [main] INFO cfig.packable.BootImgParser - header version 2 03:18:46.523 [main] WARN cfig.bootimg.v2.BootHeaderV2 - BootImgHeader constructor 03:18:46.534 [main] INFO cfig.Avb - python aosp/avb/avbtool.v1.2.py verify_image --image boot.img aosp/avb/avbtool.v1.2.py: Signature check failed for SHA256_RSA2048 vbmeta struct boot.img Verifying image boot.img using embedded public key 03:18:46.606 [main] ERROR cfig.Avb - boot.img failed integrity check by "python aosp/avb/avbtool.v1.2.py verify_image --image boot.img" 03:18:46.973 [main] INFO KernelExtractor - [aosp/build/tools/extract_kernel.py, --input, build/unzip_boot/kernel, --output-configs, build/unzip_boot/kernel_configs.txt, --output-version, build/unzip_boot/kernel_version.txt] 03:18:46.974 [main] INFO KernelExtractor - kernel version: [4.14.190] 03:18:46.975 [main] INFO KernelExtractor - kernel config dumped to : build/unzip_boot/kernel_configs.txt 03:18:47.028 [main] INFO Helper - CMD: [lz4, -t, build/unzip_boot/ramdisk.img], workDir: null Error 44 : Unrecognized header : file cannot be decoded 03:18:47.039 [main] ERROR Helper - org.apache.commons.exec.ExecuteException: Process exited with an error: 44 (Exit value: 44): can not exec command Exception in thread "main" java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113) at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108) at cfig.packable.PackableLauncherKt.main(PackableLauncher.kt:108) Caused by: java.lang.IllegalArgumentException: ramdisk is in unknown format at cfig.bootimg.Common$Companion.dumpRamdisk(Common.kt:164) at cfig.bootimg.Common$Companion.dumpRamdisk$default(Common.kt:125) at cfig.bootimg.v2.BootV2.extractImages(BootV2.kt:193) at cfig.packable.BootImgParser.unpack(BootImgParser.kt:45) ... 8 more

    FAILURE: Build failed with an exception.

    opened by Liberations 14
  • gradlew unpack error

    gradlew unpack error

    system: Ubuntu 20.04 log:

    ./gradlew unpack

    Task :unpack [main] WARN cfig.packable.PackableLauncher - [boot.img] will be handled by [BootImgParser] [main] WARN cfig.packable.PackableLauncher - 'unpack' sequence initialized [main] INFO cfig.packable.BootImgParser - header version 2 [main] WARN cfig.bootimg.v2.BootHeaderV2 - BootImgHeader constructor [main] INFO cfig.Avb - python aosp/avb/avbtool.v1.2.py verify_image --image boot.img [main] ERROR cfig.packable.BootImgParser - boot.img failed integrity check by "python aosp/avb/avbtool.v1.2.py verify_image --image boot.img" [main] ERROR cfig.packable.BootImgParser - Parser can not continue [main] WARN cfig.packable.PackableLauncher - 'unpack' sequence completed

    BUILD SUCCESSFUL in 3s 13 actionable tasks: 1 executed, 12 up-to-date

    opened by scarlet-glass 12
  • 打包dtbo.img报错

    打包dtbo.img报错

    scarlet-glass@scarlet-glass-PC:~/Android_boot_image_editor-master$ ./gradlew pack

    Task :pack FAILED 09:08:36:540 WARN PackableLauncher - [dtbo.img] will be handled by [DtboParser] 09:08:36:616 WARN PackableLauncher - 'pack' sequence initialized Exception in thread "main" java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113) at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108) at cfig.packable.PackableLauncherKt.main(PackableLauncher.kt:105) Caused by: java.io.FileNotFoundException: build/unzip_boot/dtbo.header (没有那个文件或目录) at java.base/java.io.FileInputStream.open0(Native Method) at java.base/java.io.FileInputStream.open(FileInputStream.java:219) at java.base/java.io.FileInputStream.(FileInputStream.java:157) at cfig.packable.DtboParser.pack(DtboParser.kt:79) ... 8 more

    FAILURE: Build failed with an exception.

    • What went wrong: Execution failed for task ':pack'.

    Process 'command '/usr/lib/jvm/java-11-openjdk-amd64/bin/java'' finished with non-zero exit value 1

    • Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    • Get more help at https://help.gradle.org

    Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

    You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

    See https://docs.gradle.org/7.2/userguide/command_line_interface.html#sec:command_line_warnings

    BUILD FAILED in 2s 23 actionable tasks: 3 executed, 20 up-to-date scarlet-glass@scarlet-glass-PC:~/Android_boot_image_editor-master$

    opened by scarlet-glass 8
  • need some help using the tool

    need some help using the tool

    so i proceeded as per readme stuck while unpacking here is the log

    creator54  Android_boot_image_editor  master  l
    total 23M drwxr-xr-x 10 creator54 creator54 4.0K May 19 08:18 aosp/ drwxr-xr-x 3 creator54 creator54 4.0K May 19 08:18 avbImpl/ drwxr-xr-x 4 creator54 creator54 4.0K May 19 08:31 bbootimg/ -rw-r--r-- 1 creator54 creator54 23M May 19 08:21 boot.img drwxr-xr-x 4 creator54 creator54 4.0K May 19 08:58 build/ -rw-r--r-- 1 creator54 creator54 3.0K May 19 08:18 build.gradle.kts drwxr-xr-x 2 creator54 creator54 4.0K May 19 08:18 doc/ drwxr-xr-x 3 creator54 creator54 4.0K May 19 08:18 gradle/ -rwxr-xr-x 1 creator54 creator54 5.7K May 19 08:18 gradlew* -rw-r--r-- 1 creator54 creator54 2.9K May 19 08:18 gradlew.bat -rwxr-xr-x 1 creator54 creator54 4.0K May 19 08:18 integrationTest.py* -rw-r--r-- 1 creator54 creator54 12K May 19 08:18 LICENSE.md -rw-r--r-- 1 creator54 creator54 389 May 19 08:18 Makefile -rw-r--r-- 1 creator54 creator54 4.9K May 19 08:18 README.md -rw-r--r-- 1 creator54 creator54 323 May 19 08:18 settings.gradle.kts drwxr-xr-x 5 creator54 creator54 4.0K May 19 08:18 src/ drwxr-xr-x 2 creator54 creator54 4.0K May 19 08:18 tools/

    creator54  Android_boot_image_editor  master  ./gradlew unpack

    Task :unpack FAILED [main] WARN cfig.packable.PackableLauncher - [boot.img] will be handled by [BootImgParser] [main] WARN cfig.packable.PackableLauncher - 'unpack' sequence initialized [main] WARN cfig.bootimg.BootImgInfo - BootImgHeader constructor [main] INFO Parser - image info written to build/unzip_boot/bootimg.json [main] INFO Parser - kernel dumped to: build/unzip_boot/kernel, size=21.15538787841797MB [main] INFO KernelExtractor - [aosp/build/tools/extract_kernel.py, --input, build/unzip_boot/kernel, --output-configs, build/unzip_boot/kernel_configs.txt, --output-version, build/unzip_boot/kernel_version.txt] [main] INFO KernelExtractor - kernel version: [3.10.108] [main] INFO KernelExtractor - kernel config dumped to : build/unzip_boot/kernel_configs.txt [main] INFO Parser - ramdisk dumped to: build/unzip_boot/ramdisk.img.gz [main] INFO Helper - decompress(gz) done: build/unzip_boot/ramdisk.img.gz -> build/unzip_boot/ramdisk.img Exception in thread "main" java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:567) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113) at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:106) at cfig.packable.PackableLauncherKt.main(PackableLauncher.kt:92) Caused by: java.io.IOException: Cannot run program "cpio" (in directory "build/unzip_boot/root"): error=2, No such file or directory at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128) at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071) at java.base/java.lang.Runtime.exec(Runtime.java:589) at org.apache.commons.exec.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:61) at org.apache.commons.exec.DefaultExecutor.launch(DefaultExecutor.java:279) at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:336) at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166) at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:153) at cfig.Parser.unpackRamdisk(Parser.kt:31) at cfig.Parser.extractBootImg(Parser.kt:86) at cfig.packable.BootImgParser.unpack(BootImgParser.kt:46) ... 8 more Caused by: java.io.IOException: error=2, No such file or directory at java.base/java.lang.ProcessImpl.forkAndExec(Native Method) at java.base/java.lang.ProcessImpl.(ProcessImpl.java:319) at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:250) at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107) ... 18 more

    FAILURE: Build failed with an exception.

    • What went wrong: Execution failed for task ':unpack'.

    Process 'command '/usr/lib/jvm/java-13-openjdk/bin/java'' finished with non-zero exit value 1

    • Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    • Get more help at https://help.gradle.org

    BUILD FAILED in 1s 15 actionable tasks: 1 executed, 14 up-to-date

    opened by Creator54 8
  • Unpack vendor_boot failed

    Unpack vendor_boot failed

    Starting a Gradle Daemon (subsequent builds will be faster)
    
    > Task :unpack FAILED
    01:11:53.463 [main] WARN  cfig.packable.PackableLauncher - [vendor_boot.img] will be handled by [VendorBootParser]
    01:11:53.510 [main] WARN  cfig.packable.PackableLauncher - 'unpack' sequence initialized
    01:11:53.512 [main] INFO  cfig.packable.IPackable - deleting build/unzip_boot/ ...
    01:11:53.518 [main] INFO  Helper - deleting uiderrors
    01:11:53.603 [main] WARN  cfig.bootimg.v3.VendorBootHeader - VendorBootHeader constructor
    01:11:53.624 [main] WARN  cfig.bootimg.v3.VendorBoot - VrtEntry(size=809653825, offset=16777216, type=NONE, name='', boardIdStr='', file='build/unzip_boot/ramdisk.1')
    01:11:53.912 [main] INFO  Helper - CMD: [lz4, -t, build/unzip_boot/ramdisk.img], workDir: null
    build/unzip_boot/ram : decoded 132087296 bytes                                 
    01:11:53.960 [main] INFO  cfig.bootimg.Common - ramdisk is compressed lz4
    01:11:53.963 [main] INFO  Helper - CMD: [lz4, -d, -fv, build/unzip_boot/ramdisk.img.lz4, build/unzip_boot/ramdisk.img], workDir: null
    *** LZ4 command line interface 64-bits v1.9.2, by Yann Collet ***
    build/unzip_boot/ram : decoded 132087296 bytes                                 
    01:11:54.192 [main] INFO  cfig.utils.DTC - parsing DTB: build/unzip_boot/dtb
    FATAL ERROR: Blob has incorrect magic number
    01:11:54.194 [main] ERROR cfig.utils.DTC - can not parse DTB: build/unzip_boot/dtb
    01:11:54.197 [main] INFO  cfig.bootimg.v3.VendorBoot - dumping vendor ramdisk 1/1 ...
    Exception in thread "main" java.lang.reflect.InvocationTargetException
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.base/java.lang.reflect.Method.invoke(Method.java:566)
            at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97)
            at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113)
            at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108)
            at cfig.packable.PackableLauncherKt.main(PackableLauncher.kt:108)
    Caused by: java.lang.OutOfMemoryError: Java heap space
            at cfig.helper.Helper$Companion.extractFile(Helper.kt:119)
            at cfig.bootimg.Common$Companion.dumpRamdisk(Common.kt:127)
            at cfig.bootimg.Common$Companion.dumpRamdisk$default(Common.kt:125)
            at cfig.bootimg.v3.VendorBoot.extractImages(VendorBoot.kt:376)
            at cfig.packable.VendorBootParser.unpack(VendorBootParser.kt:34)
            ... 8 more
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':unpack'.
    > Process 'command '/home/nakixii/Android-studio/jre/bin/java'' finished with non-zero exit value 1
    
    * Try:
    > Run with --stacktrace option to get the stack trace.
    > Run with --info or --debug option to get more log output.
    > Run with --scan to get full insights.
    
    * Get more help at https://help.gradle.org
    
    Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
    
    You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
    
    See https://docs.gradle.org/7.4/userguide/command_line_interface.html#sec:command_line_warnings
    
    BUILD FAILED in 30s
    10 actionable tasks: 4 executed, 6 up-to-date
    

    vendor_boot download link: https://drive.google.com/file/d/1Ch1RFpDFYXtyJaHHBU6nRCXXLMniWP0w/view?usp=drivesdk

    opened by nakixii 7
  • boot.img flag support what?

    boot.img flag support what?

    When I unpack boot.img,I get boot.avb.json just like vbmeta.avb.json.I Know vbmeta.avb.json flag such as 0 1 2 3 mean what,But I don't Know boot.avb.json flag. When I change boot.sig.avb.json flag it report error...

    opened by qianmo-xw 7
  • Lzma early than lz4.

    Lzma early than lz4.

    • when user try to unpack image which ramdisk compressed with lzma, lz4 -t $IMAGE_FILE will return like 'Successfully decoded 13601602 bytes'. However in this case, tools cannot read entry and throw Exception.
    opened by 18712886438 7
  • gradlew unpack error on Ubuntu 20.04.1

    gradlew unpack error on Ubuntu 20.04.1

    $ ./gradlew unpack 
    
    > Task :bbootimg:compileKotlin FAILED
    e: /tmp/Android_boot_image_editor/bbootimg/src/main/kotlin/bootimg/cpio/AndroidCpio.kt: (251, 33): Unresolved reference: readAllBytes
    e: /tmp/Android_boot_image_editor/bbootimg/src/main/kotlin/bootimg/cpio/AndroidCpio.kt: (252, 30): Overload resolution ambiguity: 
    public inline fun String(stringBuffer: StringBuffer): String defined in kotlin.text
    public inline fun String(stringBuilder: StringBuilder): String defined in kotlin.text
    public inline fun String(bytes: ByteArray): String defined in kotlin.text
    public inline fun String(chars: CharArray): String defined in kotlin.text
    e: /tmp/Android_boot_image_editor/bbootimg/src/main/kotlin/bootimg/cpio/AndroidCpio.kt: (259, 44): Overload resolution ambiguity: 
    public inline fun String(stringBuffer: StringBuffer): String defined in kotlin.text
    public inline fun String(stringBuilder: StringBuilder): String defined in kotlin.text
    public inline fun String(bytes: ByteArray): String defined in kotlin.text
    public inline fun String(chars: CharArray): String defined in kotlin.text
    e: /tmp/Android_boot_image_editor/bbootimg/src/main/kotlin/bootimg/cpio/AndroidCpio.kt: (260, 56): Overload resolution ambiguity: 
    public inline fun String(stringBuffer: StringBuffer): String defined in kotlin.text
    public inline fun String(stringBuilder: StringBuilder): String defined in kotlin.text
    public inline fun String(bytes: ByteArray): String defined in kotlin.text
    public inline fun String(chars: CharArray): String defined in kotlin.text
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':bbootimg:compileKotlin'.
    > Compilation error. See log for more details
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    
    * Get more help at https://help.gradle.org
    
    BUILD FAILED in 7s
    1 actionable task: 1 executed
    

    cat /etc/issue Ubuntu 20.04.1 LTS

    java --version openjdk 11.0.9.1 2020-11-04 OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04) OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode)

    b108110dbd6d5d74bd57285cf988790782741efd

    opened by liugang 7
  • vbmeta pack FAILED

    vbmeta pack FAILED

    ./gradlew pack

    Task :pack FAILED [main] WARN cfig.packable.PackableLauncher - [vbmeta_a.img] will be handled by [VBMetaParser] [main] WARN cfig.packable.PackableLauncher - 'pack' sequence initialized Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113) at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108) at cfig.packable.PackableLauncherKt.main(PackableLauncher.kt:92) Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "flags-pVg5ArA" (class avb.desc.KernelCmdlineDescriptor), not marked as ignorable (7 known properties: "sequence", "num_bytes_following", "tag", "cmdline", "flagsInterpretation", "cmdlineLength-WZ4Q5Ns", "flags-WZ4Q5Ns"]) at [Source: (File); line: 238, column: 26] (through reference chain: avb.AVBInfo["auxBlob"]->avb.blob.AuxBlob["kernelCmdlineDescriptor"]->java.util.ArrayList[0]->avb.desc.KernelCmdlineDescriptor["flags-pVg5ArA"]) at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61) at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:855) at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:1212) at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1604) at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1582) at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:299) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:156) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:291) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:250) at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:27) at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:293) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:156) at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:293) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:156) at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4524) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3331) at cfig.Avb.packVbMeta(Avb.kt:273) at cfig.Avb.packVbMetaWithPadding(Avb.kt:309) at cfig.Avb.packVbMetaWithPadding$default(Avb.kt:308) at cfig.packable.VBMetaParser.pack(VBMetaParser.kt:26) ... 8 more

    FAILURE: Build failed with an exception.

    • What went wrong: Execution failed for task ':pack'.

    Process 'command '/usr/lib/jvm/java-8-openjdk/bin/java'' finished with non-zero exit value 1

    • Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    • Get more help at https://help.gradle.org

    BUILD FAILED in 16s 20 actionable tasks: 3 executed, 17 up-to-date

    opened by sanshu-rom 7
  • how to fix pack boot V3

    how to fix pack boot V3

    pls help me pack boot.img.v3 (android11)

    Exception in thread "main" java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113) at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108) at cfig.packable.PackableLauncherKt.main(PackableLauncher.kt:92) Caused by: java.nio.BufferOverflowException at java.base/java.nio.HeapByteBuffer.put(HeapByteBuffer.java:221) at cfig.bootimg.Common$Companion.writePaddedFile(Common.kt:287) at cfig.bootimg.v3.BootV3.pack(BootV3.kt:104) at cfig.packable.BootImgParser.pack(BootImgParser.kt:57) ... 8 more

    opened by Leminh8686 6
  • unknown issue caused fail on pack

    unknown issue caused fail on pack

    unpack is success, but pack fail.

    Task :pack FAILED [main] WARN cfig.packable.PackableLauncher - [boot.img] will be handled by [BootImgParser] [main] WARN cfig.packable.PackableLauncher - 'pack' sequence initialized [main] INFO cfig.packable.BootImgParser - Loading config from build/unzip_boot/boot.json [main] INFO cfig.bootimg.Common - Deleting build/unzip_boot/ramdisk.img.gz ... [main] INFO cfig.bootimg.Common - Deleting build/unzip_boot/ramdisk.img ... [main] INFO cfig.bootimg.v2.BootV2 - OS Major: 16 [main] INFO cfig.bootimg.Common - Packing rootfs build/unzip_boot//root ... [main] INFO cfig.bootimg.Common - CMD: aosp/mkbootfs.16/build/exe/mkbootfs/mkbootfs build/unzip_boot//root -> PIPE -> build/unzip_boot/ramdisk.img.gz Exception in thread "main" java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113) at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108) at cfig.packable.PackableLauncherKt.main(PackableLauncher.kt:92) Caused by: java.io.IOException: Cannot run program "aosp/mkbootfs.16/build/exe/mkbootfs/mkbootfs" (in directory "."): error=2, No such file or directory at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128) at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071) at java.base/java.lang.Runtime.exec(Runtime.java:592) at org.apache.commons.exec.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:61) at org.apache.commons.exec.DefaultExecutor.launch(DefaultExecutor.java:279) at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:336) at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166) at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:153) at cfig.bootimg.Common$Companion.packRootfs(Common.kt:186) at cfig.bootimg.v2.BootV2.pack(BootV2.kt:329) at cfig.packable.BootImgParser.pack(BootImgParser.kt:62) ... 8 more Caused by: java.io.IOException: error=2, No such file or directory at java.base/java.lang.ProcessImpl.forkAndExec(Native Method) at java.base/java.lang.ProcessImpl.(ProcessImpl.java:340) at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:271) at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107) ... 18 more

    FAILURE: Build failed with an exception.

    • What went wrong: Execution failed for task ':pack'.

    Process 'command '/usr/lib/jvm/java-11-openjdk-amd64/bin/java'' finished with non-zero exit value 1

    • Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    • Get more help at https://help.gradle.org

    BUILD FAILED in 2s 20 actionable tasks: 3 executed, 17 up-to-date

    opened by 99degree 6
  • Incompatable WITH dtbo.img  ?

    Incompatable WITH dtbo.img ?

    So i'm trying to de-compile the dtbo_a and i've pulled it to pc.. adb root && adb pull /dev/block/bootdevice/by-name/dtbo_a dtbo.img

    then i tried ./gradlew unpack dtbo.img i got this Android_boot_image_editor$ ./gradlew unpack dtbo.img

    FAILURE: Build failed with an exception.

    • What went wrong: Task 'dtbo.img' not found in root project 'boot'.

    • Try:

    Run gradlew tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    • Get more help at https://help.gradle.org

    Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

    You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

    See https://docs.gradle.org/7.5/userguide/command_line_interface.html#sec:command_line_warnings

    BUILD FAILED in 6s ######################################################

    then i tried renaming dtbo.img to boot.img and did this...$ ./gradlew unpack

    and $ ./gradlew unpack

    Task :unpack FAILED 15:44:35.682 [main] WARN cfig.packable.PackableLauncher - [boot.img] will be handled by [BootImgParser] 15:44:35.862 [main] WARN cfig.packable.PackableLauncher - 'unpack' sequence initialized 15:44:35.871 [main] INFO Helper - deleting uiderrors 15:44:35.887 [main] INFO cfig.packable.BootImgParser - header version 0 15:44:36.188 [main] WARN cfig.bootimg.v2.BootHeaderV2 - BootImgHeader constructor Exception in thread "main" java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113) at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108) at cfig.packable.PackableLauncherKt.main(PackableLauncher.kt:108) Caused by: java.lang.IllegalArgumentException: stream doesn't look like Android Boot Image Header at cfig.bootimg.v2.BootHeaderV2.(BootHeaderV2.kt:64) at cfig.bootimg.v2.BootV2$Companion.parse(BootV2.kt:87) at cfig.packable.BootImgParser.unpack(BootImgParser.kt:45) ... 8 more

    FAILURE: Build failed with an exception.

    • What went wrong: Execution failed for task ':unpack'.

    Process 'command '/usr/lib/jvm/zulu-17-amd64/bin/java'' finished with non-zero exit value 1

    • Try:

    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    • Get more help at https://help.gradle.org

    Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

    You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

    See https://docs.gradle.org/7.5/userguide/command_line_interface.html#sec:command_line_warnings

    BUILD FAILED in 5s 10 actionable tasks: 1 executed, 9 up-to-date #############################################################

    so can anyone tell me whats going wrong here? maybe i'm not clear on how to use this for dtbo.img's thanks for any help

    opened by astrayal 3
  • Kernel 5.10 Mediatek GKI 2.0 Platform Issue (Dimensity 8100 - MT6895Z)

    Kernel 5.10 Mediatek GKI 2.0 Platform Issue (Dimensity 8100 - MT6895Z)

    Hello there.

    I unpacked my original boot.img with your tool, switched the "kernel" part with the GKI I built with latest android12-5.10 build environment. I used gki_defconfig. But it doesn't boot. Is there maybe something different with MTK GKI 2.0 platform? What might be the problem here?

    Here are my original images and the GKI Image I built.

    https://drive.google.com/drive/folders/1VPC6lM7kWc0wTaxTcZFCwBbvRxCnvbQ9?usp=share_link

    opened by v4lkyr 9
  • Error run on base Chroot linux

    Error run on base Chroot linux

    Im try unpack on my android terminal. And get many error.Its posible run on android 🤔

    Logs: 'uname -a root@kali:/# uname -a Linux kali 4.9.190+ #1 SMP PREEMPT Tue Mar 8 16:07:16 CST 2022 armv7l GNU/Linux root@kali:/# ls bin etc media root srv usr boot external_sd mnt run sys var captures home opt sbin system dev lib proc sdcard tmp root@kali:/# cd home root@kali:/home# ls booteditor kali root@kali:/home# cd booteditor root@kali:/home/booteditor# ls LICENSE.md bbootimg gradlew src README.md boot.img gradlew.bat tools aosp build integrationTest.py root@kali:/home/booteditor# ./gradlew unpack 23:54:54.581 [main] WARN cfig.packable.PackableLauncher - [boot.img] will be handled by [BootImgParser] 23:54:55.078 [main] WARN cfig.packable.PackableLauncher - 'unpack' sequence initialized 23:54:55.102 [main] INFO cfig.packable.IPackable - deleting build/unzip_boot/ ... 23:54:55.140 [main] INFO Helper - deleting uiderrors 23:54:55.178 [main] INFO cfig.packable.BootImgParser - header version 2 23:54:56.092 [main] WARN cfig.bootimg.v2.BootHeaderV2 - BootImgHeader constructor 23:54:56.195 [main] INFO cfig.Avb - python aosp/avb/avbtool.v1.2.py verify_image --image boot.img Verifying image boot.img using embedded public key vbmeta: Successfully verified footer and SHA256_RSA2048 vbmeta struct in boot.img Traceback (most recent call last): File "/home/booteditor/aosp/avb/avbtool.v1.2.py", line 4877, in tool.run(sys.argv) File "/home/booteditor/aosp/avb/avbtool.v1.2.py", line 4682, in run args.func(args) File "/home/booteditor/aosp/avb/avbtool.v1.2.py", line 4816, in verify_image self.avb.verify_image(args.image.name, args.key, File "/home/booteditor/aosp/avb/avbtool.v1.2.py", line 2573, in verify_image elif not desc.verify(image_dir, image_ext, expected_chain_partitions_map, File "/home/booteditor/aosp/avb/avbtool.v1.2.py", line 1678, in verify image = ImageHandler(image_filename, read_only=True) File "/home/booteditor/aosp/avb/avbtool.v1.2.py", line 759, in init self._read_header() File "/home/booteditor/aosp/avb/avbtool.v1.2.py", line 774, in _read_header self._image = open(self.filename, 'rb') FileNotFoundError: [Errno 2] No such file or directory: 'recovery.img' 23:54:57.258 [main] ERROR cfig.Avb - boot.img failed integrity check by "python aosp/avb/avbtool.v1.2.py verify_image --image boot.img" Exception in thread "main" java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113) at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108) at cfig.packable.PackableLauncherKt.main(PackableLauncher.kt:108) Caused by: java.io.IOException: Cannot run program "aosp/make/tools/extract_kernel.py" (in directory "."): error=13, Permission denied at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128) at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071) at java.base/java.lang.Runtime.exec(Runtime.java:592) at org.apache.commons.exec.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:61) at org.apache.commons.exec.DefaultExecutor.launch(DefaultExecutor.java:279) at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:336) at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166) at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:153) at cfig.utils.KernelExtractor.run(KernelExtractor.kt:48) at cfig.bootimg.Common$Companion.parseKernelInfo(Common.kt:114) at cfig.bootimg.Common$Companion.dumpKernel(Common.kt:122) at cfig.bootimg.v2.BootV2.extractImages(BootV2.kt:192) at cfig.packable.BootImgParser.unpack(BootImgParser.kt:46) ... 8 more Caused by: java.io.IOException: error=13, Permission denied at java.base/java.lang.ProcessImpl.forkAndExec(Native Method) at java.base/java.lang.ProcessImpl.(ProcessImpl.java:340) at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:271) at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107) ... 20 more root@kali:/home/booteditor#'

    opened by NusaStudio 3
  • Support for vendor_dlkm img

    Support for vendor_dlkm img

    I am wondering if you would like to add support for vendor_dlkm images, which is becoming increasingly common as described in https://source.android.com/devices/bootloader/partitions/vendor-odm-dlkm-partition . You may find such partition image from current Pixel 6 ROMs.

    -> % ls
    aosp      build             gradle       helper              README.md            tools
    avbImpl   build.gradle.kts  gradlew      integrationTest.py  settings.gradle.kts  uiderrors
    bbootimg  doc               gradlew.bat  LICENSE.md          src                  vendor_dlkm.img
    
    
    -> % ./gradlew unpack
    
    > Task :unpack FAILED
    20:24:39.632 [main] WARN  cfig.packable.PackableLauncher - No handler is activated, DO NOTHING!
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':unpack'.
    > Process 'command '/usr/lib/jvm/java-18-openjdk-amd64/bin/java'' finished with non-zero exit value 2
    
    opened by hosiet 4
  • can u support oem.img unpack/reapck

    can u support oem.img unpack/reapck

    https://share.weiyun.com/xknPvylq

    oem.img

    it is transfer from oem.new.dat.br by rom tools.

    oem_PD2049_CN-ZH_FULL_SC_CT-BMW.zip

    it is office update zip

    oem_unpack.zip

    it is adb pull from system root /oem

    wen@ubuntu:~/dev/bootdev$ ./gradlew unpack
    
    > Task :unpack FAILED
    10:43:38.054 [main] WARN  cfig.packable.PackableLauncher - [system.img] will be handled by [SparseImgParser]
    10:43:38.115 [main] WARN  cfig.packable.PackableLauncher - 'unpack' sequence initialized
    10:43:38.117 [main] INFO  cfig.packable.IPackable - deleting build/unzip_boot/ ...
    10:43:38.120 [main] INFO  Helper - deleting uiderrors
    10:43:38.122 [main] INFO  cfig.utils.SparseImgParser - parsing Android sparse image system.img ...
    10:43:38.126 [main] INFO  Helper - CMD: [./aosp/libsparse/simg2img/build/install/main/release/linux/simg2img, system.img, system.img.unsparse], workDir: null
    Invalid sparse file format at header magic
    Failed to read sparse file
    10:43:38.137 [main] ERROR Helper - org.apache.commons.exec.ExecuteException: Process exited with an error: 255 (Exit value: 255): can not exec command
    Exception in thread "main" java.lang.reflect.InvocationTargetException
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.base/java.lang.reflect.Method.invoke(Method.java:566)
            at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97)
            at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113)
            at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108)
            at cfig.packable.PackableLauncherKt.main(PackableLauncher.kt:108)
    Caused by: org.apache.commons.exec.ExecuteException: Process exited with an error: 255 (Exit value: 255)
            at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
            at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
            at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:153)
            at cfig.helper.Helper$Companion.check_call(Helper.kt:181)
            at cfig.helper.Helper$Companion.check_call$default(Helper.kt:172)
            at cfig.utils.SparseImgParser.simg2img(SparseImgParser.kt:70)
            at cfig.utils.SparseImgParser.unpack(SparseImgParser.kt:44)
            ... 8 more
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':unpack'.
    > Process 'command '/usr/lib/jvm/java-11-openjdk-amd64/bin/java'' finished with non-zero exit value 1
    
    * Try:
    > Run with --stacktrace option to get the stack trace.
    > Run with --info or --debug option to get more log output.
    > Run with --scan to get full insights.
    
    * Get more help at https://help.gradle.org
    
    Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
    
    You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
    
    See https://docs.gradle.org/7.4/userguide/command_line_interface.html#sec:command_line_warnings
    
    BUILD FAILED in 14s
    22 actionable tasks: 13 executed, 9 up-to-date
    
    
    opened by Liberations 3
Releases(v13_preview3)
Owner
null
Turtle Graphics 🐢 implementation for Android Platform with Code Editor, Preview Screen and packages

Turtle Graphics Download Turtle is an Android Application inspired from the original Turtle Graphics and Logo, Logo is an educational programming lang

Amr Hesham 15 Dec 30, 2022
This project is focused on the sample using the API's new preview version of Android-L, use of transitions, shadows etc...

Android L preview example Description This project is focused on the sample using the API's new preview version of Android-L, use of transitions, shad

Saul Molinero 165 Nov 10, 2022
An android app will start when boot and exit after 1s. Develop for Redmi K40 to enable DC dimming automatically.

An android app will start when boot and exit after 1s. Develop for Redmi K40 to enable DC dimming automatically.

Ovear 4 May 13, 2022
This is my first Spring Boot with Kotlin project and used React as frontend.

༒☬༒ ꜱᴘʀɪɴɢ ʙᴏᴏᴛ + ᴋᴏᴛʟɪɴ ༒☬༒ This project is simple course enrolment site built with React with Typescript and Spring boot with Kotlin. Frontend - Ove

Panduka Nandara 1 Mar 22, 2022
Text to Speech Project for Spring Boot and Kotlin, Auth Server, Python with Fast API (gTTS)

TTS-App Text to Speech Project for Spring Boot and Kotlin, Auth Server, Python with Fast API (gTTS) Python의 gTTS lib를 활용하여 텍스트를 음성으로 변환하는 서비스를 구현해봅니다.

Seokhyun 7 Jan 7, 2022
Kotlin Spring Boot on GCP App Engine Standard

Kotlin Spring Boot on GCP App Engine Standard Deploy locally git clone https://github.com/mvladoi/sinch-task.git cd springboot mvn spring-boot:run 7

Vladoi Marian 0 Nov 29, 2021
Vaibhav Jaiswal 57 Jan 3, 2023
Taskify - An app to manage your daily tasks and boost your productivity. Taskify is built using kotlin and follows all modern android Development practices and hence is a good learning resource for beginners

Taskify Taskify is an app to manage your daily tasks and boost your productivity Video Introduction ?? This is a small introduction video about Taskif

Vaibhav Jaiswal 101 Jan 4, 2023
Communicating between Wear OS and Android device using the OpWear module and a sample of displaying real-time camera on the watch and sending commands to the mobile by Wear OS.

OpWear-Cam Communicating between Wear OS and Android device using the OpWear module and a sample of displaying real-time camera on the watch and sendi

AmirHosseinAghajari 6 Nov 8, 2022
An app that is a one-stop destination for all the CS enthusiasts, providing resources like Information scrapping techniques, best YT channels, courses available free-of-cost, etc. & knowledge about every domain and field that exists on the Internet related to Computer Science along with News, Jobs, and Internships opportunities in these domains along with valuable tips and hacks from mentors for a particular domain.

An app that is a one-stop destination for all the CS enthusiasts, providing resources like Information scrapping techniques, best YT channels, courses available free-of-cost, etc. & knowledge about every domain and field that exists on the Internet related to Computer Science along with News, Jobs, and Internships opportunities in these domains along with valuable tips and hacks from mentors for a particular domain.

CSwala 48 Nov 26, 2022
A news application through which you can learn and browse all the news that interests you by choosing the country and type of news with the ability to browse and add some news to your favorites

MY-NEWS-Android A news application through which you can learn and browse all the news that interests you by choosing the country and type of news wit

Mahmoud ELramady 0 Nov 11, 2021
🌄 Photo editor using native modules for iOS and Android. Inherit from 2 available libraries, Brightroom (iOS) and PhotoEditor (Android)

React Native Photo Editor (RNPE) ?? Image editor using native modules for iOS and Android. Inherit from 2 available libraries, Brightroom (iOS) and Ph

Baron Ha. 242 Dec 28, 2022
🎥 A Simple and Minimal Movies Android Application to demonstrate the Modern Android Development and Jetpack Compose.

ComposeMovie Android ?? A Simple and Minimal Movies Android Application to demonstrate the Modern Android Development and Jetpack Compose. Built with

null 13 Oct 1, 2022
An Open-Source repository that contains all the Android Dev and Kotlin concepts and several projects on android ranging in difficulty making this repo completely beginner-friendly.

An Open-Source repository that contains all the Android Dev and Kotlin concepts and several projects on android ranging in difficulty making this repo completely beginner-friendly. The main aim of this repository is to help students who are learning Android Development or preparing for an Android Developer role-based job.

Mimo Patra 15 Dec 29, 2022
Android News App built in kotlin with implementation of MVVM architecture, android navigation components and retrofit. Displays news to users allowing them to share and save news.

News-App Android news app built in kotlin that fetches news data from news api with Retrofit and displays news to users. This App follow MVVM architec

Raj Manjrekar 16 Dec 29, 2022
Tachiyomi 20.4k Jan 9, 2023
Android application allowing to sniff and inject Zigbee, Mosart and Enhanced ShockBurst packets on a Samsung Galaxy S20

This Android application allows to sniff and inject Zigbee, Mosart and Enhanced ShockBurst packets from a Samsung Galaxy S20 smartphone. It interacts with a set of patches installed on the phone Bluetooth controller, allowing to add new capabilities to communicate using the previously mentioned protocols.

Romain Cayre 52 Nov 1, 2022
Android app for streaming and downloading Movies, TV-Series and Anime.

CloudStream-3 DOWNLOAD: https://github.com/LagradOst/CloudStream-3/releases Discord: https://discord.gg/5Hus6fM Features: AdFree, No ads whatsoever No

Osten 1.9k Aug 1, 2022