Giter Club home page Giter Club logo

vendettamanager's People

Contributors

1lucas1apk avatar aagaming00 avatar castdrian avatar crowdin-bot avatar janisslsm avatar nexpid avatar redstonekasi avatar rushiimachine avatar wingio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vendettamanager's Issues

won't patch app manifests, and won't work unless i open and close

Screenshot_20230531-141427_Vendetta Manager
VendettaManager v1.0.82
Built from commit 2771865 on main (Changes Present)

Running Android 10, API level 29
Supported ABIs: arm64-v8a, armeabi-v7a, armeabi

Checking if base-178019.apk is cached
base-178019.apk is cached
Move base-178019.apk to working directory
Checking if config.arm64_v8a-178019.apk is cached
config.arm64_v8a-178019.apk is cached
Move config.arm64_v8a-178019.apk to working directory
Checking if config.en-178019.apk is cached
config.en-178019.apk is cached
Move config.en-178019.apk to working directory
Checking if config.xxhdpi-178019.apk is cached
config.xxhdpi-178019.apk is cached
Move config.xxhdpi-178019.apk to working directory
Checking if vendetta.apk is cached
vendetta.apk is cached
Move vendetta.apk to working directory
Reading AndroidManifest.xml from base-178019.apk

Failed on step PATCH_MANIFESTS

java.lang.RuntimeException: Failed to open archive: InvalidArchive("Invalid zip header")
at com.github.diamondminer88.zip.ZipReader.open(Native Method)
at com.github.diamondminer88.zip.ZipReader.(ZipReader.java:39)
at dev.beefers.vendetta.manager.ui.viewmodel.installer.InstallerViewModel.install(InstallerViewModel.kt:299)
at dev.beefers.vendetta.manager.ui.viewmodel.installer.InstallerViewModel.access$install(InstallerViewModel.kt:40)
at dev.beefers.vendetta.manager.ui.viewmodel.installer.InstallerViewModel$job$1$1.invokeSuspend(InstallerViewModel.kt:106)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

Bug(failed to install: unknown reason)

I get the toast message in the title when trying to install vendetta after it finishes, everything seemed correct, i tried 3 times with no luck

Here is a screenshot
IMG_20230818_171827

Here are the logs when i click copy logs
Vendetta Manager v1.0.87
Built from commit cee4d01 on main (Changes Present)

Running Android 11, API level 30
Supported ABIs: arm64-v8a, armeabi-v7a, armeabi

Checking if base-191016.apk is cached
base-191016.apk is cached
Move base-191016.apk to working directory
Checking if config.arm64_v8a-191016.apk is cached
config.arm64_v8a-191016.apk is cached
Move config.arm64_v8a-191016.apk to working directory
Checking if config.en-191016.apk is cached
config.en-191016.apk is cached
Move config.en-191016.apk to working directory
Checking if config.xxhdpi-191016.apk is cached
config.xxhdpi-191016.apk is cached
Move config.xxhdpi-191016.apk to working directory
Checking if vendetta.apk is cached
vendetta.apk is cached
Move vendetta.apk to working directory
Replacing mipmap-xhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xhdpi-v4 with ic_logo_square.png
Replacing mipmap-xxhdpi-v4 with ic_logo_square.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_square.png
Replacing mipmap-xhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_foreground.png
Reading AndroidManifest.xml from base-191016.apk
Changing package and app name in base-191016.apk
Deleting old AndroidManifest.xml in base-191016.apk
Adding patched AndroidManifest.xml in base-191016.apk
Reading AndroidManifest.xml from config.arm64_v8a-191016.apk
Changing package and app name in config.arm64_v8a-191016.apk
Changing package name in config.arm64_v8a-191016.apk
Deleting old AndroidManifest.xml in config.arm64_v8a-191016.apk
Adding patched AndroidManifest.xml in config.arm64_v8a-191016.apk
Reading AndroidManifest.xml from config.en-191016.apk
Changing package and app name in config.en-191016.apk
Changing package name in config.en-191016.apk
Deleting old AndroidManifest.xml in config.en-191016.apk
Adding patched AndroidManifest.xml in config.en-191016.apk
Reading AndroidManifest.xml from config.xxhdpi-191016.apk
Changing package and app name in config.xxhdpi-191016.apk
Changing package name in config.xxhdpi-191016.apk
Deleting old AndroidManifest.xml in config.xxhdpi-191016.apk
Adding patched AndroidManifest.xml in config.xxhdpi-191016.apk
Creating dir for signed apks
Signing base-191016.apk
Signing config.arm64_v8a-191016.apk
Signing config.en-191016.apk
Signing config.xxhdpi-191016.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/191016/signed/base-191016.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/191016/patched/lspatched/base-191016-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/191016/signed/base-191016.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: androidx.core.app.CoreComponentFactory
original minSdkVersion: 23
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...

  • com.vendetta.xposed
    Creating nested apk link...
    Writing apk...
    Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/191016/patched/lspatched/base-191016-375-lspatched.apk
    Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/191016/signed/config.arm64_v8a-191016.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/191016/patched/lspatched/config.arm64_v8a-191016-375-lspatched.apk
    apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/191016/signed/config.arm64_v8a-191016.apk
    Parsing original apk...
    Register apk signer with custom keystore...
    original appComponentFactory class: null
    original minSdkVersion: 0
    Patching apk...
    Adding config...
    Adding metaloader dex...
    Adding loader dex...
    Adding native lib...
    added assets/lspatch/so/x86_64/liblspatch.so
    added assets/lspatch/so/x86/liblspatch.so
    added assets/lspatch/so/armeabi-v7a/liblspatch.so
    added assets/lspatch/so/arm64-v8a/liblspatch.so
    Embedding modules...
  • com.vendetta.xposed
    Creating nested apk link...
    Writing apk...
    Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/191016/patched/lspatched/config.arm64_v8a-191016-375-lspatched.apk
    Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/191016/signed/config.en-191016.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/191016/patched/lspatched/config.en-191016-375-lspatched.apk
    apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/191016/signed/config.en-191016.apk
    Parsing original apk...
    Register apk signer with custom keystore...
    original appComponentFactory class: null
    original minSdkVersion: 0
    Patching apk...
    Adding config...
    Adding metaloader dex...
    Adding loader dex...
    Adding native lib...
    added assets/lspatch/so/x86_64/liblspatch.so
    added assets/lspatch/so/x86/liblspatch.so
    added assets/lspatch/so/armeabi-v7a/liblspatch.so
    added assets/lspatch/so/arm64-v8a/liblspatch.so
    Embedding modules...
  • com.vendetta.xposed
    Creating nested apk link...
    Writing apk...
    Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/191016/patched/lspatched/config.en-191016-375-lspatched.apk
    Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/191016/signed/config.xxhdpi-191016.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/191016/patched/lspatched/config.xxhdpi-191016-375-lspatched.apk
    apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/191016/signed/config.xxhdpi-191016.apk
    Parsing original apk...
    Register apk signer with custom keystore...
    original appComponentFactory class: null
    original minSdkVersion: 0
    Patching apk...
    Adding config...
    Adding metaloader dex...
    Adding loader dex...
    Adding native lib...
    added assets/lspatch/so/x86_64/liblspatch.so
    added assets/lspatch/so/x86/liblspatch.so
    added assets/lspatch/so/armeabi-v7a/liblspatch.so
    added assets/lspatch/so/arm64-v8a/liblspatch.so
    Embedding modules...
  • com.vendetta.xposed
    Creating nested apk link...
    Writing apk...
    Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/191016/patched/lspatched/config.xxhdpi-191016-375-lspatched.apk
    Gathering final apks
    Installing apks

Everything looks correct from my understanding

There Was a Problem With Parsing the Package error while installing Vendetta

Hello. I've been using Vendetta Manager for half a year now without problems until today, it was failed installing Vendetta with an error There Was a Problem With Parsing the Package. My device is SM Galaxy A10 and Android version is Android 11.

Vendetta Manager v1.0.91
Built from commit d969875 on main (Changes Present)

Running Android 11, API level 30
Supported ABIs: armeabi-v7a, armeabi

