mirror of
https://gitlab.com/veilid/veilid.git
synced 2024-10-01 01:26:08 -04:00
upgraded the ndk version
This commit is contained in:
parent
0756107d95
commit
70bc2235d7
@ -22,11 +22,11 @@ welcome!
|
|||||||
|
|
||||||
Running the setup script requires:
|
Running the setup script requires:
|
||||||
|
|
||||||
* Rust
|
- Rust
|
||||||
|
|
||||||
#### Optionally, to build for Android:
|
#### Optionally, to build for Android:
|
||||||
|
|
||||||
* Android SDK and NDK
|
- Android SDK and NDK
|
||||||
|
|
||||||
You may decide to use Android Studio [here](https://developer.android.com/studio)
|
You may decide to use Android Studio [here](https://developer.android.com/studio)
|
||||||
to maintain your Android dependencies. If so, use the dependency manager
|
to maintain your Android dependencies. If so, use the dependency manager
|
||||||
@ -35,11 +35,11 @@ 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
|
command line without it. If you do so, you may skip to
|
||||||
[Run Veilid setup script](#Run Veilid setup script).
|
[Run Veilid setup script](#Run Veilid setup script).
|
||||||
|
|
||||||
* build-tools;33.0.1
|
- build-tools;34.0.0
|
||||||
* ndk;25.1.8937393
|
- ndk;26.3.11579264
|
||||||
* cmake;3.22.1
|
- cmake;3.22.1
|
||||||
* platform-tools
|
- platform-tools
|
||||||
* platforms;android-33
|
- platforms;android-34
|
||||||
|
|
||||||
#### Setup Dependencies using the CLI
|
#### Setup Dependencies using the CLI
|
||||||
|
|
||||||
@ -56,9 +56,9 @@ the command line to install the requisite package versions:
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
sdkmanager --install "platform-tools"
|
sdkmanager --install "platform-tools"
|
||||||
sdkmanager --install "platforms;android-33"
|
sdkmanager --install "platforms;android-34"
|
||||||
sdkmanager --install "build-tools;33.0.1"
|
sdkmanager --install "build-tools;34.0.0"
|
||||||
sdkmanager --install "ndk;25.1.8937393"
|
sdkmanager --install "ndk;26.3.11579264"
|
||||||
sdkmanager --install "cmake;3.22.1"
|
sdkmanager --install "cmake;3.22.1"
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -97,23 +97,23 @@ Development of Veilid on MacOS is possible on both Intel and ARM hardware.
|
|||||||
|
|
||||||
Development requires:
|
Development requires:
|
||||||
|
|
||||||
* Xcode, preferably latest version
|
- Xcode, preferably latest version
|
||||||
* Homebrew [here](https://brew.sh)
|
- Homebrew [here](https://brew.sh)
|
||||||
* Rust
|
- Rust
|
||||||
|
|
||||||
#### Optionally, to build for Android:
|
#### Optionally, to build for Android:
|
||||||
|
|
||||||
* Android Studio
|
- Android Studio
|
||||||
* Android SDK and NDK
|
- Android SDK and NDK
|
||||||
|
|
||||||
You will need to use Android Studio [here](https://developer.android.com/studio)
|
You will need to use Android Studio [here](https://developer.android.com/studio)
|
||||||
to maintain your Android dependencies. Use the SDK Manager in the IDE to install the following packages (use package details view to select version):
|
to maintain your Android dependencies. Use the SDK Manager in the IDE to install the following packages (use package details view to select version):
|
||||||
|
|
||||||
* Android SDK Build Tools (33.0.1)
|
- Android SDK Build Tools (34.0.0)
|
||||||
* NDK (Side-by-side) (25.1.8937393)
|
- NDK (Side-by-side) (26.3.11579264)
|
||||||
* Cmake (3.22.1)
|
- Cmake (3.22.1)
|
||||||
* Android SDK 33
|
- Android SDK 34
|
||||||
* Android SDK Command Line Tools (latest) (7.0/latest)
|
- Android SDK Command Line Tools (latest) (7.0/latest)
|
||||||
|
|
||||||
#### Setup command line environment
|
#### Setup command line environment
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ deps-android:
|
|||||||
RUN mkdir /Android; mkdir /Android/Sdk
|
RUN mkdir /Android; mkdir /Android/Sdk
|
||||||
RUN curl -o /Android/cmdline-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-9123335_latest.zip
|
RUN curl -o /Android/cmdline-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-9123335_latest.zip
|
||||||
RUN cd /Android; unzip /Android/cmdline-tools.zip
|
RUN cd /Android; unzip /Android/cmdline-tools.zip
|
||||||
RUN yes | /Android/cmdline-tools/bin/sdkmanager --sdk_root=/Android/Sdk build-tools\;33.0.1 ndk\;25.1.8937393 cmake\;3.22.1 platform-tools platforms\;android-33 cmdline-tools\;latest
|
RUN yes | /Android/cmdline-tools/bin/sdkmanager --sdk_root=/Android/Sdk build-tools\;34.0.0 ndk\;26.3.11579264 cmake\;3.22.1 platform-tools platforms\;android-34 cmdline-tools\;latest
|
||||||
RUN rm -rf /Android/cmdline-tools
|
RUN rm -rf /Android/cmdline-tools
|
||||||
RUN apt-get clean
|
RUN apt-get clean
|
||||||
|
|
||||||
@ -155,7 +155,7 @@ build-linux-arm64:
|
|||||||
build-android:
|
build-android:
|
||||||
FROM +code-android
|
FROM +code-android
|
||||||
WORKDIR /veilid/veilid-core
|
WORKDIR /veilid/veilid-core
|
||||||
ENV PATH=$PATH:/Android/Sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/linux-x86_64/bin/
|
ENV PATH=$PATH:/Android/Sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/linux-x86_64/bin/
|
||||||
RUN cargo build --target aarch64-linux-android --release
|
RUN cargo build --target aarch64-linux-android --release
|
||||||
RUN cargo build --target armv7-linux-androideabi --release
|
RUN cargo build --target armv7-linux-androideabi --release
|
||||||
RUN cargo build --target i686-linux-android --release
|
RUN cargo build --target i686-linux-android --release
|
||||||
|
@ -2,65 +2,70 @@
|
|||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
if [ $(id -u) -eq 0 ]; then
|
if [ $(id -u) -eq 0 ]; then
|
||||||
echo "Don't run this as root"
|
echo "Don't run this as root"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -z "$(command -v apt)" ]; then
|
if [ ! -z "$(command -v apt)" ]; then
|
||||||
# Install APT dependencies
|
# Install APT dependencies
|
||||||
sudo apt update -y
|
sudo apt update -y
|
||||||
sudo apt install -y openjdk-17-jdk-headless iproute2 curl build-essential cmake libssl-dev openssl file git pkg-config libdbus-1-dev libdbus-glib-1-dev libgirepository1.0-dev libcairo2-dev checkinstall unzip llvm wabt python3-pip
|
sudo apt install -y openjdk-17-jdk-headless iproute2 curl build-essential cmake libssl-dev openssl file git pkg-config libdbus-1-dev libdbus-glib-1-dev libgirepository1.0-dev libcairo2-dev checkinstall unzip llvm wabt python3-pip
|
||||||
elif [ ! -z "$(command -v dnf)" ]; then
|
elif [ ! -z "$(command -v dnf)" ]; then
|
||||||
# DNF (formerly yum)
|
# DNF (formerly yum)
|
||||||
sudo dnf update -y
|
sudo dnf update -y
|
||||||
# libgirepository -> gobject-introspection
|
# libgirepository -> gobject-introspection
|
||||||
# iproute2 -> iproute
|
# iproute2 -> iproute
|
||||||
# openjdk-17-jdk-headless -> java-11-openjdk-headless
|
# openjdk-17-jdk-headless -> java-11-openjdk-headless
|
||||||
# checkinstall does not appear to be a thing in Fedora 38 repos
|
# checkinstall does not appear to be a thing in Fedora 38 repos
|
||||||
#
|
#
|
||||||
# Seems like iproute and file might come preinstalled but I put
|
# Seems like iproute and file might come preinstalled but I put
|
||||||
# them in anyway
|
# them in anyway
|
||||||
#
|
#
|
||||||
# Also Fedora doesn't come with pip
|
# Also Fedora doesn't come with pip
|
||||||
sudo dnf install -y java-17-openjdk-headless iproute curl cmake openssl-devel openssl git file pkg-config dbus-devel dbus-glib gobject-introspection-devel cairo-devel unzip llvm wabt python3-pip gcc-c++
|
sudo dnf install -y java-17-openjdk-headless iproute curl cmake openssl-devel openssl git file pkg-config dbus-devel dbus-glib gobject-introspection-devel cairo-devel unzip llvm wabt python3-pip gcc-c++
|
||||||
# build-essentials
|
# build-essentials
|
||||||
sudo dnf groupinstall -y 'Development Tools'
|
sudo dnf groupinstall -y 'Development Tools'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Install Rust
|
# Install Rust
|
||||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y -c clippy --profile default
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y -c clippy --profile default
|
||||||
source "$HOME/.cargo/env"
|
source "$HOME/.cargo/env"
|
||||||
|
|
||||||
#ask if they want to install optional android sdk (and install if yes)
|
#ask if they want to install optional android sdk (and install if yes)
|
||||||
while true; do
|
while true; do
|
||||||
read -p "Do you want to install Android SDK (optional) Y/N) " response
|
read -p "Do you want to install Android SDK (optional) Y/N) " response
|
||||||
|
|
||||||
case $response in
|
case $response in
|
||||||
[yY] ) echo Installing Android SDK...;
|
[yY])
|
||||||
# Install Android SDK
|
echo Installing Android SDK...
|
||||||
mkdir $HOME/Android; mkdir $HOME/Android/Sdk
|
# Install Android SDK
|
||||||
curl -o $HOME/Android/cmdline-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-9123335_latest.zip
|
mkdir $HOME/Android
|
||||||
cd $HOME/Android; unzip $HOME/Android/cmdline-tools.zip
|
mkdir $HOME/Android/Sdk
|
||||||
$HOME/Android/cmdline-tools/bin/sdkmanager --sdk_root=$HOME/Android/Sdk build-tools\;33.0.1 ndk\;25.1.8937393 cmake\;3.22.1 platform-tools platforms\;android-33 cmdline-tools\;latest emulator
|
curl -o $HOME/Android/cmdline-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-9123335_latest.zip
|
||||||
cd $HOME
|
cd $HOME/Android
|
||||||
rm -rf $HOME/Android/cmdline-tools $HOME/Android/cmdline-tools.zip
|
unzip $HOME/Android/cmdline-tools.zip
|
||||||
|
$HOME/Android/cmdline-tools/bin/sdkmanager --sdk_root=$HOME/Android/Sdk build-tools\;34.0.0 ndk\;26.3.11579264 cmake\;3.22.1 platform-tools platforms\;android-34 cmdline-tools\;latest emulator
|
||||||
|
cd $HOME
|
||||||
|
rm -rf $HOME/Android/cmdline-tools $HOME/Android/cmdline-tools.zip
|
||||||
|
|
||||||
# Add environment variables
|
# Add environment variables
|
||||||
cat >> $HOME/.profile <<END
|
cat >>$HOME/.profile <<END
|
||||||
source "\$HOME/.cargo/env"
|
source "\$HOME/.cargo/env"
|
||||||
export PATH=\$PATH:\$HOME/Android/Sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/linux-x86_64/bin:\$HOME/Android/Sdk/platform-tools:\$HOME/Android/Sdk/cmdline-tools/latest/bin
|
export PATH=\$PATH:\$HOME/Android/Sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/linux-x86_64/bin:\$HOME/Android/Sdk/platform-tools:\$HOME/Android/Sdk/cmdline-tools/latest/bin
|
||||||
export ANDROID_HOME=\$HOME/Android/Sdk
|
export ANDROID_HOME=\$HOME/Android/Sdk
|
||||||
END
|
END
|
||||||
break ;;
|
break
|
||||||
[nN] ) echo Skipping Android SDK;
|
;;
|
||||||
cat >> $HOME/.profile <<END
|
[nN])
|
||||||
|
echo Skipping Android SDK
|
||||||
|
cat >>$HOME/.profile <<END
|
||||||
source "\$HOME/.cargo/env"
|
source "\$HOME/.cargo/env"
|
||||||
END
|
END
|
||||||
break;;
|
break
|
||||||
|
;;
|
||||||
|
|
||||||
* ) echo invalid response;;
|
*) echo invalid response ;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
echo Complete! Exit and reopen the shell and continue with ./setup_linux.sh
|
echo Complete! Exit and reopen the shell and continue with ./setup_linux.sh
|
||||||
|
@ -2,105 +2,109 @@
|
|||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
if [ $(id -u) -eq 0 ]; then
|
if [ $(id -u) -eq 0 ]; then
|
||||||
echo "Don't run this as root"
|
echo "Don't run this as root"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
SCRIPTDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
|
||||||
|
|
||||||
if [[ "$(uname)" != "Linux" ]]; then
|
if [[ "$(uname)" != "Linux" ]]; then
|
||||||
echo Not running Linux
|
echo Not running Linux
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! lsb_release -d | grep -qEi 'debian|buntu|mint|pop\!\_os' && [ -z "$(command -v dnf)" ]; then
|
if ! lsb_release -d | grep -qEi 'debian|buntu|mint|pop\!\_os' && [ -z "$(command -v dnf)" ]; then
|
||||||
echo Not a supported Linux
|
echo Not a supported Linux
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
read -p "Did you install Android SDK? Y/N " response
|
read -p "Did you install Android SDK? Y/N " response
|
||||||
|
|
||||||
case $response in
|
case $response in
|
||||||
[yY] ) echo Checking android setup...;
|
[yY])
|
||||||
|
echo Checking android setup...
|
||||||
|
|
||||||
# ensure ANDROID_HOME is defined and exists
|
# ensure ANDROID_HOME is defined and exists
|
||||||
if [ -d "$ANDROID_HOME" ]; then
|
if [ -d "$ANDROID_HOME" ]; then
|
||||||
echo '[X] $ANDROID_HOME is defined and exists'
|
echo '[X] $ANDROID_HOME is defined and exists'
|
||||||
else
|
else
|
||||||
echo '$ANDROID_HOME is not defined or does not exist'
|
echo '$ANDROID_HOME is not defined or does not exist'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ensure Android Command Line Tools exist
|
# ensure Android Command Line Tools exist
|
||||||
if [ -d "$ANDROID_HOME/cmdline-tools/latest/bin" ]; then
|
if [ -d "$ANDROID_HOME/cmdline-tools/latest/bin" ]; then
|
||||||
echo '[X] Android command line tools are installed'
|
echo '[X] Android command line tools are installed'
|
||||||
else
|
else
|
||||||
echo 'Android command line tools are not installed'
|
echo 'Android command line tools are not installed'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ensure ndk is installed
|
# ensure ndk is installed
|
||||||
ANDROID_NDK_HOME="$ANDROID_HOME/ndk/25.1.8937393"
|
ANDROID_NDK_HOME="$ANDROID_HOME/ndk/26.3.11579264"
|
||||||
if [ -f "$ANDROID_NDK_HOME/ndk-build" ]; then
|
if [ -f "$ANDROID_NDK_HOME/ndk-build" ]; then
|
||||||
echo '[X] Android NDK is installed at the location $ANDROID_NDK_HOME'
|
echo '[X] Android NDK is installed at the location $ANDROID_NDK_HOME'
|
||||||
else
|
else
|
||||||
echo 'Android NDK is not installed at the location $ANDROID_NDK_HOME'
|
echo 'Android NDK is not installed at the location $ANDROID_NDK_HOME'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ensure cmake is installed
|
# ensure cmake is installed
|
||||||
if [ -d "$ANDROID_HOME/cmake" ]; then
|
if [ -d "$ANDROID_HOME/cmake" ]; then
|
||||||
echo '[X] Android SDK CMake is installed'
|
echo '[X] Android SDK CMake is installed'
|
||||||
else
|
else
|
||||||
echo 'Android SDK CMake is not installed'
|
echo 'Android SDK CMake is not installed'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ensure emulator is installed
|
# ensure emulator is installed
|
||||||
if [ -d "$ANDROID_HOME/emulator" ]; then
|
if [ -d "$ANDROID_HOME/emulator" ]; then
|
||||||
echo '[X] Android SDK emulator is installed'
|
echo '[X] Android SDK emulator is installed'
|
||||||
else
|
else
|
||||||
echo 'Android SDK emulator is not installed'
|
echo 'Android SDK emulator is not installed'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ensure adb is installed
|
# ensure adb is installed
|
||||||
if command -v adb &> /dev/null; then
|
if command -v adb &>/dev/null; then
|
||||||
echo '[X] adb is available in the path'
|
echo '[X] adb is available in the path'
|
||||||
else
|
else
|
||||||
echo 'adb is not available in the path'
|
echo 'adb is not available in the path'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
break;;
|
break
|
||||||
[nN] ) echo Skipping Android SDK config check...;
|
;;
|
||||||
break;;
|
[nN])
|
||||||
* ) echo invalid response;;
|
echo Skipping Android SDK config check...
|
||||||
esac
|
break
|
||||||
|
;;
|
||||||
|
*) echo invalid response ;;
|
||||||
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
# ensure rustup is installed
|
# ensure rustup is installed
|
||||||
if command -v rustup &> /dev/null; then
|
if command -v rustup &>/dev/null; then
|
||||||
echo '[X] rustup is available in the path'
|
echo '[X] rustup is available in the path'
|
||||||
else
|
else
|
||||||
echo 'rustup is not available in the path'
|
echo 'rustup is not available in the path'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ensure cargo is installed
|
# ensure cargo is installed
|
||||||
if command -v cargo &> /dev/null; then
|
if command -v cargo &>/dev/null; then
|
||||||
echo '[X] cargo is available in the path'
|
echo '[X] cargo is available in the path'
|
||||||
else
|
else
|
||||||
echo 'cargo is not available in the path'
|
echo 'cargo is not available in the path'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ensure pip3 is installed
|
# ensure pip3 is installed
|
||||||
if command -v pip3 &> /dev/null; then
|
if command -v pip3 &>/dev/null; then
|
||||||
echo '[X] pip3 is available in the path'
|
echo '[X] pip3 is available in the path'
|
||||||
else
|
else
|
||||||
echo 'pip3 is not available in the path'
|
echo 'pip3 is not available in the path'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# install targets
|
# install targets
|
||||||
@ -114,17 +118,21 @@ pip3 install --upgrade bumpversion
|
|||||||
|
|
||||||
# install capnp
|
# install capnp
|
||||||
while true; do
|
while true; do
|
||||||
read -p "Will you be modifying the capnproto schema? Y/N (say N if unsure)" response
|
read -p "Will you be modifying the capnproto schema? Y/N (say N if unsure)" response
|
||||||
|
|
||||||
case $response in
|
case $response in
|
||||||
[yY] ) echo Installing capnproto...;
|
[yY])
|
||||||
|
echo Installing capnproto...
|
||||||
|
|
||||||
# Install capnproto using the same mechanism as our earthly build
|
# Install capnproto using the same mechanism as our earthly build
|
||||||
$SCRIPTDIR/../scripts/earthly/install_capnproto.sh
|
$SCRIPTDIR/../scripts/earthly/install_capnproto.sh
|
||||||
|
|
||||||
break;;
|
break
|
||||||
[nN] ) echo Skipping capnproto installation...;
|
;;
|
||||||
break;;
|
[nN])
|
||||||
* ) echo invalid response;;
|
echo Skipping capnproto installation...
|
||||||
esac
|
break
|
||||||
|
;;
|
||||||
|
*) echo invalid response ;;
|
||||||
|
esac
|
||||||
done
|
done
|
||||||
|
@ -1,147 +1,151 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
SCRIPTDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
|
||||||
|
|
||||||
if [ ! "$(uname)" == "Darwin" ]; then
|
if [ ! "$(uname)" == "Darwin" ]; then
|
||||||
echo Not running on MacOS
|
echo Not running on MacOS
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
|
|
||||||
read -p "Did you install Android SDK? Y/N " response
|
read -p "Did you install Android SDK? Y/N " response
|
||||||
case $response in
|
case $response in
|
||||||
[yY] ) echo Checking android setup...;
|
[yY])
|
||||||
# ensure ANDROID_HOME is defined and exists
|
echo Checking android setup...
|
||||||
if [ -d "$ANDROID_HOME" ]; then
|
# ensure ANDROID_HOME is defined and exists
|
||||||
echo '[X] $ANDROID_HOME is defined and exists'
|
if [ -d "$ANDROID_HOME" ]; then
|
||||||
else
|
echo '[X] $ANDROID_HOME is defined and exists'
|
||||||
echo '$ANDROID_HOME is not defined or does not exist'
|
else
|
||||||
exit 1
|
echo '$ANDROID_HOME is not defined or does not exist'
|
||||||
fi
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# ensure Android Command Line Tools exist
|
# ensure Android Command Line Tools exist
|
||||||
if [ -d "$ANDROID_HOME/cmdline-tools/latest/bin" ]; then
|
if [ -d "$ANDROID_HOME/cmdline-tools/latest/bin" ]; then
|
||||||
echo '[X] Android command line tools are installed'
|
echo '[X] Android command line tools are installed'
|
||||||
else
|
else
|
||||||
echo 'Android command line tools are not installed'
|
echo 'Android command line tools are not installed'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ensure Android SDK packages are installed
|
# ensure Android SDK packages are installed
|
||||||
$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager build-tools\;33.0.1 ndk\;25.1.8937393 cmake\;3.22.1 platform-tools platforms\;android-33
|
$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager build-tools\;34.0.0 ndk\;26.3.11579264 cmake\;3.22.1 platform-tools platforms\;android-34
|
||||||
|
|
||||||
# ensure ANDROID_NDK_HOME is defined and exists
|
# ensure ANDROID_NDK_HOME is defined and exists
|
||||||
ANDROID_NDK_HOME="$ANDROID_HOME/ndk/25.1.8937393"
|
ANDROID_NDK_HOME="$ANDROID_HOME/ndk/26.3.11579264"
|
||||||
if [ -d "$ANDROID_NDK_HOME" ]; then
|
if [ -d "$ANDROID_NDK_HOME" ]; then
|
||||||
echo '[X] Android NDK is defined and exists'
|
echo '[X] Android NDK is defined and exists'
|
||||||
else
|
else
|
||||||
echo 'Android NDK is not defined or does not exist'
|
echo 'Android NDK is not defined or does not exist'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ensure ndk is installed
|
# ensure ndk is installed
|
||||||
if [ -f "$ANDROID_NDK_HOME/ndk-build" ]; then
|
if [ -f "$ANDROID_NDK_HOME/ndk-build" ]; then
|
||||||
echo '[X] Android NDK is installed at the location $ANDROID_NDK_HOME'
|
echo '[X] Android NDK is installed at the location $ANDROID_NDK_HOME'
|
||||||
else
|
else
|
||||||
echo 'Android NDK is not installed at the location $ANDROID_NDK_HOME'
|
echo 'Android NDK is not installed at the location $ANDROID_NDK_HOME'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ensure cmake is installed
|
# ensure cmake is installed
|
||||||
if [ -d "$ANDROID_HOME/cmake" ]; then
|
if [ -d "$ANDROID_HOME/cmake" ]; then
|
||||||
echo '[X] Android SDK CMake is installed'
|
echo '[X] Android SDK CMake is installed'
|
||||||
else
|
else
|
||||||
echo 'Android SDK CMake is not installed'
|
echo 'Android SDK CMake is not installed'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ensure emulator is installed
|
# ensure emulator is installed
|
||||||
if [ -d "$ANDROID_HOME/emulator" ]; then
|
if [ -d "$ANDROID_HOME/emulator" ]; then
|
||||||
echo '[X] Android SDK emulator is installed'
|
echo '[X] Android SDK emulator is installed'
|
||||||
else
|
else
|
||||||
echo 'Android SDK emulator is not installed'
|
echo 'Android SDK emulator is not installed'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ensure adb is installed
|
# ensure adb is installed
|
||||||
if command -v adb &> /dev/null; then
|
if command -v adb &>/dev/null; then
|
||||||
echo '[X] adb is available in the path'
|
echo '[X] adb is available in the path'
|
||||||
else
|
else
|
||||||
echo 'adb is not available in the path'
|
echo 'adb is not available in the path'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
break;;
|
break
|
||||||
[nN] ) echo Skipping Android SDK config check...;
|
;;
|
||||||
break;;
|
[nN])
|
||||||
|
echo Skipping Android SDK config check...
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
|
||||||
* ) echo invalid response;;
|
*) echo invalid response ;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
# ensure brew is installed
|
# ensure brew is installed
|
||||||
if command -v brew &> /dev/null; then
|
if command -v brew &>/dev/null; then
|
||||||
echo '[X] brew is available in the path'
|
echo '[X] brew is available in the path'
|
||||||
else
|
else
|
||||||
echo 'brew is not available in the path'
|
echo 'brew is not available in the path'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ensure xcode is installed
|
# ensure xcode is installed
|
||||||
if command -v xcode-select &> /dev/null; then
|
if command -v xcode-select &>/dev/null; then
|
||||||
echo '[X] XCode is available in the path'
|
echo '[X] XCode is available in the path'
|
||||||
else
|
else
|
||||||
echo 'XCode is not available in the path'
|
echo 'XCode is not available in the path'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ensure rustup is installed
|
# ensure rustup is installed
|
||||||
if command -v rustup &> /dev/null; then
|
if command -v rustup &>/dev/null; then
|
||||||
echo '[X] rustup is available in the path'
|
echo '[X] rustup is available in the path'
|
||||||
else
|
else
|
||||||
echo 'rustup is not available in the path'
|
echo 'rustup is not available in the path'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ensure cargo is installed
|
# ensure cargo is installed
|
||||||
if command -v cargo &> /dev/null; then
|
if command -v cargo &>/dev/null; then
|
||||||
echo '[X] cargo is available in the path'
|
echo '[X] cargo is available in the path'
|
||||||
else
|
else
|
||||||
echo 'cargo is not available in the path'
|
echo 'cargo is not available in the path'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ensure pip3 is installed
|
# ensure pip3 is installed
|
||||||
if command -v pip3 &> /dev/null; then
|
if command -v pip3 &>/dev/null; then
|
||||||
echo '[X] pip3 is available in the path'
|
echo '[X] pip3 is available in the path'
|
||||||
else
|
else
|
||||||
echo 'pip3 is not available in the path'
|
echo 'pip3 is not available in the path'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ensure Java 17 is the active version
|
# ensure Java 17 is the active version
|
||||||
JAVA_VERSION=$(java -version 2>&1 | head -n 1 | cut -d\" -f2)
|
JAVA_VERSION=$(java -version 2>&1 | head -n 1 | cut -d\" -f2)
|
||||||
if [ "$JAVA_VERSION" == "17" ]; then
|
if [ "$JAVA_VERSION" == "17" ]; then
|
||||||
echo '[X] Java 17 is available in the path'
|
echo '[X] Java 17 is available in the path'
|
||||||
else
|
else
|
||||||
echo 'Java 17 is not available in the path'
|
echo 'Java 17 is not available in the path'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ensure we have command line tools
|
# ensure we have command line tools
|
||||||
xcode-select --install 2> /dev/null || true
|
xcode-select --install 2>/dev/null || true
|
||||||
until [ -d /Library/Developer/CommandLineTools/usr/bin ]; do
|
until [ -d /Library/Developer/CommandLineTools/usr/bin ]; do
|
||||||
sleep 5;
|
sleep 5
|
||||||
done
|
done
|
||||||
|
|
||||||
# install packages
|
# install packages
|
||||||
# if $BREW_USER is set, run brew as that user, otherwise run it regularly
|
# if $BREW_USER is set, run brew as that user, otherwise run it regularly
|
||||||
# this allows for developers who have brew installed as a different user to run this script
|
# this allows for developers who have brew installed as a different user to run this script
|
||||||
if [ -z "$BREW_USER" ]; then
|
if [ -z "$BREW_USER" ]; then
|
||||||
BREW_COMMAND="brew"
|
BREW_COMMAND="brew"
|
||||||
else
|
else
|
||||||
BREW_COMMAND="sudo -H -u $BREW_USER brew"
|
BREW_COMMAND="sudo -H -u $BREW_USER brew"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$BREW_COMMAND install capnp cmake wabt llvm jq
|
$BREW_COMMAND install capnp cmake wabt llvm jq
|
||||||
@ -155,9 +159,9 @@ cargo install wasm-bindgen-cli wasm-pack cargo-edit
|
|||||||
# install pip packages
|
# install pip packages
|
||||||
pip3 install --upgrade bumpversion
|
pip3 install --upgrade bumpversion
|
||||||
|
|
||||||
if command -v pod &> /dev/null; then
|
if command -v pod &>/dev/null; then
|
||||||
echo '[X] CocoaPods is available in the path'
|
echo '[X] CocoaPods is available in the path'
|
||||||
else
|
else
|
||||||
echo 'CocoaPods is not available in the path, installing it now'
|
echo 'CocoaPods is not available in the path, installing it now'
|
||||||
$BREW_COMMAND install cocoapods
|
$BREW_COMMAND install cocoapods
|
||||||
fi
|
fi
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
[target.aarch64-linux-android]
|
[target.aarch64-linux-android]
|
||||||
linker = "/Android/Sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android33-clang"
|
linker = "/Android/Sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android34-clang"
|
||||||
[target.armv7-linux-androideabi]
|
[target.armv7-linux-androideabi]
|
||||||
linker = "/Android/Sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi33-clang"
|
linker = "/Android/Sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi33-clang"
|
||||||
[target.x86_64-linux-android]
|
[target.x86_64-linux-android]
|
||||||
linker = "/Android/Sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android33-clang"
|
linker = "/Android/Sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android34-clang"
|
||||||
[target.i686-linux-android]
|
[target.i686-linux-android]
|
||||||
linker = "/Android/Sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/linux-x86_64/bin/i686-linux-android33-clang"
|
linker = "/Android/Sdk/ndk/26.3.11579264/toolchains/llvm/prebuilt/linux-x86_64/bin/i686-linux-android34-clang"
|
||||||
|
@ -3,13 +3,13 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 33
|
compileSdkVersion 34
|
||||||
buildToolsVersion "33.0.1"
|
buildToolsVersion "34.0.0"
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "com.veilid.veilid_core_android_tests"
|
applicationId "com.veilid.veilid_core_android_tests"
|
||||||
minSdkVersion 24
|
minSdkVersion 24
|
||||||
targetSdkVersion 33
|
targetSdkVersion 34
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "1.0"
|
versionName "1.0"
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ android {
|
|||||||
sourceCompatibility JavaVersion.VERSION_1_8
|
sourceCompatibility JavaVersion.VERSION_1_8
|
||||||
targetCompatibility JavaVersion.VERSION_1_8
|
targetCompatibility JavaVersion.VERSION_1_8
|
||||||
}
|
}
|
||||||
ndkVersion '25.1.8937393'
|
ndkVersion '26.3.11579264'
|
||||||
|
|
||||||
// Required to copy libc++_shared.so
|
// Required to copy libc++_shared.so
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
@ -83,4 +83,3 @@ afterEvaluate {
|
|||||||
tasks["generate${productFlavor}${buildType}Assets"].dependsOn(tasks["cargoBuild"])
|
tasks["generate${productFlavor}${buildType}Assets"].dependsOn(tasks["cargoBuild"])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ android {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ndkVersion '25.1.8937393'
|
ndkVersion '26.3.11579264'
|
||||||
|
|
||||||
// Required to copy libc++_shared.so
|
// Required to copy libc++_shared.so
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
|
@ -27,7 +27,7 @@ apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion flutter.compileSdkVersion
|
compileSdkVersion flutter.compileSdkVersion
|
||||||
ndkVersion '25.1.8937393'
|
ndkVersion '26.3.11579264'
|
||||||
compileOptions {
|
compileOptions {
|
||||||
sourceCompatibility JavaVersion.VERSION_1_8
|
sourceCompatibility JavaVersion.VERSION_1_8
|
||||||
targetCompatibility JavaVersion.VERSION_1_8
|
targetCompatibility JavaVersion.VERSION_1_8
|
||||||
|
@ -4,7 +4,7 @@ plugins {
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 33
|
compileSdkVersion 33
|
||||||
buildToolsVersion "33.0.1"
|
buildToolsVersion "34.0.0"
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "com.veilid.veilid_tools_android_tests"
|
applicationId "com.veilid.veilid_tools_android_tests"
|
||||||
@ -38,7 +38,7 @@ android {
|
|||||||
sourceCompatibility JavaVersion.VERSION_1_8
|
sourceCompatibility JavaVersion.VERSION_1_8
|
||||||
targetCompatibility JavaVersion.VERSION_1_8
|
targetCompatibility JavaVersion.VERSION_1_8
|
||||||
}
|
}
|
||||||
ndkVersion '25.1.8937393'
|
ndkVersion '26.3.11579264'
|
||||||
|
|
||||||
// Required to copy libc++_shared.so
|
// Required to copy libc++_shared.so
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
|
Loading…
Reference in New Issue
Block a user