define ndk in gradle props
This commit is contained in:
@@ -13,7 +13,6 @@ jobs:
|
|||||||
KEY_PATH: ${{ github.workspace }}/apps/weblibre/key.jks
|
KEY_PATH: ${{ github.workspace }}/apps/weblibre/key.jks
|
||||||
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
|
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
|
||||||
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
|
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
|
||||||
ANDROID_NDK_VERSION: 28.2.13676358
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
steps:
|
steps:
|
||||||
@@ -41,6 +40,14 @@ jobs:
|
|||||||
- name: Install Android NDK
|
- name: Install Android NDK
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
ANDROID_NDK_VERSION="$(
|
||||||
|
sed -n 's/^weblibre\.ndkVersion[[:space:]]*=[[:space:]]*//p' \
|
||||||
|
apps/weblibre/android/gradle.properties
|
||||||
|
)"
|
||||||
|
if [[ -z "$ANDROID_NDK_VERSION" ]]; then
|
||||||
|
echo "Missing weblibre.ndkVersion in apps/weblibre/android/gradle.properties" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
set +e
|
set +e
|
||||||
yes | "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" --install "ndk;$ANDROID_NDK_VERSION"
|
yes | "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" --install "ndk;$ANDROID_NDK_VERSION"
|
||||||
sdkmanager_status=${PIPESTATUS[1]}
|
sdkmanager_status=${PIPESTATUS[1]}
|
||||||
@@ -50,6 +57,7 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
test -f "$ANDROID_HOME/ndk/$ANDROID_NDK_VERSION/source.properties"
|
test -f "$ANDROID_HOME/ndk/$ANDROID_NDK_VERSION/source.properties"
|
||||||
{
|
{
|
||||||
|
echo "ANDROID_NDK_VERSION=$ANDROID_NDK_VERSION"
|
||||||
echo "ANDROID_NDK_HOME=$ANDROID_HOME/ndk/$ANDROID_NDK_VERSION"
|
echo "ANDROID_NDK_HOME=$ANDROID_HOME/ndk/$ANDROID_NDK_VERSION"
|
||||||
echo "ANDROID_NDK_ROOT=$ANDROID_HOME/ndk/$ANDROID_NDK_VERSION"
|
echo "ANDROID_NDK_ROOT=$ANDROID_HOME/ndk/$ANDROID_NDK_VERSION"
|
||||||
echo "NDK_HOME=$ANDROID_HOME/ndk/$ANDROID_NDK_VERSION"
|
echo "NDK_HOME=$ANDROID_HOME/ndk/$ANDROID_NDK_VERSION"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
ext {
|
ext {
|
||||||
compileSdkVersion = 36
|
compileSdkVersion = 36
|
||||||
targetSdkVersion = 36
|
targetSdkVersion = 36
|
||||||
ndkVersion = "28.2.13676358"
|
ndkVersion = providers.gradleProperty("weblibre.ndkVersion").get()
|
||||||
}
|
}
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError
|
org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError
|
||||||
|
weblibre.ndkVersion=28.2.13676358
|
||||||
android.useAndroidX=true
|
android.useAndroidX=true
|
||||||
android.enableJetifier=true
|
android.enableJetifier=true
|
||||||
# This builtInKotlin flag was added automatically by Flutter migrator
|
# This builtInKotlin flag was added automatically by Flutter migrator
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ The output AAR is written to `native/go_mobile_runtime/build/weblibre-go.aar`.
|
|||||||
|
|
||||||
GitHub release builds clone the pinned sources from `pins.env` and run the same
|
GitHub release builds clone the pinned sources from `pins.env` and run the same
|
||||||
Melos command before building the Flutter APK/AAB artifacts. The app Gradle
|
Melos command before building the Flutter APK/AAB artifacts. The app Gradle
|
||||||
build and CI native runtime build both use Android NDK r28c (`28.2.13676358`),
|
build and CI native runtime build both read `weblibre.ndkVersion` from
|
||||||
matching Flutter 3.44's default NDK. This is new enough for the `cronet-go`
|
`apps/weblibre/android/gradle.properties`; it is currently Android NDK r28c
|
||||||
Android arm64 archives linked by sing-box's naive outbound path.
|
(`28.2.13676358`), matching Flutter 3.44's default NDK. This is new enough for
|
||||||
|
the `cronet-go` Android arm64 archives linked by sing-box's naive outbound path.
|
||||||
|
|||||||
@@ -9,6 +9,11 @@ REPO_ROOT="$(cd "$RUNTIME_DIR/../.." && pwd -P)"
|
|||||||
# shellcheck source=../pins.env
|
# shellcheck source=../pins.env
|
||||||
source "$RUNTIME_DIR/pins.env"
|
source "$RUNTIME_DIR/pins.env"
|
||||||
|
|
||||||
|
GRADLE_PROPERTIES="$REPO_ROOT/apps/weblibre/android/gradle.properties"
|
||||||
|
DEFAULT_ANDROID_NDK_VERSION="$(
|
||||||
|
sed -n 's/^weblibre\.ndkVersion[[:space:]]*=[[:space:]]*//p' "$GRADLE_PROPERTIES"
|
||||||
|
)"
|
||||||
|
|
||||||
DEFAULT_SING_BOX_SOURCE="$(cd "$REPO_ROOT/.." && pwd -P)/sing-box"
|
DEFAULT_SING_BOX_SOURCE="$(cd "$REPO_ROOT/.." && pwd -P)/sing-box"
|
||||||
DEFAULT_IPTPROXY_SOURCE="$(cd "$REPO_ROOT/.." && pwd -P)/IPtProxy"
|
DEFAULT_IPTPROXY_SOURCE="$(cd "$REPO_ROOT/.." && pwd -P)/IPtProxy"
|
||||||
|
|
||||||
@@ -18,7 +23,7 @@ DNSTT_SOURCE="${DNSTT_SOURCE:-$IPTPROXY_SOURCE/dnstt}"
|
|||||||
OUTPUT_AAR="${OUTPUT_AAR:-$RUNTIME_DIR/build/weblibre-go.aar}"
|
OUTPUT_AAR="${OUTPUT_AAR:-$RUNTIME_DIR/build/weblibre-go.aar}"
|
||||||
TARGET="${TARGET:-android}"
|
TARGET="${TARGET:-android}"
|
||||||
ANDROID_API="${ANDROID_API:-24}"
|
ANDROID_API="${ANDROID_API:-24}"
|
||||||
ANDROID_NDK_VERSION="${ANDROID_NDK_VERSION:-28.2.13676358}"
|
ANDROID_NDK_VERSION="${ANDROID_NDK_VERSION:-$DEFAULT_ANDROID_NDK_VERSION}"
|
||||||
INSTALL_GOMOBILE=1
|
INSTALL_GOMOBILE=1
|
||||||
ALLOW_DIRTY=0
|
ALLOW_DIRTY=0
|
||||||
DEBUG=0
|
DEBUG=0
|
||||||
@@ -193,6 +198,11 @@ if ! command -v go >/dev/null 2>&1; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ -z "$ANDROID_NDK_VERSION" ]]; then
|
||||||
|
echo "Missing weblibre.ndkVersion in $GRADLE_PROPERTIES." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ -z "${ANDROID_HOME:-}" && -d "$HOME/Android/Sdk" ]]; then
|
if [[ -z "${ANDROID_HOME:-}" && -d "$HOME/Android/Sdk" ]]; then
|
||||||
export ANDROID_HOME="$HOME/Android/Sdk"
|
export ANDROID_HOME="$HOME/Android/Sdk"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user