Checking if base-197018.apk is cached
base-197018.apk is not cached, downloading now
Move base-197018.apk to working directory
Checking if config.armeabi_v7a-197018.apk is cached
config.armeabi_v7a-197018.apk is cached
Move config.armeabi_v7a-197018.apk to working directory
Checking if config.en-197018.apk is cached
config.en-197018.apk is cached
Move config.en-197018.apk to working directory
Checking if config.xxhdpi-197018.apk is cached
config.xxhdpi-197018.apk is cached
Move config.xxhdpi-197018.apk to working directory
Checking if vendetta.apk is cached
vendetta.apk is not cached, downloading now
Move vendetta.apk to working directory
Replacing mipmap-xhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xhdpi-v4 with ic_logo_square.png
Replacing mipmap-xxhdpi-v4 with ic_logo_square.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_square.png
Replacing mipmap-xhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_foreground.png
Reading AndroidManifest.xml from base-197018.apk
Changing package and app name in base-197018.apk
Deleting old AndroidManifest.xml in base-197018.apk
Adding patched AndroidManifest.xml in base-197018.apk
Reading AndroidManifest.xml from config.armeabi_v7a-197018.apk
Changing package and app name in config.armeabi_v7a-197018.apk
Changing package name in config.armeabi_v7a-197018.apk
Deleting old AndroidManifest.xml in config.armeabi_v7a-197018.apk
Adding patched AndroidManifest.xml in config.armeabi_v7a-197018.apk
Reading AndroidManifest.xml from config.en-197018.apk
Changing package and app name in config.en-197018.apk
Changing package name in config.en-197018.apk
Deleting old AndroidManifest.xml in config.en-197018.apk
Adding patched AndroidManifest.xml in config.en-197018.apk
Reading AndroidManifest.xml from config.xxhdpi-197018.apk
Changing package and app name in config.xxhdpi-197018.apk
Changing package name in config.xxhdpi-197018.apk
Deleting old AndroidManifest.xml in config.xxhdpi-197018.apk
Adding patched AndroidManifest.xml in config.xxhdpi-197018.apk
Creating dir for signed apks
Signing base-197018.apk
Signing config.armeabi_v7a-197018.apk
Signing config.en-197018.apk
Signing config.xxhdpi-197018.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/197018/signed/config.xxhdpi-197018.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/197018/patched/lspatched/config.xxhdpi-197018-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/197018/signed/config.xxhdpi-197018.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: null
original minSdkVersion: 0
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/197018/patched/lspatched/config.xxhdpi-197018-375-lspatched.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/197018/signed/config.armeabi_v7a-197018.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/197018/patched/lspatched/config.armeabi_v7a-197018-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/197018/signed/config.armeabi_v7a-197018.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: null
original minSdkVersion: 0
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/197018/patched/lspatched/config.armeabi_v7a-197018-375-lspatched.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/197018/signed/base-197018.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/197018/patched/lspatched/base-197018-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/197018/signed/base-197018.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: androidx.core.app.CoreComponentFactory
original minSdkVersion: 23
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/197018/patched/lspatched/base-197018-375-lspatched.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/197018/signed/config.en-197018.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/197018/patched/lspatched/config.en-197018-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/197018/signed/config.en-197018.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: null
original minSdkVersion: 0
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/197018/patched/lspatched/config.en-197018-375-lspatched.apk
Gathering final apks
Installing apks

Unable to download base APK

Screenshot_20230327-141203_Vendetta_Manager.png

Logs:

Vendetta Manager 1.0.6
Built from commit f6855e6 on main (Changes Present)

Running Android 13, API level 33
Supported ABIs: arm64-v8a, armeabi-v7a, armeabi

Checking if base-172205.apk is cached
base-172205.apk is not cached, downloading now

Failed on step DL_BASE_APK

java.lang.Error: Failed to download https://aliucord.com//download/discord?v=172205 because of: HTTP Data Error
	at dev.beefers.vendetta.manager.domain.manager.DownloadManager$download$2$receiver$1.onReceive(DownloadManager.kt:85)
	at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$android-app-LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1790)
	at android.app.LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0.run(Unknown Source:2)
	at android.os.Handler.handleCallback(Handler.java:942)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:201)
	at android.os.Looper.loop(Looper.java:288)
	at android.app.ActivityThread.main(ActivityThread.java:7914)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:942)

where plugins

no plugins yet? currently only add icon available (and it asks for plugin link)

Enable R8

You can enable R8 to reduce apk size and also improve the app performance.

Reference

Never Finishes (Install Cancelled)

So I was trying to install Vendetta using the manager, but it always says at the end "Install Cancelled". I think I've given it the necessary permissions but okay.

Specs:
Redmi Note 12 Pro
Around 12GB extended memory.

Log:

Vendetta Manager v1.0.94
Built from commit 796217b on main (Changes Present)

Running Android 12, API level 31
Supported ABIs: arm64-v8a, armeabi-v7a, armeabi

Checking if base-199015.apk is cached
base-199015.apk is not cached, downloading now
Move base-199015.apk to working directory
Checking if config.arm64_v8a-199015.apk is cached
config.arm64_v8a-199015.apk is not cached, downloading now
Move config.arm64_v8a-199015.apk to working directory
Checking if config.en-199015.apk is cached
config.en-199015.apk is not cached, downloading now
Move config.en-199015.apk to working directory
Checking if config.xxhdpi-199015.apk is cached
config.xxhdpi-199015.apk is not cached, downloading now
Move config.xxhdpi-199015.apk to working directory
Checking if vendetta.apk is cached
vendetta.apk is not cached, downloading now
Move vendetta.apk to working directory
Reading AndroidManifest.xml from base-199015.apk
Changing package and app name in base-199015.apk
Deleting old AndroidManifest.xml in base-199015.apk
Adding patched AndroidManifest.xml in base-199015.apk
Reading AndroidManifest.xml from config.arm64_v8a-199015.apk
Changing package and app name in config.arm64_v8a-199015.apk
Changing package name in config.arm64_v8a-199015.apk
Deleting old AndroidManifest.xml in config.arm64_v8a-199015.apk
Adding patched AndroidManifest.xml in config.arm64_v8a-199015.apk
Reading AndroidManifest.xml from config.en-199015.apk
Changing package and app name in config.en-199015.apk
Changing package name in config.en-199015.apk
Deleting old AndroidManifest.xml in config.en-199015.apk
Adding patched AndroidManifest.xml in config.en-199015.apk
Reading AndroidManifest.xml from config.xxhdpi-199015.apk
Changing package and app name in config.xxhdpi-199015.apk
Changing package name in config.xxhdpi-199015.apk
Deleting old AndroidManifest.xml in config.xxhdpi-199015.apk
Adding patched AndroidManifest.xml in config.xxhdpi-199015.apk
Creating dir for signed apks
Byte aligning base-199015.apk
Removing old resources.arsc
Adding aligned resources.arsc
Byte aligning config.arm64_v8a-199015.apk
Byte aligning config.en-199015.apk
Removing old resources.arsc
Adding aligned resources.arsc
Byte aligning config.xxhdpi-199015.apk
Removing old resources.arsc
Adding aligned resources.arsc
Signing base-199015.apk
Signing config.arm64_v8a-199015.apk
Signing config.en-199015.apk
Signing config.xxhdpi-199015.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/199015/signed/base-199015.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/199015/patched/lspatched/base-199015-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/199015/signed/base-199015.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: androidx.core.app.CoreComponentFactory
original minSdkVersion: 23
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/199015/patched/lspatched/base-199015-375-lspatched.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/199015/signed/config.arm64_v8a-199015.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/199015/patched/lspatched/config.arm64_v8a-199015-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/199015/signed/config.arm64_v8a-199015.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: null
original minSdkVersion: 0
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/199015/patched/lspatched/config.arm64_v8a-199015-375-lspatched.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/199015/signed/config.en-199015.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/199015/patched/lspatched/config.en-199015-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/199015/signed/config.en-199015.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: null
original minSdkVersion: 0
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/199015/patched/lspatched/config.en-199015-375-lspatched.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/199015/signed/config.xxhdpi-199015.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/199015/patched/lspatched/config.xxhdpi-199015-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/199015/signed/config.xxhdpi-199015.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: null
original minSdkVersion: 0
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/199015/patched/lspatched/config.xxhdpi-199015-375-lspatched.apk
Gathering final apks
Installing apks

