Skip to content

Commit 8718b16

Browse files
committed
flutter: apk sign + zip align fixes
1 parent 1f12c50 commit 8718b16

File tree

1 file changed

+39
-24
lines changed

1 file changed

+39
-24
lines changed

flutter.sh

Lines changed: 39 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ git clone https://github.com/flutter/flutter "${FLUTTER_ROOT}"
1515
export PATH="${FLUTTER_ROOT}/bin:${PATH}"
1616

1717

18+
errorHandler(){
19+
echo -e "${RED}Error Due to : $1 ${NC}"
20+
exit 1
21+
}
22+
1823
sendpackage(){
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
5360
yes "y" | flutter doctor --android-licenses
5461
flutter doctor -v
5562
flutter upgrade
63+
64+
#Firebase extraction
5665
if [ -z "$INPUT_FIREBASE" ]
5766
then
5867
:
5968
else
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
8397
if [ -z "$INPUT_KEYSTORE" ]
8498
then
8599
:
86100
else
87101
apkSigner
88102
fi
89103

104+
#Final Process
90105
if [ -z "$INPUT_PACKAGENAME" ]
91106
then
92107
packageName=$builtPackageName

0 commit comments

Comments
 (0)