setup
This commit is contained in:
parent
689e54516d
commit
d08fa1fb11
@ -28,7 +28,7 @@ RUN $HOME/.cargo/bin/cargo install cargo-ndk
|
|||||||
|
|
||||||
# Install Flutter
|
# Install Flutter
|
||||||
RUN wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.7.3-stable.tar.xz
|
RUN wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.7.3-stable.tar.xz
|
||||||
RUN tar xf flutter_linux_3.7.3-stable.tar.xz
|
RUN tar xf flutter_linux_3.7.3-stable.tar.xz && rm flutter_linux_3.7.3-stable.tar.xz
|
||||||
ENV PATH="$PATH:$HOME/flutter/bin"
|
ENV PATH="$PATH:$HOME/flutter/bin"
|
||||||
RUN dart pub global activate ffigen 5.0.1
|
RUN dart pub global activate ffigen 5.0.1
|
||||||
|
|
||||||
|
73
.devcontainer/build.sh
Executable file
73
.devcontainer/build.sh
Executable file
@ -0,0 +1,73 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
MODE=${1:---debug}
|
||||||
|
TYPE=${2:-linux}
|
||||||
|
MODE=${MODE/*-/}
|
||||||
|
|
||||||
|
|
||||||
|
build(){
|
||||||
|
pwd
|
||||||
|
$WORKDIR/entrypoint $1
|
||||||
|
}
|
||||||
|
|
||||||
|
build_arm64(){
|
||||||
|
CWD=$(pwd)
|
||||||
|
cd $WORKDIR
|
||||||
|
$WORKDIR/flutter/ndk_arm64.sh
|
||||||
|
cp $WORKDIR/target/aarch64-linux-android/release/liblibrustdesk.so $WORKDIR/flutter/android/app/src/main/jniLibs/arm64-v8a/librustdesk.so
|
||||||
|
cd $CWD
|
||||||
|
}
|
||||||
|
|
||||||
|
build_apk(){
|
||||||
|
cd $WORKDIR/flutter
|
||||||
|
MODE=$1 $WORKDIR/flutter/build_android.sh
|
||||||
|
cd $WORKDIR
|
||||||
|
}
|
||||||
|
|
||||||
|
key_gen(){
|
||||||
|
if [ ! -f $WORKDIR/flutter/android/key.properties ]
|
||||||
|
then
|
||||||
|
if [ ! -f $HOME/upload-keystore.jks ]
|
||||||
|
then
|
||||||
|
echo "Remember the password you enter in keytool!"
|
||||||
|
keytool -genkey -v -keystore $HOME/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload
|
||||||
|
else
|
||||||
|
read -r -p "enter the password used to generate $HOME/upload-keystore.jks" password
|
||||||
|
echo -e "storePassword=${password}\nkeyPassword=${password}\nkeyAlias=upload\nstoreFile=$HOME/upload-keystore.jks" > $WORKDIR/flutter/android/key.properties
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
android_build(){
|
||||||
|
if [ ! -d $WORKDIR/flutter/android/app/src/main/jniLibs/arm64-v8a ]
|
||||||
|
then
|
||||||
|
$WORKDIR/.devcontainer/setup.sh android
|
||||||
|
fi
|
||||||
|
build_arm64
|
||||||
|
case $1 in
|
||||||
|
debug)
|
||||||
|
build_apk debug
|
||||||
|
;;
|
||||||
|
release)
|
||||||
|
key_gen
|
||||||
|
build_apk release
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$MODE:$TYPE" in
|
||||||
|
"debug:linux")
|
||||||
|
build
|
||||||
|
;;
|
||||||
|
"release:linux")
|
||||||
|
build --release
|
||||||
|
;;
|
||||||
|
"debug:android")
|
||||||
|
android_build debug
|
||||||
|
;;
|
||||||
|
"release:android")
|
||||||
|
android_build release
|
||||||
|
;;
|
||||||
|
esac
|
@ -6,7 +6,7 @@
|
|||||||
},
|
},
|
||||||
"workspaceMount": "source=${localWorkspaceFolder},target=/home/vscode/rustdesk,type=bind,consistency=cache",
|
"workspaceMount": "source=${localWorkspaceFolder},target=/home/vscode/rustdesk,type=bind,consistency=cache",
|
||||||
"workspaceFolder": "/home/vscode/rustdesk",
|
"workspaceFolder": "/home/vscode/rustdesk",
|
||||||
"postStartCommand": "./entrypoint",
|
"postStartCommand": ".devcontainer/build",
|
||||||
"features": {
|
"features": {
|
||||||
"ghcr.io/devcontainers/features/java:1": {},
|
"ghcr.io/devcontainers/features/java:1": {},
|
||||||
"ghcr.io/akhildevelops/devcontainer-features/android-cli:latest": {
|
"ghcr.io/akhildevelops/devcontainer-features/android-cli:latest": {
|
||||||
@ -20,7 +20,9 @@
|
|||||||
"mutantdino.resourcemonitor",
|
"mutantdino.resourcemonitor",
|
||||||
"rust-lang.rust-analyzer",
|
"rust-lang.rust-analyzer",
|
||||||
"tamasfe.even-better-toml",
|
"tamasfe.even-better-toml",
|
||||||
"serayuzgur.crates"
|
"serayuzgur.crates",
|
||||||
|
"mhutchie.git-graph",
|
||||||
|
"eamodio.gitlens"
|
||||||
],
|
],
|
||||||
"settings": {
|
"settings": {
|
||||||
"files.watcherExclude": {
|
"files.watcherExclude": {
|
||||||
|
19
.devcontainer/setup.sh
Normal file
19
.devcontainer/setup.sh
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
case $1 in
|
||||||
|
android)
|
||||||
|
# install deps
|
||||||
|
cd $WORKDIR/flutter
|
||||||
|
flutter pub get
|
||||||
|
wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/so.tar.gz
|
||||||
|
tar xzf so.tar.gz
|
||||||
|
rm so.tar.gz
|
||||||
|
sudo chown -R $(whoami) $ANDROID_HOME
|
||||||
|
echo "Setup is Done."
|
||||||
|
;;
|
||||||
|
linux)
|
||||||
|
echo "Linux Setup"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
@ -1,8 +1,10 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
MODE=${MODE:=debug}
|
||||||
$ANDROID_NDK_HOME/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-strip android/app/src/main/jniLibs/arm64-v8a/*
|
$ANDROID_NDK_HOME/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-strip android/app/src/main/jniLibs/arm64-v8a/*
|
||||||
#flutter build apk --target-platform android-arm64,android-arm --release --obfuscate --split-debug-info ./split-debug-info
|
flutter build apk --target-platform android-arm64,android-arm --${MODE} --obfuscate --split-debug-info ./split-debug-info
|
||||||
flutter build apk --split-per-abi --target-platform android-arm64,android-arm --release --obfuscate --split-debug-info ./split-debug-info
|
flutter build apk --split-per-abi --target-platform android-arm64,android-arm --${MODE} --obfuscate --split-debug-info ./split-debug-info
|
||||||
#flutter build appbundle --target-platform android-arm64,android-arm --release --obfuscate --split-debug-info ./split-debug-info
|
flutter build appbundle --target-platform android-arm64,android-arm --${MODE} --obfuscate --split-debug-info ./split-debug-info
|
||||||
|
|
||||||
# build in linux
|
# build in linux
|
||||||
# $ANDROID_NDK/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-strip android/app/src/main/jniLibs/arm64-v8a/*
|
# $ANDROID_NDK/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-strip android/app/src/main/jniLibs/arm64-v8a/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user