[Android - Alpha 192.0] Install conflict from redeclared permission

Upgrading from Alpha 191.2->192.0 Gives an installation conflict message in Vendetta Manager, looking further into it, it seems to be caused by a redeclared com.discord.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION permission, which means it can't be installed side-by-side with vanilla Discord because the namespace isn't changed to dev.beefers.vendetta.
Note that this error also occurs on a fresh install of Vendetta Alpha 192.0 (using Vendetta Manager) if vanilla Discord is installed already.
Not sure if this is an issue with Vendetta itself or Vendetta Manager not patching properly so I'm opening it here for now.

Screenshots:

Vendetta Manager install error

Vendetta Manager install error

Update difference (from App Manager installer)

Update difference (from App Manager installer)

Conflict message (from App Manager installer)

Conflict message (from App Manager installer)

can't install it?

I'm getting the error: can't install, and i don't know the reason. I have a Xiaomi mi 9t Pro, latest Android version: 11

Here are the logs:

Vendetta Manager v1.0.9
Built from commit 393a894 on main (Changes Present)

Running Android 11, API level 30
Supported ABIs: arm64-v8a, armeabi-v7a, armeabi

Checking if base-193013.apk is cached
base-193013.apk is cached
Move base-193013.apk to working directory
Checking if config.arm64_v8a-193013.apk is cached
config.arm64_v8a-193013.apk is cached
Move config.arm64_v8a-193013.apk to working directory
Checking if config.en-193013.apk is cached
config.en-193013.apk is cached
Move config.en-193013.apk to working directory
Checking if config.xxhdpi-193013.apk is cached
config.xxhdpi-193013.apk is cached
Move config.xxhdpi-193013.apk to working directory
Checking if vendetta.apk is cached
vendetta.apk is cached
Move vendetta.apk to working directory
Replacing mipmap-xhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xhdpi-v4 with ic_logo_square.png
Replacing mipmap-xxhdpi-v4 with ic_logo_square.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_square.png
Replacing mipmap-xhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_foreground.png
Reading AndroidManifest.xml from base-193013.apk
Changing package and app name in base-193013.apk
Deleting old AndroidManifest.xml in base-193013.apk
Adding patched AndroidManifest.xml in base-193013.apk
Reading AndroidManifest.xml from config.arm64_v8a-193013.apk
Changing package and app name in config.arm64_v8a-193013.apk
Changing package name in config.arm64_v8a-193013.apk
Deleting old AndroidManifest.xml in config.arm64_v8a-193013.apk
Adding patched AndroidManifest.xml in config.arm64_v8a-193013.apk
Reading AndroidManifest.xml from config.en-193013.apk
Changing package and app name in config.en-193013.apk
Changing package name in config.en-193013.apk
Deleting old AndroidManifest.xml in config.en-193013.apk
Adding patched AndroidManifest.xml in config.en-193013.apk
Reading AndroidManifest.xml from config.xxhdpi-193013.apk
Changing package and app name in config.xxhdpi-193013.apk
Changing package name in config.xxhdpi-193013.apk
Deleting old AndroidManifest.xml in config.xxhdpi-193013.apk
Adding patched AndroidManifest.xml in config.xxhdpi-193013.apk
Creating dir for signed apks
Signing base-193013.apk
Signing config.arm64_v8a-193013.apk
Signing config.en-193013.apk
Signing config.xxhdpi-193013.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/193013/signed/config.xxhdpi-193013.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/193013/patched/lspatched/config.xxhdpi-193013-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/193013/signed/config.xxhdpi-193013.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: null
original minSdkVersion: 0
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...

  • com.vendetta.xposed
    Creating nested apk link...
    Writing apk...
    Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/193013/patched/lspatched/config.xxhdpi-193013-375-lspatched.apk
    Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/193013/signed/base-193013.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/193013/patched/lspatched/base-193013-375-lspatched.apk
    apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/193013/signed/base-193013.apk
    Parsing original apk...
    Register apk signer with custom keystore...
    original appComponentFactory class: androidx.core.app.CoreComponentFactory
    original minSdkVersion: 23
    Patching apk...
    Adding config...
    Adding metaloader dex...
    Adding loader dex...
    Adding native lib...
    added assets/lspatch/so/x86_64/liblspatch.so
    added assets/lspatch/so/x86/liblspatch.so
    added assets/lspatch/so/armeabi-v7a/liblspatch.so
    added assets/lspatch/so/arm64-v8a/liblspatch.so
    Embedding modules...
  • com.vendetta.xposed
    Creating nested apk link...
    Writing apk...
    Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/193013/patched/lspatched/base-193013-375-lspatched.apk
    Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/193013/signed/config.arm64_v8a-193013.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/193013/patched/lspatched/config.arm64_v8a-193013-375-lspatched.apk
    apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/193013/signed/config.arm64_v8a-193013.apk
    Parsing original apk...
    Register apk signer with custom keystore...
    original appComponentFactory class: null
    original minSdkVersion: 0
    Patching apk...
    Adding config...
    Adding metaloader dex...
    Adding loader dex...
    Adding native lib...
    added assets/lspatch/so/x86_64/liblspatch.so
    added assets/lspatch/so/x86/liblspatch.so
    added assets/lspatch/so/armeabi-v7a/liblspatch.so
    added assets/lspatch/so/arm64-v8a/liblspatch.so
    Embedding modules...
  • com.vendetta.xposed
    Creating nested apk link...
    Writing apk...
    Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/193013/patched/lspatched/config.arm64_v8a-193013-375-lspatched.apk
    Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/193013/signed/config.en-193013.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/193013/patched/lspatched/config.en-193013-375-lspatched.apk
    apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/193013/signed/config.en-193013.apk
    Parsing original apk...
    Register apk signer with custom keystore...
    original appComponentFactory class: null
    original minSdkVersion: 0
    Patching apk...
    Adding config...
    Adding metaloader dex...
    Adding loader dex...
    Adding native lib...
    added assets/lspatch/so/x86_64/liblspatch.so
    added assets/lspatch/so/x86/liblspatch.so
    added assets/lspatch/so/armeabi-v7a/liblspatch.so
    added assets/lspatch/so/arm64-v8a/liblspatch.so
    Embedding modules...
  • com.vendetta.xposed
    Creating nested apk link...
    Writing apk...
    Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/193013/patched/lspatched/config.en-193013-375-lspatched.apk
    Gathering final apks
    Installing apks

Update confusion

I missed the update notification. Is it possible to have a button to manually check for updates? Updates for the manager not the modified discord.

App downgrade support if LSposed is detected

There are multiple LSposed modules that allow for installed APKs to be downgraded, would it be possible to get a developer option to allow vendetta downgrades? I have successfully restored newer appdata to older versions of vendetta in the past, so I don't think that will be a barrier outside of drastic build differences.

Update notifications are noisy

These update notifications are annoying, especially when it's just a duplicate:

image

There should be just one persistent notification for this.

Auto-update Vendetta

I have root and use VendettaXposed, but I also have the Vendetta client installed alongside it. It would be nice to use root/Shizuku to check for daily updates and auto-update the Vendetta client.

If possible, update notifications would be good as well (if auto-updates are disabled).

Vendetta Manager doesn't install from apk

Vendetta Manager doesn't install correctly, when prompted to to "install" and click "install" the app is not installed anywhere on the device. I have tried installing it from both work and default profiles, I have tired installing from different browsers, I have tried installing older versions too, and have the same issue. Any times I try to install from the APK again after the first attempt will lead to "Package installer keeps stopping". Rebooting the phone and trying again has not fixed the problem either.
Device:
Pixel 7 Pro
Calyx OS 5.2.0
Android 14

Amoled

please add the option to enable amoled over dark themes :)

Cannot load recent commits

Running vendetta manager 208.17 and the recent commits dont load on the home page, thought this could be marked as a "good first issue" running android 13

Screenshot_20231217_211856_Vendetta Manager

