Giter Site home page Giter Site logo

threethan / questaudiopatcher Goto Github PK

View Code? Open in Web Editor NEW
20.0 2.0 1.0 4.41 MB

Patches android applications to add the neccessary permissions for background audio on Meta Quest devices

License: GNU General Public License v3.0

HTML 2.43% Java 97.57%
meta-quest oculus-quest virtual-reality

questaudiopatcher's Introduction

Quest Audio Patcher

This application can patch Android Apps to add the neccessary permissions to play audio in the background on Oculus Quest Devices.

Warning

This is an experimental piece of software. Not all apps can be patched correctly, some may have issues even if they are, and your success my vary based on the target app's version.

Installation

Download and install the latest version from Releases. This app may come to sidequest in the near future.

Quest 1 - ❌ Patcher works, but system kills background apps

Quest 2 - ✔️ Tested working

Quest 3 - ❔ Needs testing

Usage

  1. Install the app you would like to patch onto your Quest
  2. Select the app you wish to modify from the "Apps" list
  3. Wait for the app to be automatically be patched. This has a few steps and may take a while for larger apps.
  4. Uninstall the original app when prompted. WARNING: That app's current data may be permanently lost!
  5. If you are asked to let the patcher install unknown apps, go to settings and allow it. Then press back to return.
  6. Install the modified application as prompted!

Use common sense and only patch applications which would benefit from background audio.

Warning

Many apps have issues running natively on the Quest. This patcher will not fix them.

Here are a few relevant apps I have tested:

  • Spotify - Cannot get past the login screen and may fail to install. Use the web app via LightningLauncher instead, or install and patch Spotify Lite (https://apkpure.com/spotify-lite/com.spotify.lite)
  • Discord - Many UI elements are incorrectly sized and chat gets cut off on the right side of the screen. Fully resolved by using an pre-137 version of Discord.
  • Tidal - Works flawlessly, including lossless playback!
  • Any app with which attempts to detect modification will most likely not work.

These issues are not specific to the patcher, and this is by no means a comprehensive list


This project is heavily based on Apk Explorer & Editor. Code from AEE is used under GPLv3.

questaudiopatcher's People

Contributors

threethan avatar

Stargazers

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

Watchers

 avatar  avatar

Forkers

devanwolf

questaudiopatcher's Issues

Failed to read manifest when installing modified com.android.music

Hello,

I encountered a problem while trying to patch the stock Android music app (com.android.music) with QuestAudioPatcher. Below are the details:

  • Unmodified APK: Works fine, but music stops when the app is closed.
  • Patching Process: After patching, the APK fails to install, with the package installer indicating a parsing error.
  • ADB Error Message: Performing Streamed Install adb: failed to install C:\Users(myusername)\Downloads\com.android.music_aee-signed.apk: Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION: Failed parse during installPackageLI: Failed to read manifest from /data/app/vmdl1849657943.tmp/base.apk: length=109; index=-1]
    Analysis: Decompiled the patched APK using APKTool. The manifest appeared normal, suggesting the patcher worked correctly.
  • Workaround: Recompiling the patched APK with APKTool resulted in a successful installation.

I've attached the modified AndroidManifest.xml for reference: AndroidManifest.txt

I appreciate the effort put into developing this patcher, as it greatly aids users without technical expertise or PC access. I hope this information helps in resolving the issue for others facing similar problems. Please let me know if further information is needed.

spotify failed to parse

title pretty much, i see someone else talked about a app failing to parse does this happen for anyone else?

"There was a problem parsing the package." while trying to modify Jitsi

This is a follow up to #2 with more information.
I'm seeing the same error on a Quest3 while trying to patch Jitsi Meet.

Downloading the APK and trying to install via SideQuest gives a more descriptive error:

org.jitsi.meet_aee-signed.apk: /data/local/tmp/_stream.apk could not be installed
[INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION: Failed parse during InstallPackageLI: Failed to read manifest from /data/app/vmdl1654787869.tmp/base.apk: length=139; Index=-1]

I uploaded the modified APK here: org.jitsi.meet_aee-signed.zip

The original can be found here or I can upload it as well if needed: Jitsi Meet on APKPure

Yandex Music

Hello, yandex music app (https://play.google.com/store/apps/details?id=ru.yandex.music&hl=en) patched wrong. After patch, app install error.
Quest 3, not patched app works ok.

QSideloader.Exceptions.AdbServiceException: Failed to sideload game
--- AdvancedSharpAdbClient.DeviceCommands.PackageInstallationException: INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION: Failed parse during installPackageLI: Failed to read manifest from /data/app/vmdl282587823.tmp/base.apk: length522; index-1
at AdvancedSharpAdbClient.DeviceCommands.PackageManager.InstallRemotePackage(String remoteFilePath, Boolean reinstall, Boolean grantRuntimePermissions)
at AdvancedSharpAdbClient.DeviceCommands.PackageManager.InstallPackage(String packageFilePath, Boolean reinstall, Boolean grantRuntimePermissions, CancellationToken ct)
at QSideloader.Services.AdbService.AdbDevice.InstallPackage(String apkPath, Boolean reinstall, Boolean grantRuntimePermissions, IProgress1 progress, CancellationToken ct) in D:\a\QLoader\QLoader\QSideloader\Services\AdbService.cs:line 1751
at QSideloader.Services.AdbService.AdbDevice.c__DisplayClass71_0.SideloadGameg__InstallApk1(IObserver1 observer, String apkPath) in D:\a\QLoader\QLoader\QSideloader\Services\AdbService.cs:line 1516
at QSideloader.Services.AdbService.AdbDevice.c__DisplayClass71_0.SideloadGameb__0(IObserver1 observer) in D:\a\QLoader\QLoader\QSideloader\Services\AdbService.cs:line 1416
--- End of inner exception stack trace ---

App Version: v1.0.3-dev
OS: Windows Microsoft Windows NT 10.0.19045.0

patched apk https://dropmefiles.com/tAqQ8

Discord loose mic randomly

Hello,

I've tried this app on my quest 3 and I can happily report that it works great.

However (And I don't know if it's related to the app or if it's patchable) I randomly loose the mic input when using discord for instance and I need to disconnect and reconnect from a channel to get it back.

Any solutions ?

Thanks !

Discord unable to install patched verison

Hi there

When attempting to install the patched discord apk version 126 via your app it fails whilst displaying "Installing null..." when attempting to install.

Saving the patched app to Downloads then moving it to my PC to install via sidequest it continues to fail, but with this error:

A task failed. Check the tasks screen for more info. com.discord_aee-signed.apk: /data/local/tmp/_stream.apk could not be installed [-124: Failed parse during installPackageLI: Targeting R+ (version 30 and above) requires the resources.arsc of installed APKs to be stored uncompressed and aligned on a 4-byte boundary]

Currently attempting to see if: https://github.com/mathieures/convert-apk/ will help rectify the issue

request

Would it be possible to make it so that This app could modify an APK that is not currently installed? EX: I can put an APK in a folder on the Quest then run this app and point it to that APK. Let it do its magic and spit out a modified APK that can then be installed... If this is already possible then I missed how to do it because I've not been able to.

App closes upon opening another app [Quest 1]

I'll be frank. It seems to simply not work on my device.
I'm using a Quest 1, don't know if it's an underpowered hardware issue or not.

When I open a game while in a call, the audio from Discord goes silent as soon as opening and participants can't hear my microphone, either. When I close the opened game, Discord is nowhere to be found, and I have to reopen it.

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.