GoogleChromeLabs / bubblewrap

Bubblewrap is a Command Line Interface (CLI) that helps developers to create a Project for an Android application that launches an existing Progressive Web App (PWAs) using a Trusted Web Activity.
Apache License 2.0
2.29k stars 152 forks source link

Providing "--apkFile" doesn't work #822

Open ghnp5 opened 11 months ago

ghnp5 commented 11 months ago

Describe the bug bubblewrap install only works if I am in the folder of the .apk file and --apkFile is not provided

To Reproduce Steps to reproduce the behavior:

  1. Have a file in ./folder/app-release-signed.apk
  2. cd to the root (.)
  3. Run: .\node_modules\.bin\bubblewrap install --verbose --apkFile "./folder/app-release-signed.apk" (I tried other variations of slashes, with and without "./", etc)

It crashes with:

ERROR Command failed: "C:\Users....bubblewrap\android_sdk\platform-tools\adb" install -r ./folder/app-release-signed.apk ./folder/app-release-signed.apk adb: failed to install ./folder/app-release-signed.apk: Error: Unable to open file: ./folder/app-release-signed.apk Consider using a file under /data/local/tmp/ Error: Can't open file: ./folder/app-release-signed.apk

Exception occurred while executing 'install': java.lang.IllegalArgumentException: Error: Can't open file: ./folder/app-release-signed.apk at com.android.server.pm.PackageManagerShellCommand.setParamsSize(PackageManagerShellCommand.java:608) at com.android.server.pm.PackageManagerShellCommand.doRunInstall(PackageManagerShellC

Expected behavior Not sure why, but the problem is that the .apk location is being passed twice to the adb command.

If I run it manually, this works:
"C:\Users\...\.bubblewrap\android_sdk\platform-tools\adb" install -r ./folder/app-release-signed.apk

While this fails:
"C:\Users\...\.bubblewrap\android_sdk\platform-tools\adb" install -r ./folder/app-release-signed.apk ./folder/app-release-signed.apk

Desktop (please complete the following information): Windows 11 Running on Visual Studio Code