App won't install

Here is the log:
Vendetta Manager v1.0.98
Built from commit d6929c1 on main (Changes Present)

Running Android 13, API level 33
Supported ABIs: arm64-v8a, armeabi-v7a, armeabi

Checking if base-208017.apk is cached
base-208017.apk is not cached, downloading now
Move base-208017.apk to working directory
Checking if config.arm64_v8a-208017.apk is cached
config.arm64_v8a-208017.apk is not cached, downloading now
Move config.arm64_v8a-208017.apk to working directory
Checking if config.en-208017.apk is cached
config.en-208017.apk is not cached, downloading now
Move config.en-208017.apk to working directory
Checking if config.xxhdpi-208017.apk is cached
config.xxhdpi-208017.apk is not cached, downloading now
Move config.xxhdpi-208017.apk to working directory
Checking if vendetta.apk is cached
vendetta.apk is not cached, downloading now
Move vendetta.apk to working directory
Replacing mipmap-xhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xhdpi-v4 with ic_logo_square.png
Replacing mipmap-xxhdpi-v4 with ic_logo_square.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_square.png
Replacing mipmap-xhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_foreground.png
Reading AndroidManifest.xml from base-208017.apk
Changing package and app name in base-208017.apk
Deleting old AndroidManifest.xml in base-208017.apk
Adding patched AndroidManifest.xml in base-208017.apk
Reading AndroidManifest.xml from config.arm64_v8a-208017.apk
Changing package and app name in config.arm64_v8a-208017.apk
Changing package name in config.arm64_v8a-208017.apk
Deleting old AndroidManifest.xml in config.arm64_v8a-208017.apk
Adding patched AndroidManifest.xml in config.arm64_v8a-208017.apk
Reading AndroidManifest.xml from config.en-208017.apk
Changing package and app name in config.en-208017.apk
Changing package name in config.en-208017.apk
Deleting old AndroidManifest.xml in config.en-208017.apk
Adding patched AndroidManifest.xml in config.en-208017.apk
Reading AndroidManifest.xml from config.xxhdpi-208017.apk
Changing package and app name in config.xxhdpi-208017.apk
Changing package name in config.xxhdpi-208017.apk
Deleting old AndroidManifest.xml in config.xxhdpi-208017.apk
Adding patched AndroidManifest.xml in config.xxhdpi-208017.apk
Creating dir for signed apks
Byte aligning base-208017.apk
Removing old resources.arsc
Adding aligned resources.arsc
Byte aligning config.arm64_v8a-208017.apk
Byte aligning config.en-208017.apk
Removing old resources.arsc
Adding aligned resources.arsc
Byte aligning config.xxhdpi-208017.apk
Removing old resources.arsc
Adding aligned resources.arsc
Signing base-208017.apk
Signing config.arm64_v8a-208017.apk
Signing config.en-208017.apk
Signing config.xxhdpi-208017.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/208017/signed/base-208017.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/208017/patched/lspatched/base-208017-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/208017/signed/base-208017.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: androidx.core.app.CoreComponentFactory
original minSdkVersion: 24
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...

  • com.vendetta.xposed
    Creating nested apk link...
    Writing apk...
    Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/208017/patched/lspatched/base-208017-375-lspatched.apk
    Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/208017/signed/config.arm64_v8a-208017.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/208017/patched/lspatched/config.arm64_v8a-208017-375-lspatched.apk
    apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/208017/signed/config.arm64_v8a-208017.apk
    Parsing original apk...
    Register apk signer with custom keystore...
    original appComponentFactory class: null
    original minSdkVersion: 0
    Patching apk...
    Adding config...
    Adding metaloader dex...
    Adding loader dex...
    Adding native lib...
    added assets/lspatch/so/x86_64/liblspatch.so
    added assets/lspatch/so/x86/liblspatch.so
    added assets/lspatch/so/armeabi-v7a/liblspatch.so
    added assets/lspatch/so/arm64-v8a/liblspatch.so
    Embedding modules...
  • com.vendetta.xposed
    Creating nested apk link...
    Writing apk...
    Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/208017/patched/lspatched/config.arm64_v8a-208017-375-lspatched.apk
    Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/208017/signed/config.en-208017.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/208017/patched/lspatched/config.en-208017-375-lspatched.apk
    apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/208017/signed/config.en-208017.apk
    Parsing original apk...
    Register apk signer with custom keystore...
    original appComponentFactory class: null
    original minSdkVersion: 0
    Patching apk...
    Adding config...
    Adding metaloader dex...
    Adding loader dex...
    Adding native lib...
    added assets/lspatch/so/x86_64/liblspatch.so
    added assets/lspatch/so/x86/liblspatch.so
    added assets/lspatch/so/armeabi-v7a/liblspatch.so
    added assets/lspatch/so/arm64-v8a/liblspatch.so
    Embedding modules...
  • com.vendetta.xposed
    Creating nested apk link...
    Writing apk...
    Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/208017/patched/lspatched/config.en-208017-375-lspatched.apk
    Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/208017/signed/config.xxhdpi-208017.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/208017/patched/lspatched/config.xxhdpi-208017-375-lspatched.apk
    apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/208017/signed/config.xxhdpi-208017.apk
    Parsing original apk...
    Register apk signer with custom keystore...
    original appComponentFactory class: null
    original minSdkVersion: 0
    Patching apk...
    Adding config...
    Adding metaloader dex...
    Adding loader dex...
    Adding native lib...
    added assets/lspatch/so/x86_64/liblspatch.so
    added assets/lspatch/so/x86/liblspatch.so
    added assets/lspatch/so/armeabi-v7a/liblspatch.so
    added assets/lspatch/so/arm64-v8a/liblspatch.so
    Embedding modules...
  • com.vendetta.xposed
    Creating nested apk link...
    Writing apk...
    Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/208017/patched/lspatched/config.xxhdpi-208017-375-lspatched.apk
    Gathering final apks
    Installing apks

Failed on step INSTALL_APK

java.io.IOException: Failed to allocate 67423526 because only 0 allocatable
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.os.ParcelableException.readFromParcel(ParcelableException.java:56)
at android.os.ParcelableException$1.createFromParcel(ParcelableException.java:82)
at android.os.ParcelableException$1.createFromParcel(ParcelableException.java:79)
at android.os.Parcel.readParcelableInternal(Parcel.java:4787)
at android.os.Parcel.readParcelable(Parcel.java:4755)
at android.os.Parcel.createExceptionOrNull(Parcel.java:3018)
at android.os.Parcel.createException(Parcel.java:3007)
at android.os.Parcel.readException(Parcel.java:2990)
at android.os.Parcel.readException(Parcel.java:2932)
at android.content.pm.IPackageInstallerSession$Stub$Proxy.openWrite(IPackageInstallerSession.java:565)
at android.content.pm.PackageInstaller$Session.openWrite(PackageInstaller.java:1110)
at dev.beefers.vendetta.manager.installer.util.PackageInstallerKt.installApks(PackageInstaller.kt:29)
at dev.beefers.vendetta.manager.ui.viewmodel.installer.InstallerViewModel.install(InstallerViewModel.kt:412)
at dev.beefers.vendetta.manager.ui.viewmodel.installer.InstallerViewModel.access$install(InstallerViewModel.kt:42)
at dev.beefers.vendetta.manager.ui.viewmodel.installer.InstallerViewModel$job$1$1.invokeSuspend(InstallerViewModel.kt:123)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Caused by: android.os.RemoteException: Remote stack trace:
at android.util.ExceptionUtils.wrap(ExceptionUtils.java:34)
at com.android.server.pm.PackageInstallerSession.openWrite(PackageInstallerSession.java:1517)
at android.content.pm.IPackageInstallerSession$Stub.onTransact(IPackageInstallerSession.java:286)
at android.os.Binder.execTransactInternal(Binder.java:1316)
at android.os.Binder.execTransact(Binder.java:1280)

VendettaManager stops installing at the last task (Installing APK)

First time installing this.

Vendetta Manager v1.0.86
Built from commit 20757ce on main (Changes Present)

Running Android 13, API level 33
Supported ABIs: arm64-v8a, armeabi-v7a, armeabi

