Lauriethefish / QuestPatcher

Generic il2cpp modding tool for Oculus Quest (1/2/3) apps.
zlib License
281 stars 391 forks source link

QuestPatcher problem. #96

Closed higuyswd closed 1 year ago

higuyswd commented 1 year ago

When i try to install mods and then enable the computer mod it says this to all the mods i try to download: cp: '/sdcard/Android/data/com.AnotherAxiom.GorillaTag/files/libs/libbeatsaber-hook_2_3_0.so' not directory. please help

higuyswd commented 1 year ago

it also said Failed to install mod saying

higuyswd commented 1 year ago

at QuestPatcher.Core.AndroidDebugBridge.RunCommand(String command, Int32[] allowedExitCodes) in /Users/runner/work/QuestPatcher/QuestPatcher/QuestPatcher.Core/AndroidDebugBridge.cs:line 148 at QuestPatcher.Core.AndroidDebugBridge.RunShellCommand(String command, Int32[] allowedExitCodes) in /Users/runner/work/QuestPatcher/QuestPatcher/QuestPatcher.Core/AndroidDebugBridge.cs:line 180 at QuestPatcher.Core.AndroidDebugBridge.RunShellCommands(List1 commands) in /Users/runner/work/QuestPatcher/QuestPatcher/QuestPatcher.Core/AndroidDebugBridge.cs:line 168 at QuestPatcher.Core.AndroidDebugBridge.CopyFiles(List1 paths) in /Users/runner/work/QuestPatcher/QuestPatcher/QuestPatcher.Core/AndroidDebugBridge.cs:line 278 at QuestPatcher.Core.Modding.QPMod.Install(List1 installedInBranch) in /Users/runner/work/QuestPatcher/QuestPatcher/QuestPatcher.Core/Modding/QPMod.cs:line 131 at QuestPatcher.Core.Modding.QPMod.PrepareDependency(Dependency dependency, List1 installedInBranch) in /Users/runner/work/QuestPatcher/QuestPatcher/QuestPatcher.Core/Modding/QPMod.cs:line 246 at QuestPatcher.Core.Modding.QPMod.Install(List`1 installedInBranch) in /Users/runner/work/QuestPatcher/QuestPatcher/QuestPatcher.Core/Modding/QPMod.cs:line 94 at QuestPatcher.ViewModels.Modding.ModViewModel.InstallSafely() in /Users/runner/work/QuestPatcher/QuestPatcher/QuestPatcher/ViewModels/Modding/ModViewModel.cs:line 134

Lauriethefish commented 1 year ago

Try closing QuestPatcher then reopening it.

WGzeyu commented 1 year ago

Try closing QuestPatcher then reopening it.

This does not solve the problem The same error is reported when installing PinkCore for version 1.17.1 of BeatSaber. https://github.com/BSMGPink/PinkCore/releases/download/v1.6.3/PinkCore.qmod After checking the logs, it turns out that there is an error in the adb command generated by qp:

[2022-10-28 07:56:24 DBG] Executing ADB command: adb shell "cp '/sdcard/QuestPatcher/com.beatgames.beatsaber/installedMods/pinkcore/libpinkcore.so' '/sdcard/Android/data/com.beatgames.beatsaber/files/mods/libpinkcore.so' && cp '/sdcard/QuestPatcher/com.beatgames.beatsaber/installedMods/pinkcore/Donation.png' '/sdcard/ModData/com.beatgames.beatsaber/Mods/PinkCore/UI/Donation.png' && cp '/sdcard/QuestPatcher/com.beatgames.beatsaber/installedMods/pinkcore/DonationActive.png' '/sdcard/ModData/com.beatgames.beatsaber/Mods/PinkCore/UI/DonationActive.png' && cp '/sdcard/QuestPatcher/com.beatgames.beatsaber/installedMods/pinkcore/Mango.png' '/sdcard/ModData/com.beatgames.beatsaber/Mods/PinkCore/UI/Mango.png' && cp '/sdcard/QuestPatcher/com.beatgames.beatsaber/installedMods/pinkcore/MangoActive.png' '/sdcard/ModData/com.beatgames.beatsaber/Mods/PinkCore/UI/MangoActive.png' && cp '/sdcard/QuestPatcher/com.beatgames.beatsaber/installedMods/pinkcore/RequirementFound.png' '/sdcard/ModData/com.beatgames.beatsaber/Mods/PinkCore/UI/Requirements/RequirementFound.png'cp '/sdcard/QuestPatcher/com.beatgames.beatsaber/installedMods/pinkcore/RequirementMissing.png' '/sdcard/ModData/com.beatgames.beatsaber/Mods/PinkCore/UI/Requirements/RequirementMissing.png'"
[2022-10-28 07:56:24 VRB] Standard output: ""
[2022-10-28 07:56:24 VRB] Error output: "cp: '/sdcard/ModData/com.beatgames.beatsaber/Mods/PinkCore/UI/Requirements/RequirementMissing.png' not directory

The separator between the first few commands is ' && cp ', but the last one is 'cp ', missing the &&

qe201020335 commented 1 year ago

This bug happens at line 168 https://github.com/Lauriethefish/QuestPatcher/blob/ffeecca6a908f9766f8dba77817daed04a9aabe9/QuestPatcher.Core/AndroidDebugBridge.cs#L157-L175

The StringBuilder holding the first batch of commands is not cleared after the commands get executed. Then the second batch of commands is appended directly without && and causing the problem.

I will quickly make a pr to fix this

Lauriethefish commented 1 year ago

Oh dear, that's annoying. I'd always thought this bug was caused by something else so I never looked into it. Thanks for the fix.

Lauriethefish commented 1 year ago

Fixed by #97 A build for testing can be downloaded from actions.