diff --git a/README.md b/README.md index 82570882..a01ba7ad 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,9 @@ Running the setup script requires: You may decide to use Android Studio [here](https://developer.android.com/studio) to maintain your Android dependencies. If so, use the dependency manager -within your IDE. If you do so, you may skip to +within your IDE. If you plan on using Flutter for Veilid development, the Android Studio +method is highly recommended as you may run into path problems with the 'flutter' +command line without it. If you do so, you may skip to [Run Veilid setup script](#Run Veilid setup script). * build-tools;30.0.3 @@ -62,6 +64,17 @@ pull the remaining Rust dependencies: ./setup_linux.sh ``` +#### Run the veilid-flutter setup script (optional) + +If you are developing Flutter applications or the flutter-veilid portion, you should +install Android Studio, and run the flutter setup script: + +```shell +cd veilid-flutter +./setup_flutter.sh +``` + + ### macOS Development of Veilid on MacOS is possible on both Intel and ARM hardware. @@ -75,7 +88,9 @@ Development requires: You may decide to use Android Studio [here](https://developer.android.com/studio) to maintain your Android dependencies. If so, use the dependency manager -within your IDE. If you do so, you may skip to +within your IDE. If you plan on using Flutter for Veilid development, the Android Studio +method is highly recommended as you may run into path problems with the 'flutter' +command line without it. If you do so, you may skip to [Run Veilid setup script](#Run Veilid setup script). * build-tools;30.0.3 @@ -131,6 +146,16 @@ pull the remaining Rust dependencies: ./setup_macos.sh ``` +#### Run the veilid-flutter setup script (optional) + +If you are developing Flutter applications or the flutter-veilid portion, you should +install Android Studio, and run the flutter setup script: + +```shell +cd veilid-flutter +./setup_flutter.sh +``` + ### Windows **TODO** diff --git a/veilid-core/src/veilid_api/mod.rs b/veilid-core/src/veilid_api/mod.rs index 64386654..4937f209 100644 --- a/veilid-core/src/veilid_api/mod.rs +++ b/veilid-core/src/veilid_api/mod.rs @@ -649,7 +649,11 @@ impl Address { } pub fn is_local(&self) -> bool { match self { - Address::IPV4(v4) => ipv4addr_is_private(v4) || ipv4addr_is_link_local(v4), + Address::IPV4(v4) => { + ipv4addr_is_private(v4) + || ipv4addr_is_link_local(v4) + || ipv4addr_is_ietf_protocol_assignment(v4) + } Address::IPV6(v6) => { ipv6addr_is_unicast_site_local(v6) || ipv6addr_is_unicast_link_local(v6) diff --git a/veilid-flutter/android/build.gradle b/veilid-flutter/android/build.gradle index 8dff52d5..e16cf76c 100644 --- a/veilid-flutter/android/build.gradle +++ b/veilid-flutter/android/build.gradle @@ -86,6 +86,7 @@ cargo { targets = ["arm", "arm64", "x86", "x86_64"] targetDirectory = "../../target" prebuiltToolchains = true + pythonCommand = "python3" profile = gradle.startParameter.taskNames.any{it.toLowerCase().contains("debug")} ? "debug" : "release" // features { // defaultAnd("android_tests") diff --git a/veilid-flutter/example/android/app/build.gradle b/veilid-flutter/example/android/app/build.gradle index a60d89ba..02082c52 100644 --- a/veilid-flutter/example/android/app/build.gradle +++ b/veilid-flutter/example/android/app/build.gradle @@ -27,7 +27,7 @@ apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { compileSdkVersion flutter.compileSdkVersion - + ndkVersion '22.0.7026061' compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 diff --git a/veilid-flutter/setup_flutter.sh b/veilid-flutter/setup_flutter.sh index b57f37d0..664d28fa 100755 --- a/veilid-flutter/setup_flutter.sh +++ b/veilid-flutter/setup_flutter.sh @@ -81,7 +81,7 @@ elif [ "$OS" == "macos" ]; then sudo arch -x86_64 gem install cocoapods # ensure platforms are enabled in flutter - flutter config --enable-macos-desktop --enable-ios --no-enable-android + flutter config --enable-macos-desktop --enable-ios --enable-android fi # turn off analytics