Checking if base-190017.apk is cached
base-190017.apk is not cached, downloading now
Move base-190017.apk to working directory
Checking if config.arm64_v8a-190017.apk is cached
config.arm64_v8a-190017.apk is not cached, downloading now
Move config.arm64_v8a-190017.apk to working directory
Checking if config.en-190017.apk is cached
config.en-190017.apk is not cached, downloading now
Move config.en-190017.apk to working directory
Checking if config.xxhdpi-190017.apk is cached
config.xxhdpi-190017.apk is not cached, downloading now
Move config.xxhdpi-190017.apk to working directory
Checking if vendetta.apk is cached
vendetta.apk is not cached, downloading now
Move vendetta.apk to working directory
Replacing mipmap-xhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xhdpi-v4 with ic_logo_square.png
Replacing mipmap-xxhdpi-v4 with ic_logo_square.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_square.png
Replacing mipmap-xhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_foreground.png
Reading AndroidManifest.xml from base-190017.apk
Changing package and app name in base-190017.apk
Deleting old AndroidManifest.xml in base-190017.apk
Adding patched AndroidManifest.xml in base-190017.apk
Reading AndroidManifest.xml from config.arm64_v8a-190017.apk
Changing package and app name in config.arm64_v8a-190017.apk
Changing package name in config.arm64_v8a-190017.apk
Deleting old AndroidManifest.xml in config.arm64_v8a-190017.apk
Adding patched AndroidManifest.xml in config.arm64_v8a-190017.apk
Reading AndroidManifest.xml from config.en-190017.apk
Changing package and app name in config.en-190017.apk
Changing package name in config.en-190017.apk
Deleting old AndroidManifest.xml in config.en-190017.apk
Adding patched AndroidManifest.xml in config.en-190017.apk
Reading AndroidManifest.xml from config.xxhdpi-190017.apk
Changing package and app name in config.xxhdpi-190017.apk
Changing package name in config.xxhdpi-190017.apk
Deleting old AndroidManifest.xml in config.xxhdpi-190017.apk
Adding patched AndroidManifest.xml in config.xxhdpi-190017.apk
Creating dir for signed apks
Byte aligning base-190017.apk
Removing old resources.arsc
Adding aligned resources.arsc
Byte aligning config.arm64_v8a-190017.apk
Byte aligning config.en-190017.apk
Removing old resources.arsc
Adding aligned resources.arsc
Byte aligning config.xxhdpi-190017.apk
Removing old resources.arsc
Adding aligned resources.arsc
Signing base-190017.apk
Signing config.arm64_v8a-190017.apk
Signing config.en-190017.apk
Signing config.xxhdpi-190017.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/190017/signed/base-190017.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/190017/patched/lspatched/base-190017-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/190017/signed/base-190017.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: androidx.core.app.CoreComponentFactory
original minSdkVersion: 23
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...

  • com.vendetta.xposed
    Creating nested apk link...
    Writing apk...
    Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/190017/patched/lspatched/base-190017-375-lspatched.apk
    Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/190017/signed/config.arm64_v8a-190017.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/190017/patched/lspatched/config.arm64_v8a-190017-375-lspatched.apk
    apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/190017/signed/config.arm64_v8a-190017.apk
    Parsing original apk...
    Register apk signer with custom keystore...
    original appComponentFactory class: null
    original minSdkVersion: 0
    Patching apk...
    Adding config...
    Adding metaloader dex...
    Adding loader dex...
    Adding native lib...
    added assets/lspatch/so/x86_64/liblspatch.so
    added assets/lspatch/so/x86/liblspatch.so
    added assets/lspatch/so/armeabi-v7a/liblspatch.so
    added assets/lspatch/so/arm64-v8a/liblspatch.so
    Embedding modules...
  • com.vendetta.xposed
    Creating nested apk link...
    Writing apk...
    Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/190017/patched/lspatched/config.arm64_v8a-190017-375-lspatched.apk
    Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/190017/signed/config.en-190017.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/190017/patched/lspatched/config.en-190017-375-lspatched.apk
    apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/190017/signed/config.en-190017.apk
    Parsing original apk...
    Register apk signer with custom keystore...
    original appComponentFactory class: null
    original minSdkVersion: 0
    Patching apk...
    Adding config...
    Adding metaloader dex...
    Adding loader dex...
    Adding native lib...
    added assets/lspatch/so/x86_64/liblspatch.so
    added assets/lspatch/so/x86/liblspatch.so
    added assets/lspatch/so/armeabi-v7a/liblspatch.so
    added assets/lspatch/so/arm64-v8a/liblspatch.so
    Embedding modules...
  • com.vendetta.xposed
    Creating nested apk link...
    Writing apk...
    Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/190017/patched/lspatched/config.en-190017-375-lspatched.apk
    Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/190017/signed/config.xxhdpi-190017.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/190017/patched/lspatched/config.xxhdpi-190017-375-lspatched.apk
    apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/190017/signed/config.xxhdpi-190017.apk
    Parsing original apk...
    Register apk signer with custom keystore...
    original appComponentFactory class: null
    original minSdkVersion: 0
    Patching apk...
    Adding config...
    Adding metaloader dex...
    Adding loader dex...
    Adding native lib...
    added assets/lspatch/so/x86_64/liblspatch.so
    added assets/lspatch/so/x86/liblspatch.so
    added assets/lspatch/so/armeabi-v7a/liblspatch.so
    added assets/lspatch/so/arm64-v8a/liblspatch.so
    Embedding modules...
  • com.vendetta.xposed
    Creating nested apk link...
    Writing apk...
    Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/190017/patched/lspatched/config.xxhdpi-190017-375-lspatched.apk
    Gathering final apks
    Installing apks

Failed on step INSTALL_APK

java.io.IOException: Failed to allocate 42719396 because only 30654464 allocatable
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.os.ParcelableException.readFromParcel(ParcelableException.java:56)
at android.os.ParcelableException$1.createFromParcel(ParcelableException.java:82)
at android.os.ParcelableException$1.createFromParcel(ParcelableException.java:79)
at android.os.Parcel.readParcelableInternal(Parcel.java:4787)
at android.os.Parcel.readParcelable(Parcel.java:4755)
at android.os.Parcel.createExceptionOrNull(Parcel.java:3018)
at android.os.Parcel.createException(Parcel.java:3007)
at android.os.Parcel.readException(Parcel.java:2990)
at android.os.Parcel.readException(Parcel.java:2932)
at android.content.pm.IPackageInstallerSession$Stub$Proxy.openWrite(IPackageInstallerSession.java:565)
at android.content.pm.PackageInstaller$Session.openWrite(PackageInstaller.java:1110)
at dev.beefers.vendetta.manager.installer.util.PackageInstallerKt.installApks(PackageInstaller.kt:29)
at dev.beefers.vendetta.manager.ui.viewmodel.installer.InstallerViewModel.install(InstallerViewModel.kt:379)
at dev.beefers.vendetta.manager.ui.viewmodel.installer.InstallerViewModel.access$install(InstallerViewModel.kt:40)
at dev.beefers.vendetta.manager.ui.viewmodel.installer.InstallerViewModel$install$1.invokeSuspend(Unknown Source:14)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Caused by: android.os.RemoteException: Remote stack trace:
at android.util.ExceptionUtils.wrap(ExceptionUtils.java:34)
at com.android.server.pm.PackageInstallerSession.openWrite(PackageInstallerSession.java:1513)
at android.content.pm.IPackageInstallerSession$Stub.onTransact(IPackageInstallerSession.java:286)
at android.os.Binder.execTransactInternal(Binder.java:1316)
at android.os.Binder.execTransact(Binder.java:1280)

Installation Problems

I've never written a report like this, so please pardon my lack of experience.

I was attempting to install Vendetta with the latest manager, and everything completes up until the Installation stage.

It would simply fail.
I thought it was a simple mistake on my part, forgetting to allow third-party app installation, but even with it allowed it would still consistently fail.

Here is the install log:

Vendetta Manager v1.0.98
Built from commit d6929c1 on main (Changes Present)

