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
 |