Skip to content

Commit 501d6ae

Browse files
committed
feat: ABI specific build for flutter builds
1 parent ced203b commit 501d6ae

File tree

3 files changed

+43
-12
lines changed

3 files changed

+43
-12
lines changed

action.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ inputs:
1313
description: "The Framework that you are using to build your app"
1414
requried: true
1515
default: "native"
16+
abi:
17+
description: "Target ABI for flutter builds"
18+
requried: false
1619

1720
outputs:
1821
result:

entrypoint.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@ nativeBuild(){
4444
}
4545

4646
flutterBuild(){
47-
echo "Flutter Build"
48-
ls
47+
echo "Flutter Build"
4948
bash /flutter.sh
5049
}
5150

flutter.sh

Lines changed: 39 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
1-
# Get Flutter
2-
export FLUTTER_ROOT="/opt/flutter"
3-
git clone https://github.com/flutter/flutter "${FLUTTER_ROOT}"
4-
export PATH="${FLUTTER_ROOT}/bin:${PATH}"
1+
#Constants
52
packageName="app-release.apk"
3+
builtPackageName=$packageName
64
RED='\033[0;31m'
75
GREEN='\033[0;32m'
86
NC='\033[0m'
7+
v7a='armabi-v7a'
8+
v8a='arm64-v8a'
9+
x86='x86_64'
10+
11+
12+
# Get Flutter
13+
export FLUTTER_ROOT="/opt/flutter"
14+
git clone https://github.com/flutter/flutter "${FLUTTER_ROOT}"
15+
export PATH="${FLUTTER_ROOT}/bin:${PATH}"
16+
917

1018
sendpackage(){
1119
echo -e "${GREEN}Package Name is set to $packageName${NC}"
@@ -14,27 +22,48 @@ sendpackage(){
1422
--form 'id='$INPUT_CHATID'' \
1523
--form 'msg=Build Successful https://www.github.com/'$GITHUB_REPOSITORY'/commit/'$GITHUB_SHA'')
1624
echo "::set-output name=result::$output"
17-
}
25+
}
1826

19-
renamePackage(){
27+
renamePackage(){
2028
{
21-
mv build/app/outputs/apk/release/app-release.apk build/app/outputs/apk/release/"$packageName"
29+
mv build/app/outputs/apk/release/"$builtPackageName" build/app/outputs/apk/release/"$packageName"
2230
}||{
2331
echo -e "${RED}File Renaming Error, reverting to app-debug.apk name${NC}"
2432
packageName="app.apk"
2533
}
26-
27-
}
34+
}
2835

2936
# Run Flutter
3037
flutter config --no-analytics
3138
flutter precache
3239
yes "y" | flutter doctor --android-licenses
3340
flutter doctor -v
3441
flutter upgrade
35-
flutter build apk
42+
if [ -z "$INPUT_ABI" ]
43+
then
44+
flutter build apk
45+
else
46+
flutter build apk --split-per-abi
47+
echo -e "${GREEN}ABI Target set to $INPUT_ABI-release ${NC}"
48+
case $INPUT_ABI in
49+
$v7a )
50+
builtPackageName="app-armeabi-v7a-release.apk"
51+
;;
52+
$v8a )
53+
builtPackageName="app-arm64-v8a-release.apk"
54+
;;
55+
$x86 )
56+
builtPackageName="app-x86_64-release.apk"
57+
;;
58+
* )
59+
builtPackageName=$packageName
60+
;;
61+
esac
62+
fi
63+
3664
if [ -z "$INPUT_PACKAGENAME" ]
3765
then
66+
packageName=$builtPackageName
3867
sendpackage
3968
else
4069
rectifiedName=${INPUT_PACKAGENAME// /_}

0 commit comments

Comments
 (0)