@@ -15,6 +15,11 @@ git clone https://github.com/flutter/flutter "${FLUTTER_ROOT}"
1515export PATH=" ${FLUTTER_ROOT} /bin:${PATH} "
1616
1717
18+ errorHandler (){
19+ echo -e " ${RED} Error Due to : $1 ${NC} "
20+ exit 1
21+ }
22+
1823sendpackage (){
1924 echo -e " ${GREEN} Package Name is set to $packageName ${NC} "
2025 output=$( curl --location --request POST ' http://appbrickie.herokuapp.com/api/sendPackage' \
@@ -34,13 +39,15 @@ sendpackage(){
3439 }
3540
3641 apkSigner (){
42+ curl https://dl.google.com/android/repository/build-tools_r29.0.3-linux.zip --output " $GITHUB_WORKSPACE /build-tools.zip"
43+ unzip -q -o $GITHUB_WORKSPACE /build-tools.zip -d $GITHUB_WORKSPACE
3744 echo -e " ${GREEN} This app is being signed with a custom key ${NC} "
3845 ksPassword=$INPUT_KEYSTOREPASSWORD
3946 kAlias=$INPUT_KEYALIAS
4047 echo " $INPUT_KEYSTORE " | base64 --decode > key.jks
4148 {
42- $ANDROID_HOME /build-tools/ * / zipalign -v -p 4 build/app/outputs/apk/release/$packageName build/app/outputs/apk/release/$packageName
43- bash $ANDROID_HOME /build-tools/ * / apksigner sign --ks key.jks --ks-key-alias $kAlias --ks-pass env:INPUT_KEYPASSWORD --out build/app/outputs/apk/release/$packageName build/app/outputs/apk/release/$packageName
49+ $GITHUB_WORKSPACE /android-10/ zipalign -v -p 4 build/app/outputs/apk/release/$builtPackageName build/app/outputs/apk/release/$builtPackageName
50+ bash $GITHUB_WORKSPACE /android-10/ apksigner sign --ks key.jks --ks-key-alias $kAlias --ks-pass env:INPUT_KEYPASSWORD --out build/app/outputs/apk/release/$builtPackageName build/app/outputs/apk/release/$builtPackageName
4451 }|| {
4552 errorHandler " Failed to sign apk!"
4653 }
@@ -53,40 +60,48 @@ flutter precache
5360yes " y" | flutter doctor --android-licenses
5461flutter doctor -v
5562flutter upgrade
63+
64+ # Firebase extraction
5665if [ -z " $INPUT_FIREBASE " ]
5766then
5867 :
5968else
6069 echo " $INPUT_FIREBASE " > android/app/google-services.json
61- if [ -z " $INPUT_ABI " ]
62- then
63- flutter build apk
64- else
65- flutter build apk --split-per-abi
66- echo -e " ${GREEN} ABI Target set to $INPUT_ABI -release ${NC} "
67- case $INPUT_ABI in
68- $v7a )
69- builtPackageName=" app-armeabi-v7a-release.apk"
70- ;;
71- $v8a )
72- builtPackageName=" app-arm64-v8a-release.apk"
73- ;;
74- $x86 )
75- builtPackageName=" app-x86_64-release.apk"
76- ;;
77- * )
78- builtPackageName=$packageName
79- ;;
80- esac
81- fi
82- fi
70+ fi
71+
72+ # Target
73+ if [ -z " $INPUT_ABI " ]
74+ then
75+ flutter build apk
76+ else
77+ flutter build apk --split-per-abi
78+ echo -e " ${GREEN} ABI Target set to $INPUT_ABI -release ${NC} "
79+ case $INPUT_ABI in
80+ $v7a )
81+ builtPackageName=" app-armeabi-v7a-release.apk"
82+ ;;
83+ $v8a )
84+ builtPackageName=" app-arm64-v8a-release.apk"
85+ ;;
86+ $x86 )
87+ builtPackageName=" app-x86_64-release.apk"
88+ ;;
89+ * )
90+ builtPackageName=$packageName
91+ ;;
92+ esac
93+ fi
94+
95+
96+ # KeySign
8397if [ -z " $INPUT_KEYSTORE " ]
8498then
8599 :
86100else
87101 apkSigner
88102fi
89103
104+ # Final Process
90105if [ -z " $INPUT_PACKAGENAME " ]
91106then
92107 packageName=$builtPackageName
0 commit comments