diff --git a/lerna.json b/lerna.json index f5572be..6372673 100644 --- a/lerna.json +++ b/lerna.json @@ -6,6 +6,6 @@ "androidLiveUpdatesVersion": "0.5.0", "rnVersion": "0.5.1", "iosVersion": "0.10.0", - "androidVersion": "0.8.4", + "androidVersion": "0.9.0", "version": "0.9.0" } \ No newline at end of file diff --git a/website/docs/cli/commands/serve-android.md b/website/docs/cli/commands/serve-android.md index b4f826b..c9f2b27 100644 --- a/website/docs/cli/commands/serve-android.md +++ b/website/docs/cli/commands/serve-android.md @@ -86,3 +86,49 @@ portals serve android \ - `--portal-name` **(string)** The name of the target Portal. (default "PORTAL") - `--config` **(string)** config file (default $PWD/.portals.yaml) +### Troubleshooting connectivity issues + +The Android emulator should be able to reach web servers running on the host machine through the IP address `10.0.2.2`. This sometimes may not work due to firewall policies, VPN settings, or other environmental changes. If you are having trouble connecting to your local web server from an emulator, try these troubleshooting steps. + +#### Make sure your application supports Internet connectivity + +The Android manifest file should contain the following permission + +```xml + +``` + +#### Cleartext web content + +If you are testing with an http server you may encounter an issue displaying a cleartext web page due to the default Android security settings. There are two ways to permit this content to load: + +- Add `android:usesCleartextTraffic="true"` to your Android manifest `application` tag, or +- Create a more narrowly scoped [Network Security Config](https://developer.android.com/privacy-and-security/security-config#CleartextTrafficPermitted) that permits cleartext traffic on your specific test domain only. + +#### Emulator network troubleshooting + +If the local web server fails to load with errors like `net::ERR_CACHE_HIT` or `net::ERR_CONNECTION_REFUSED`, you may have network settings preventing the emulator/device from using Android’s loopback address. One way to confirm if this is your problem is to try loading your local web server from the emulator web browser. + +Double check that your local web server is actually running, then open Chrome in the emulator and go to the URL for your web app. If it loads, then the issue is related to your app specifically. If it does not load, then the emulator as a whole is having issues connecting to the web server on your local machine through the virtual network. + +:::note + +Reminder: the emulator does not reach your local development machine through the `localhost` url, as this is the loopback address for the emulator virtual machine itself. The IP address for your local machine from the emulator is `10.0.2.2`. + +::: + +If you are unable to reach your web server, try creating a proxy connection through the Android Debug Bridge app (adb). This is done using the terminal. For example: + +To link `localhost:8080` on your emulator to `localhost:8080` on your development machine, open the terminal and run: + +```sh +$ANDROID_HOME/platform-tools/adb reverse tcp:8080 tcp:8080 +``` + +This will create a proxy through to the emulator and should allow the web content to load on the emulator through `localhost:8080` in the emulator web browser. Since the Portals CLI tries to be helpful by changing `localhost` to `10.0.2.2` in your app dev-server setting, you can force the localhost IP in your app by setting the development server to `127.0.0.1`, such as: + +```bash +portals serve android \ + --application /path/to/your/android-app.apk \ + --dev-server http://127.0.0.1:8080 +``` \ No newline at end of file diff --git a/website/docs/for-android/version-matrix.md b/website/docs/for-android/version-matrix.md index fa47fbf..f17d217 100644 --- a/website/docs/for-android/version-matrix.md +++ b/website/docs/for-android/version-matrix.md @@ -64,29 +64,30 @@ For more information refer to the Gradle documentation pages: ## SDK Version Compatibility Matrix -| Android SDK | Web Plugin Version | Compiled Capacitor Version | Compatible Capacitor Versions | Compatible Live Updates Versions | -| :----: | :----: | :----: | :----: | :----: | -| 0.8.4 | 0.9.0 | 5.7.+ | 5.0.3 - 5.7.2 | 0.5.+ | -| 0.8.3 | 0.8.1 | 5.5.+ | 5.0.3 - 5.7.2 | 0.0.5 - 0.4.1 | -| 0.8.2 | 0.8.1 | 5.4.2 | 5.0.3 - 5.7.2 | 0.0.5 - 0.4.1 | -| 0.8.1 | 0.8.1 | 5.4.2 | 5.0.3 - 5.7.2 | 0.0.5 - 0.4.1 | -| 0.8.0 | 0.8.1 | 5.0.3 | 5.0.3 - 5.7.2 | 0.0.5 - 0.4.1 | -| 0.7.5 | 0.7.1 | 4.7.3 | 4.7.0 - 4.8.0 | 0.0.5 - 0.4.1 | -| 0.7.4 | 0.7.1 | 4.7.0 | 4.7.0 - 4.8.0 | 0.0.5 - 0.4.1 | -| 0.7.3 | 0.7.0 | 4.6.1 | 4.4.0 - 4.6.3 | 0.0.5 - 0.4.1 | -| 0.7.2 | 0.7.0 | 4.6.1 | 4.4.0 - 4.6.3 | 0.0.5 - 0.4.1 | -| 0.7.1 | 0.7.0 | 4.6.1 | 4.4.0 - 4.6.3 | 0.0.5 - 0.4.1 | -| 0.7.0 | 0.7.0 | 4.5.0 | 4.4.0 - 4.6.3 | 0.0.5 - 0.4.1 | -| 0.6.4 | 0.6.0 | 3.9.0 | 3.5.1 - 3.9.0 | 0.0.5 - 0.4.1 | -| 0.6.3 | 0.6.0 | 3.7.0 | 3.5.1 - 3.9.0 | 0.0.5 - 0.4.1 | -| 0.6.2 | 0.6.0 | 3.5.1 | 3.5.1 - 3.9.0 | 0.0.5 - 0.4.1 | -| 0.6.1 | 0.6.0 | 3.5.1 | 3.5.1 - 3.9.0 | 0.0.5 - 0.4.1 | -| 0.6.0 | 0.6.0 | 3.5.1 | 3.5.1 - 3.9.0 | 0.0.5 - 0.4.1 | -| 0.5.1 | 0.5.0 | 3.5.1 | 3.5.1 - 3.9.0 | 0.0.5 - 0.4.1 | -| 0.5.0 | 0.5.0 | 3.4.1 | 3.3.0 - 3.5.0 | 0.0.5 - 0.4.1 | -| 0.4.1 | 0.4.1 | 3.4.0 | 3.3.0 - 3.5.0 | 0.0.5 - 0.4.1 | -| 0.3.1 | 0.3.1 | 3.3.3 | 3.3.0 - 3.5.0 | 0.0.5 - 0.4.1 | -| 0.3.0 | 0.3.0 | 3.3.2 | 3.3.0 - 3.5.0 | 0.0.5 - 0.4.1 | -| 0.2.2 | 0.2.2 | 3.2.5 | 3.2.2 - 3.2.5 | 0.0.5 - 0.4.1 | -| 0.2.1 | 0.2.1 | 3.2.4 | 3.2.2 - 3.2.5 | 0.0.5 - 0.4.1 | -| 0.2.0 | 0.2.0 | 3.2.2 | 3.2.2 - 3.2.5 | 0.0.5 - 0.4.1 | \ No newline at end of file +| Android SDK | Web Plugin Version | Compiled Capacitor Version | Compatible Capacitor Versions | Compatible Live Updates Versions | Portals CLI | +| :----: | :----: | :----: | :----: | :----: | :----: | +| 0.9.0 | 0.9.0 | 5.7.+ | 5.0.3 - 5.7.2 | 0.5.+ | 0.3.0 | +| 0.8.4 | 0.9.0 | 5.7.+ | 5.0.3 - 5.7.2 | 0.5.+ | - | +| 0.8.3 | 0.8.1 | 5.5.+ | 5.0.3 - 5.7.2 | 0.0.5 - 0.4.1 | - | +| 0.8.2 | 0.8.1 | 5.4.2 | 5.0.3 - 5.7.2 | 0.0.5 - 0.4.1 | - | +| 0.8.1 | 0.8.1 | 5.4.2 | 5.0.3 - 5.7.2 | 0.0.5 - 0.4.1 | - | +| 0.8.0 | 0.8.1 | 5.0.3 | 5.0.3 - 5.7.2 | 0.0.5 - 0.4.1 | - | +| 0.7.5 | 0.7.1 | 4.7.3 | 4.7.0 - 4.8.0 | 0.0.5 - 0.4.1 | - | +| 0.7.4 | 0.7.1 | 4.7.0 | 4.7.0 - 4.8.0 | 0.0.5 - 0.4.1 | - | +| 0.7.3 | 0.7.0 | 4.6.1 | 4.4.0 - 4.6.3 | 0.0.5 - 0.4.1 | - | +| 0.7.2 | 0.7.0 | 4.6.1 | 4.4.0 - 4.6.3 | 0.0.5 - 0.4.1 | - | +| 0.7.1 | 0.7.0 | 4.6.1 | 4.4.0 - 4.6.3 | 0.0.5 - 0.4.1 | - | +| 0.7.0 | 0.7.0 | 4.5.0 | 4.4.0 - 4.6.3 | 0.0.5 - 0.4.1 | - | +| 0.6.4 | 0.6.0 | 3.9.0 | 3.5.1 - 3.9.0 | 0.0.5 - 0.4.1 | - | +| 0.6.3 | 0.6.0 | 3.7.0 | 3.5.1 - 3.9.0 | 0.0.5 - 0.4.1 | - | +| 0.6.2 | 0.6.0 | 3.5.1 | 3.5.1 - 3.9.0 | 0.0.5 - 0.4.1 | - | +| 0.6.1 | 0.6.0 | 3.5.1 | 3.5.1 - 3.9.0 | 0.0.5 - 0.4.1 | - | +| 0.6.0 | 0.6.0 | 3.5.1 | 3.5.1 - 3.9.0 | 0.0.5 - 0.4.1 | - | +| 0.5.1 | 0.5.0 | 3.5.1 | 3.5.1 - 3.9.0 | 0.0.5 - 0.4.1 | - | +| 0.5.0 | 0.5.0 | 3.4.1 | 3.3.0 - 3.5.0 | 0.0.5 - 0.4.1 | - | +| 0.4.1 | 0.4.1 | 3.4.0 | 3.3.0 - 3.5.0 | 0.0.5 - 0.4.1 | - | +| 0.3.1 | 0.3.1 | 3.3.3 | 3.3.0 - 3.5.0 | 0.0.5 - 0.4.1 | - | +| 0.3.0 | 0.3.0 | 3.3.2 | 3.3.0 - 3.5.0 | 0.0.5 - 0.4.1 | - | +| 0.2.2 | 0.2.2 | 3.2.5 | 3.2.2 - 3.2.5 | 0.0.5 - 0.4.1 | - | +| 0.2.1 | 0.2.1 | 3.2.4 | 3.2.2 - 3.2.5 | 0.0.5 - 0.4.1 | - | +| 0.2.0 | 0.2.0 | 3.2.2 | 3.2.2 - 3.2.5 | 0.0.5 - 0.4.1 | - | \ No newline at end of file