If you're having issues building, deploying or running a WEB APP GENERATOR build, the guidance below may help. If not, raise an issue at github.com/baytonorg/wag/issues or join the BAYTON Discord.
.pem renamed to .jks won't work), and that the file isn't corrupt. keytool -list -keystore <file> will refuse to read a non-keystore.keytool -list -keystore <file> shows the available aliases.web_app_config.json is strict. Check for hand-edited typos, unknown keys, unsupported enum values, and a missing or unsupported version field. Icons and keystores are intentionally not included in the export, so upload those again when rebuilding.getUserMedia or Geolocation failsgetUserMedia over insecure origins).tel:, mailto:, sms: or geo:.intent:// or custom-scheme link doesn't openintent:// URIs and arbitrary custom schemes are blocked. This prevents a wrapped website from launching external apps or privileged flows unexpectedly. If the workflow depends on a native integration, WAG is likely not the right runtime for that site.Expires or Max-Age set), they're lost when the app process is killed. Switch to persistent cookies or longer-lived auth tokens (OAuth refresh tokens, JWTs).<a download> and Content-Disposition: attachment responses via Android's DownloadManager. Custom blob-URL downloads sometimes don't surface a download notification; supply a direct link instead. data: URI downloads are blocked by DownloadManager and the WebView cannot work around this.<input type="file">.tel:, mailto:, sms:, geo: links don't openintent://, custom URIs) are blocked entirely. This is intentional and prevents wrapped sites from launching external apps without user action.Web push notifications
WAG does not bridge web push to FCM. Push notifications sent by the wrapped site will not arrive. If push is required, run a native companion app alongside the wrapper.
Custom user-installed CA certificates
By default, WAG honours the user CA store via the Trust user CAs toggle. If your enterprise MITM CA isn't being trusted, confirm that toggle is on and that the CA is installed in the user trust store on the device, not just on a different profile.
Cookies are isolated from Chrome
WAG uses its own WebView cookie jar. It does not share Chrome's session state, and separate generated wrappers do not share each other's cookies. This is useful for managed app isolation, but it means single sign-on flows that assume an existing Chrome session may require a fresh login.
Screenshot blocking is not a data-loss-prevention control
The Block screenshots option applies Android's FLAG_SECURE. It prevents OS-level screenshots, screen recordings and app-switcher previews. It cannot prevent another camera being pointed at the display, and it does not add controls inside the website itself.
Update code rejected when rebuilding
The update code is a one-time-issued, hashed-and-stored secret. Paste rather than retype to avoid whitespace contamination. Confirm you're using a WAG-minted code (KAG codes are intentionally rejected by WAG and vice versa). If the original package name has been removed from the registry, raise a support request with the job ID of the original build.
Source rebuilds may be unsigned
The source archive intentionally excludes signing credentials. A local assembleRelease without signing.properties can produce an unsigned APK. That is expected Android Gradle behaviour; configure signing.properties from the included template, or sign the APK later with apksigner.
Include in your support request:
Open issues at github.com/baytonorg/wag/issues.
Are you in need of further help, or would you like to raise a feature request? You can: