Two related Android-only papercuts found while testing build #4 on a Pixel 6: 1. Frontend was crashing in the WebView with: Tauri/Console: Uncaught (in promise) event.listen not allowed. Permissions associated with this command: core:event:allow-listen, core:event:default The desktop build worked fine because Tauri's default capability set covers the desktop side. On Android (and iOS) Tauri 2.x is much stricter about ACL — without an explicit capabilities/default.json that lists "android" in its platforms, the WebView gets zero permissions. Add a default capability granting core:default + the event listener perms across all five platforms (linux/macOS/windows/android/iOS). 2. Every fresh docker run produced a new ~/.android/debug.keystore, so `adb install -r` of a freshly built APK over an already-installed one failed with INSTALL_FAILED_UPDATE_INCOMPATIBLE. Mount a persistent host volume at /home/builder/.android in build-tauri-android.sh so the same debug keystore is reused across builds and `install -r` keeps working. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
27 lines
659 B
JSON
27 lines
659 B
JSON
{
|
|
"$schema": "../gen/schemas/desktop-schema.json",
|
|
"identifier": "default",
|
|
"description": "Default capability — grants core APIs (events, path, window, app, clipboard) to the main window on every platform we ship to.",
|
|
"windows": ["main"],
|
|
"platforms": [
|
|
"linux",
|
|
"macOS",
|
|
"windows",
|
|
"android",
|
|
"iOS"
|
|
],
|
|
"permissions": [
|
|
"core:default",
|
|
"core:event:default",
|
|
"core:event:allow-listen",
|
|
"core:event:allow-unlisten",
|
|
"core:event:allow-emit",
|
|
"core:event:allow-emit-to",
|
|
"core:path:default",
|
|
"core:window:default",
|
|
"core:app:default",
|
|
"core:webview:default",
|
|
"shell:default"
|
|
]
|
|
}
|