Running Android 12, API level 31
Supported ABIs: arm64-v8a, armeabi-v7a, armeabi

Checking if base-206016.apk is cached
base-206016.apk is cached
Move base-206016.apk to working directory
Checking if config.arm64_v8a-206016.apk is cached
config.arm64_v8a-206016.apk is cached
Move config.arm64_v8a-206016.apk to working directory
Checking if config.en-206016.apk is cached
config.en-206016.apk is cached
Move config.en-206016.apk to working directory
Checking if config.xxhdpi-206016.apk is cached
config.xxhdpi-206016.apk is cached
Move config.xxhdpi-206016.apk to working directory
Checking if vendetta.apk is cached
vendetta.apk is cached
Move vendetta.apk to working directory
Replacing mipmap-xhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xhdpi-v4 with ic_logo_square.png
Replacing mipmap-xxhdpi-v4 with ic_logo_square.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_square.png
Replacing mipmap-xhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_foreground.png
Reading AndroidManifest.xml from base-206016.apk
Changing package and app name in base-206016.apk
Deleting old AndroidManifest.xml in base-206016.apk
Adding patched AndroidManifest.xml in base-206016.apk
Reading AndroidManifest.xml from config.arm64_v8a-206016.apk
Changing package and app name in config.arm64_v8a-206016.apk
Changing package name in config.arm64_v8a-206016.apk
Deleting old AndroidManifest.xml in config.arm64_v8a-206016.apk
Adding patched AndroidManifest.xml in config.arm64_v8a-206016.apk
Reading AndroidManifest.xml from config.en-206016.apk
Changing package and app name in config.en-206016.apk
Changing package name in config.en-206016.apk
Deleting old AndroidManifest.xml in config.en-206016.apk
Adding patched AndroidManifest.xml in config.en-206016.apk
Reading AndroidManifest.xml from config.xxhdpi-206016.apk
Changing package and app name in config.xxhdpi-206016.apk
Changing package name in config.xxhdpi-206016.apk
Deleting old AndroidManifest.xml in config.xxhdpi-206016.apk
Adding patched AndroidManifest.xml in config.xxhdpi-206016.apk
Creating dir for signed apks
Byte aligning base-206016.apk
Removing old resources.arsc
Adding aligned resources.arsc
Byte aligning config.arm64_v8a-206016.apk
Byte aligning config.en-206016.apk
Removing old resources.arsc
Adding aligned resources.arsc
Byte aligning config.xxhdpi-206016.apk
Removing old resources.arsc
Adding aligned resources.arsc
Signing base-206016.apk
Signing config.arm64_v8a-206016.apk
Signing config.en-206016.apk
Signing config.xxhdpi-206016.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/206016/signed/base-206016.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/206016/patched/lspatched/base-206016-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/206016/signed/base-206016.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: androidx.core.app.CoreComponentFactory
original minSdkVersion: 24
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/206016/patched/lspatched/base-206016-375-lspatched.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/206016/signed/config.arm64_v8a-206016.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/206016/patched/lspatched/config.arm64_v8a-206016-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/206016/signed/config.arm64_v8a-206016.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: null
original minSdkVersion: 0
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/206016/patched/lspatched/config.arm64_v8a-206016-375-lspatched.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/206016/signed/config.en-206016.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/206016/patched/lspatched/config.en-206016-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/206016/signed/config.en-206016.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: null
original minSdkVersion: 0
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/206016/patched/lspatched/config.en-206016-375-lspatched.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/206016/signed/config.xxhdpi-206016.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/206016/patched/lspatched/config.xxhdpi-206016-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/206016/signed/config.xxhdpi-206016.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: null
original minSdkVersion: 0
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/206016/patched/lspatched/config.xxhdpi-206016-375-lspatched.apk
Gathering final apks
Installing apks

Failed on step INSTALL_APK

java.io.IOException: Failed to allocate 72191342 because only 0 allocatable
	at java.lang.reflect.Constructor.newInstance0(Native Method)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
	at android.os.ParcelableException.readFromParcel(ParcelableException.java:56)
	at android.os.ParcelableException$1.createFromParcel(ParcelableException.java:82)
	at android.os.ParcelableException$1.createFromParcel(ParcelableException.java:79)
	at android.os.Parcel.readParcelable(Parcel.java:3346)
	at android.os.Parcel.createExceptionOrNull(Parcel.java:2433)
	at android.os.Parcel.createException(Parcel.java:2422)
	at android.os.Parcel.readException(Parcel.java:2405)
	at android.os.Parcel.readException(Parcel.java:2347)
	at android.content.pm.IPackageInstallerSession$Stub$Proxy.openWrite(IPackageInstallerSession.java:595)
	at android.content.pm.PackageInstaller$Session.openWrite(PackageInstaller.java:1043)
	at dev.beefers.vendetta.manager.installer.util.PackageInstallerKt.installApks(PackageInstaller.kt:29)
	at dev.beefers.vendetta.manager.ui.viewmodel.installer.InstallerViewModel.install(InstallerViewModel.kt:412)
	at dev.beefers.vendetta.manager.ui.viewmodel.installer.InstallerViewModel.access$install(InstallerViewModel.kt:42)
	at dev.beefers.vendetta.manager.ui.viewmodel.installer.InstallerViewModel$job$1$1.invokeSuspend(InstallerViewModel.kt:123)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Caused by: android.os.RemoteException: Remote stack trace:
	at android.util.ExceptionUtils.wrap(ExceptionUtils.java:34)
	at com.android.server.pm.PackageInstallerSession.openWrite(PackageInstallerSession.java:1557)
	at android.content.pm.IPackageInstallerSession$Stub.onTransact(IPackageInstallerSession.java:277)
	at android.os.Binder.execTransactInternal(Binder.java:1215)
	at android.os.Binder.execTransact(Binder.java:1179)

Thanks for reading and considering! :3c
-Izzy

Suggestion: Export to APK

Similar to ReVanced Manager, once compiling is finished I'd love a feature where I can export to APK. Yes I know this can cause havoc between kids sharing files that may not be safe, but I literally have no way to test previous versions.

Request: Custom Icon

Add the ability to set any png as the discord app icon, and/or have a slider to simply recolour the official discord icon

Please don't reject this because "icon packs" or "app launchers" as those CAN NOT change the icon globally, it's an android limitation, the original icon will always be displayed system wide with acceptions being limited to only where a launcher has direct influence

(Issue) Cannot update Vendetta from Manager

Helloz,im facing issue where i cannot update Vendetta over Manager. All files are properly downloaded,permission to download from unknown sources is enabled. Even set the same name of app

Heres copied logs from Manager:

Vendetta Manager v1.0.82
Built from commit 2771865 on main (Changes Present)

Running Android 13, API level 33
Supported ABIs: arm64-v8a, armeabi-v7a, armeabi

