76 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
set -e
 | 
						|
 | 
						|
MODE=${1:---debug}
 | 
						|
TYPE=${2:-linux}
 | 
						|
MODE=${MODE/*-/}
 | 
						|
 | 
						|
 | 
						|
build(){
 | 
						|
    pwd
 | 
						|
    $WORKDIR/entrypoint $1
 | 
						|
}
 | 
						|
 | 
						|
build_arm64(){
 | 
						|
    CWD=$(pwd)
 | 
						|
    cd $WORKDIR/flutter
 | 
						|
    flutter pub get
 | 
						|
    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
 | 
						|
            $WORKDIR/.devcontainer/setup.sh key
 | 
						|
        fi
 | 
						|
        read -r -p "enter the password used to generate $HOME/upload-keystore.jks\n" password
 | 
						|
        echo -e "storePassword=${password}\nkeyPassword=${password}\nkeyAlias=upload\nstoreFile=$HOME/upload-keystore.jks" > $WORKDIR/flutter/android/key.properties
 | 
						|
    else
 | 
						|
        echo "Believing storeFile is created ref: $WORKDIR/flutter/android/key.properties"
 | 
						|
    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
 |