Skip to content

Commit 1f12c50

Browse files
committed
add: flutter support for custom sign
1 parent e105818 commit 1f12c50

File tree

1 file changed

+41
-20
lines changed

1 file changed

+41
-20
lines changed

flutter.sh

Lines changed: 41 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,20 @@ sendpackage(){
3333
}
3434
}
3535

36+
apkSigner(){
37+
echo -e "${GREEN} This app is being signed with a custom key ${NC}"
38+
ksPassword=$INPUT_KEYSTOREPASSWORD
39+
kAlias=$INPUT_KEYALIAS
40+
echo "$INPUT_KEYSTORE" | base64 --decode > key.jks
41+
{
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
44+
}||{
45+
errorHandler "Failed to sign apk!"
46+
}
47+
echo -e "${GREEN} Apk signed successfully ! ${NC}"
48+
}
49+
3650
# Run Flutter
3751
flutter config --no-analytics
3852
flutter precache
@@ -41,29 +55,36 @@ flutter doctor -v
4155
flutter upgrade
4256
if [ -z "$INPUT_FIREBASE" ]
4357
then
44-
continue
58+
:
4559
else
4660
echo "$INPUT_FIREBASE" > android/app/google-services.json
47-
if [ -z "$INPUT_ABI" ]
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
83+
if [ -z "$INPUT_KEYSTORE" ]
4884
then
49-
flutter build apk
50-
else
51-
flutter build apk --split-per-abi
52-
echo -e "${GREEN}ABI Target set to $INPUT_ABI-release ${NC}"
53-
case $INPUT_ABI in
54-
$v7a )
55-
builtPackageName="app-armeabi-v7a-release.apk"
56-
;;
57-
$v8a )
58-
builtPackageName="app-arm64-v8a-release.apk"
59-
;;
60-
$x86 )
61-
builtPackageName="app-x86_64-release.apk"
62-
;;
63-
* )
64-
builtPackageName=$packageName
65-
;;
66-
esac
85+
:
86+
else
87+
apkSigner
6788
fi
6889

6990
if [ -z "$INPUT_PACKAGENAME" ]

0 commit comments

Comments
 (0)