Checking if base-180015.apk is cached
base-180015.apk is not cached, downloading now
Move base-180015.apk to working directory
Checking if config.arm64_v8a-180015.apk is cached
config.arm64_v8a-180015.apk is not cached, downloading now
Move config.arm64_v8a-180015.apk to working directory
Checking if config.en-180015.apk is cached
config.en-180015.apk is not cached, downloading now
Move config.en-180015.apk to working directory
Checking if config.xxhdpi-180015.apk is cached
config.xxhdpi-180015.apk is not cached, downloading now
Move config.xxhdpi-180015.apk to working directory
Checking if vendetta.apk is cached
vendetta.apk is cached
Move vendetta.apk to working directory
Replacing mipmap-xhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xhdpi-v4 with ic_logo_square.png
Replacing mipmap-xxhdpi-v4 with ic_logo_square.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_square.png
Replacing mipmap-xhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_foreground.png
Reading AndroidManifest.xml from base-180015.apk
Changing package and app name in base-180015.apk
Deleting old AndroidManifest.xml in base-180015.apk
Adding patched AndroidManifest.xml in base-180015.apk
Reading AndroidManifest.xml from config.arm64_v8a-180015.apk
Changing package and app name in config.arm64_v8a-180015.apk
Changing package name in config.arm64_v8a-180015.apk
Deleting old AndroidManifest.xml in config.arm64_v8a-180015.apk
Adding patched AndroidManifest.xml in config.arm64_v8a-180015.apk
Reading AndroidManifest.xml from config.en-180015.apk
Changing package and app name in config.en-180015.apk
Changing package name in config.en-180015.apk
Deleting old AndroidManifest.xml in config.en-180015.apk
Adding patched AndroidManifest.xml in config.en-180015.apk
Reading AndroidManifest.xml from config.xxhdpi-180015.apk
Changing package and app name in config.xxhdpi-180015.apk
Changing package name in config.xxhdpi-180015.apk
Deleting old AndroidManifest.xml in config.xxhdpi-180015.apk
Adding patched AndroidManifest.xml in config.xxhdpi-180015.apk
Creating dir for signed apks
Byte aligning base-180015.apk
Removing old resources.arsc
Adding aligned resources.arsc
Byte aligning config.arm64_v8a-180015.apk
Byte aligning config.en-180015.apk
Removing old resources.arsc
Adding aligned resources.arsc
Byte aligning config.xxhdpi-180015.apk
Removing old resources.arsc
Adding aligned resources.arsc
Signing base-180015.apk
Signing config.arm64_v8a-180015.apk
Signing config.en-180015.apk
Signing config.xxhdpi-180015.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/180015/signed/base-180015.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/180015/patched/lspatched/base-180015-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/180015/signed/base-180015.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: androidx.core.app.CoreComponentFactory
original minSdkVersion: 23
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/180015/patched/lspatched/base-180015-375-lspatched.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/180015/signed/config.arm64_v8a-180015.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/180015/patched/lspatched/config.arm64_v8a-180015-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/180015/signed/config.arm64_v8a-180015.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: null
original minSdkVersion: 0
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/180015/patched/lspatched/config.arm64_v8a-180015-375-lspatched.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/180015/signed/config.en-180015.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/180015/patched/lspatched/config.en-180015-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/180015/signed/config.en-180015.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: null
original minSdkVersion: 0
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/180015/patched/lspatched/config.en-180015-375-lspatched.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/180015/signed/config.xxhdpi-180015.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/180015/patched/lspatched/config.xxhdpi-180015-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/180015/signed/config.xxhdpi-180015.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: null
original minSdkVersion: 0
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/180015/patched/lspatched/config.xxhdpi-180015-375-lspatched.apk
Gathering final apks
Installing apks

I dont see anything here that could make issue with installing so thas why i m here :|

feat: Add timestamp to commits in changelog

Perhaps the main purpose of the commits is to show new features, which will encourage users to update to newer versions. But without timestamps it is difficult for the user to know which commits are new and which they already have.

Example of how it would look:

photostudio_1698201551837.jpg

While the Manager is downloading an update for itself, it freezes

If the built in Manager updater prompts you for an update and you agree, the Manager freezes and android starts to pop up the ANR dialog. the download is happening in the background, and quitting the "not responding" manager stops it, while not quitting it is annoying, especially on slow networks.
Screenshot_20231220-140149_Vendetta Manager
Screenshot_20231220-140151_Vendetta Manager

cant install manager.apk

everytime i try and install the apk when i click it, it says therea a problem parsing tne package, how do i fix this

Add an option to choose a specific version of Discord

Now, with more controversial updates to the app coming out, I would like to be able to chose the specific version of the Discord app to base my Vendetta installation on (in particular, 205.15).

I recommend using the route that ReVanced Manager uses:
Using the already-installed version of the app, or allowing the user to choose an APK file for patching, which they can acquire for themselves.
This simply bypasses the step of downloading the latest version from the app repository.

Feature Request: Built-In Support for Shizuku

This is currently not a huge Priority as I found a solution to already do this, however it would be more convenient to have it built-in

As I recently switched my Android ROM from MIUI Global to Xiaomi.eu, I noticed (and was already discussed in the xiaomi.eu forums) that the Package Installer was on a version where, iirc, "External Split APKs" are broken.
How to replicate the issue:

  1. Have Xiaomi.ei MIUI 14.0.3.0 (is iirc not the case on 14.0.1.0) (or have package version 5.1.3.0-20230504 or higher)
  2. try to install Vendetta via the Manager
  3. it says the APKs are installing, but even though it has sufficient permissions it doesn't open the Package Installer UI
  4. when reattempting the installation of Vendetta it now says that the Package Manager has been stopped multiple times

How I currently solve it:

  1. download and configure SAI and Shizuku, if you haven't already
  2. Let Vendetta Manager download and patch all apks
  3. open SAI
  4. click "install APKs"
  5. navigate to /Android/data/dev.beefers.vendetta.manager/cache/<discord version>/patched/lspatched/
  6. select all APKs in that folder
  7. idk about that language thing that isn't selected by default
  8. install them
  9. done, vendetta is installed and working

as it's kind of annying to re-do all of these steps whenever there's a discord update, that's why I thought it would be a nice addition to have support for Shizuku. And it would also allow vendetta to be installed on non-rooted devices with the same problem.

Downgrade

Where can i do it? Latest is buggy for me

failed to sign apk

but it worked fine after I hit the install button again, so it doesn't seem reproducible, but I still snagged a log as a jic

Device: Oneplus 6t (Lineage OS 20, 20-20230302-NIGHTLY-fajita)

Here's the log from when it failed:

Vendetta Manager v1.0.85
Built from commit 3e4ad68 on main (Changes Present)

Running Android 13, API level 33
Supported ABIs: arm64-v8a, armeabi-v7a, armeabi

Checking if base-186011.apk is cached
base-186011.apk is cached
Move base-186011.apk to working directory
Checking if config.arm64_v8a-186011.apk is cached
config.arm64_v8a-186011.apk is not cached, downloading now
Move config.arm64_v8a-186011.apk to working directory
Checking if config.en-186011.apk is cached
config.en-186011.apk is cached
Move config.en-186011.apk to working directory
Checking if config.xxhdpi-186011.apk is cached
config.xxhdpi-186011.apk is cached
Move config.xxhdpi-186011.apk to working directory
Checking if vendetta.apk is cached
vendetta.apk is not cached, downloading now
Move vendetta.apk to working directory
Replacing mipmap-xhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xhdpi-v4 with ic_logo_square.png
Replacing mipmap-xxhdpi-v4 with ic_logo_square.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_square.png
Replacing mipmap-xhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_foreground.png
Reading AndroidManifest.xml from base-186011.apk
Changing package and app name in base-186011.apk
Deleting old AndroidManifest.xml in base-186011.apk
Adding patched AndroidManifest.xml in base-186011.apk
Reading AndroidManifest.xml from config.arm64_v8a-186011.apk
Changing package and app name in config.arm64_v8a-186011.apk
Changing package name in config.arm64_v8a-186011.apk
Deleting old AndroidManifest.xml in config.arm64_v8a-186011.apk
Adding patched AndroidManifest.xml in config.arm64_v8a-186011.apk
Reading AndroidManifest.xml from config.en-186011.apk
Changing package and app name in config.en-186011.apk
Changing package name in config.en-186011.apk
Deleting old AndroidManifest.xml in config.en-186011.apk
Adding patched AndroidManifest.xml in config.en-186011.apk
Reading AndroidManifest.xml from config.xxhdpi-186011.apk
Changing package and app name in config.xxhdpi-186011.apk
Changing package name in config.xxhdpi-186011.apk
Deleting old AndroidManifest.xml in config.xxhdpi-186011.apk
Adding patched AndroidManifest.xml in config.xxhdpi-186011.apk
Creating dir for signed apks
Byte aligning base-186011.apk
Removing old resources.arsc
Adding aligned resources.arsc
Byte aligning config.arm64_v8a-186011.apk
Byte aligning config.en-186011.apk
Removing old resources.arsc
Adding aligned resources.arsc
Byte aligning config.xxhdpi-186011.apk
Removing old resources.arsc
Adding aligned resources.arsc
Signing base-186011.apk

Failed on step SIGN_APK

com.android.apksig.apk.MinSdkVersionException: Failed to determine APK's minimum supported Android platform version
	at com.android.apksig.ApkSigner.getMinSdkVersionFromApk(ApkSigner.java:905)
	at com.android.apksig.ApkSigner.sign(ApkSigner.java:268)
	at com.android.apksig.ApkSigner.sign(ApkSigner.java:204)
	at dev.beefers.vendetta.manager.installer.util.Signer.signApk(Signer.kt:116)
	at dev.beefers.vendetta.manager.ui.viewmodel.installer.InstallerViewModel.install(InstallerViewModel.kt:355)
	at dev.beefers.vendetta.manager.ui.viewmodel.installer.InstallerViewModel.access$install(InstallerViewModel.kt:40)
	at dev.beefers.vendetta.manager.ui.viewmodel.installer.InstallerViewModel$install$1.invokeSuspend(Unknown Source:14)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Caused by: com.android.apksig.zip.ZipFormatException: CRC-32 mismatch between Local File Header and Central Directory for entry AndroidManifest.xml. LFH: 3383847149, CD: 3422663616
	at com.android.apksig.internal.zip.LocalFileRecord.getRecord(LocalFileRecord.java:191)
	at com.android.apksig.internal.zip.LocalFileRecord.outputUncompressedData(LocalFileRecord.java:427)
	at com.android.apksig.internal.zip.LocalFileRecord.getUncompressedData(LocalFileRecord.java:451)
	at com.android.apksig.ApkSigner.getAndroidManifestFromApk(ApkSigner.java:865)
	at com.android.apksig.ApkSigner.getMinSdkVersionFromApk(ApkSigner.java:903)
	... 14 more

[Enhancement/Feature] Option in settings to change the package name

I would like an option to be able to change the package name, not of the Vendetta manager but of the patched discord.

This option would make the lives of people who use 3rd party launchers and icon packs and/or people who have a Samsung device and use GoodLock along with theme park to apply an icon pack system wide so much easier as people can change the package name to be the same package name that the official discord app has.

In case you aren't aware, icon packs apply icons based on the app's package name. For example, if the icon pack has an icon for the package name "com.discord", the icon pack will look and see if an application with the package name "com.discord" is installed, and if it is, it will apply the icon it has for the application with the package name "com.discord".

(More) Advanced Settings

Hello @wingio ,
I would ask it is possible to add more (advanced) settings in advanced or developer sections.
Like;
• option to choose languages rather than downloading all modules
• choose specific arch
And the most important for me:
•option to disable app.adjust.xyz analysis. Ik that auto reports are needed for further solving problems but users can do it manually and Adjust spam pings to their 3domains.

Best Regards, NIGHTZNERO.

Launch button showing at wrong time

While the APK is being installed, a launch button appears that would end up executing the current version of vendetta, so the only way to know it has finished installing is with an easy to miss toast notification. Could it be made so that the button to launch the app only appears when the instalation process finishes?

More vendetta clients

have the ability to have multiple Vendetta clients on your device to make sure you have a backup if the other client doesn't work properly anymore

Feature Request: Grouped Notifications

For example, gmail will have notifications in it's own group then you can open it in a drop down to show each individual notification. Pretty sure twitter/x does this too.

The installed discord doesn't work

non-root phone, that's mean using Vendetta Manager. trying to install a stable release at first time then tried beta and alpha.
After completing the build of the app, a popup appears install, a popup appears "this app may be harmful"
install anyway, an app installed open. load for about 2 sec then the app crashes. same thing with beta and alpha versions and with all mirrors.
Device:
Samsung Galaxy M13
Android 13

log file if you want:

Vendetta Manager v1.0.99
Built from commit b97692b on main (Changes Present)

Running Android 13, API level 33
Supported ABIs: armeabi-v7a, armeabi

Checking if base-209014.apk is cached
base-209014.apk is not cached, downloading now
Move base-209014.apk to working directory
Checking if config.armeabi_v7a-209014.apk is cached
config.armeabi_v7a-209014.apk is not cached, downloading now
Move config.armeabi_v7a-209014.apk to working directory
Checking if config.en-209014.apk is cached
config.en-209014.apk is not cached, downloading now
Move config.en-209014.apk to working directory
Checking if config.xxhdpi-209014.apk is cached
config.xxhdpi-209014.apk is not cached, downloading now
Move config.xxhdpi-209014.apk to working directory
Checking if vendetta.apk is cached
vendetta.apk is not cached, downloading now
Move vendetta.apk to working directory
Replacing mipmap-xhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xhdpi-v4 with ic_logo_square.png
Replacing mipmap-xxhdpi-v4 with ic_logo_square.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_square.png
Replacing mipmap-xhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxhdpi-v4 with ic_logo_foreground.png
Replacing mipmap-xxxhdpi-v4 with ic_logo_foreground.png
Reading AndroidManifest.xml from base-209014.apk
Changing package and app name in base-209014.apk
Deleting old AndroidManifest.xml in base-209014.apk
Adding patched AndroidManifest.xml in base-209014.apk
Reading AndroidManifest.xml from config.armeabi_v7a-209014.apk
Changing package and app name in config.armeabi_v7a-209014.apk
Changing package name in config.armeabi_v7a-209014.apk
Deleting old AndroidManifest.xml in config.armeabi_v7a-209014.apk
Adding patched AndroidManifest.xml in config.armeabi_v7a-209014.apk
Reading AndroidManifest.xml from config.en-209014.apk
Changing package and app name in config.en-209014.apk
Changing package name in config.en-209014.apk
Deleting old AndroidManifest.xml in config.en-209014.apk
Adding patched AndroidManifest.xml in config.en-209014.apk
Reading AndroidManifest.xml from config.xxhdpi-209014.apk
Changing package and app name in config.xxhdpi-209014.apk
Changing package name in config.xxhdpi-209014.apk
Deleting old AndroidManifest.xml in config.xxhdpi-209014.apk
Adding patched AndroidManifest.xml in config.xxhdpi-209014.apk
Creating dir for signed apks
Byte aligning base-209014.apk
Removing old resources.arsc
Adding aligned resources.arsc
Byte aligning config.armeabi_v7a-209014.apk
Byte aligning config.en-209014.apk
Removing old resources.arsc
Adding aligned resources.arsc
Byte aligning config.xxhdpi-209014.apk
Removing old resources.arsc
Adding aligned resources.arsc
Signing base-209014.apk
Signing config.armeabi_v7a-209014.apk
Signing config.en-209014.apk
Signing config.xxhdpi-209014.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/209014/signed/base-209014.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/209014/patched/lspatched/base-209014-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/209014/signed/base-209014.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: androidx.core.app.CoreComponentFactory
original minSdkVersion: 24
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/209014/patched/lspatched/base-209014-375-lspatched.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/209014/signed/config.armeabi_v7a-209014.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/209014/patched/lspatched/config.armeabi_v7a-209014-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/209014/signed/config.armeabi_v7a-209014.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: null
original minSdkVersion: 0
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/209014/patched/lspatched/config.armeabi_v7a-209014-375-lspatched.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/209014/signed/config.en-209014.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/209014/patched/lspatched/config.en-209014-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/209014/signed/config.en-209014.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: null
original minSdkVersion: 0
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/209014/patched/lspatched/config.en-209014-375-lspatched.apk
Processing /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/209014/signed/config.xxhdpi-209014.apk -> /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/209014/patched/lspatched/config.xxhdpi-209014-375-lspatched.apk
apk path: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/209014/signed/config.xxhdpi-209014.apk
Parsing original apk...
Register apk signer with custom keystore...
original appComponentFactory class: null
original minSdkVersion: 0
Patching apk...
Adding config...
Adding metaloader dex...
Adding loader dex...
Adding native lib...
added assets/lspatch/so/x86_64/liblspatch.so
added assets/lspatch/so/x86/liblspatch.so
added assets/lspatch/so/armeabi-v7a/liblspatch.so
added assets/lspatch/so/arm64-v8a/liblspatch.so
Embedding modules...
  - com.vendetta.xposed
Creating nested apk link...
Writing apk...
Done. Output APK: /storage/emulated/0/Android/data/dev.beefers.vendetta.manager/cache/209014/patched/lspatched/config.xxhdpi-209014-375-lspatched.apk
Gathering final apks
Installing apks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.