@@ -913,6 +913,127 @@ jobs:
913913 archive : false
914914 retention-days : 7
915915
916+ # ------------------------------------------------------
917+
918+ Build-Android-Qt610 :
919+ runs-on : android-runner
920+
921+ needs : Bake-Prebuilts-Android
922+ if : ${{ always() }}
923+
924+ env :
925+ ANDROID_PLATFORM : android-28
926+ NDK_VERSION : 27.0.11718014
927+ QT_VERSION : 6.10.1
928+ QT_MODULES : ' qtremoteobjects qt5compat qtimageformats qtshadertools'
929+ PROD_AGW_PUBLIC_KEY : ${{ secrets.PROD_AGW_PUBLIC_KEY }}
930+ PROD_S3_ENDPOINT : ${{ secrets.PROD_S3_ENDPOINT }}
931+ FALLBACK_S3_ENDPOINT : ${{ secrets.FALLBACK_S3_ENDPOINT }}
932+ DEV_AGW_PUBLIC_KEY : ${{ secrets.DEV_AGW_PUBLIC_KEY }}
933+ DEV_AGW_ENDPOINT : ${{ secrets.DEV_AGW_ENDPOINT }}
934+ DEV_S3_ENDPOINT : ${{ secrets.DEV_S3_ENDPOINT }}
935+ FREE_V2_ENDPOINT : ${{ secrets.FREE_V2_ENDPOINT }}
936+ PREM_V1_ENDPOINT : ${{ secrets.PREM_V1_ENDPOINT }}
937+
938+ steps :
939+ - name : ' Get sources'
940+ uses : actions/checkout@v4
941+ with :
942+ submodules : ' true'
943+
944+ - name : ' Install desktop Qt'
945+ uses : jurplel/install-qt-action@v4
946+ with :
947+ version : ${{ env.QT_VERSION }}
948+ host : ' linux'
949+ target : ' desktop'
950+ arch : ' linux_gcc_64'
951+ modules : ${{ env.QT_MODULES }}
952+ dir : ${{ runner.temp }}
953+ py7zrversion : ' ==0.22.*'
954+ extra : ' --base ${{ env.QT_MIRROR }}'
955+
956+ - name : ' Install android_armv7 Qt'
957+ uses : jurplel/install-qt-action@v4
958+ with :
959+ version : ${{ env.QT_VERSION }}
960+ host : ' linux'
961+ target : ' android'
962+ arch : ' android_armv7'
963+ modules : ${{ env.QT_MODULES }}
964+ dir : ${{ runner.temp }}
965+ py7zrversion : ' ==0.22.*'
966+ extra : ' --base ${{ env.QT_MIRROR }}'
967+
968+ - name : ' Install android_arm64_v8a Qt'
969+ uses : jurplel/install-qt-action@v4
970+ with :
971+ version : ${{ env.QT_VERSION }}
972+ host : ' linux'
973+ target : ' android'
974+ arch : ' android_arm64_v8a'
975+ modules : ${{ env.QT_MODULES }}
976+ dir : ${{ runner.temp }}
977+ py7zrversion : ' ==0.22.*'
978+ extra : ' --base ${{ env.QT_MIRROR }}'
979+
980+ - name : ' Setup Java'
981+ uses : actions/setup-java@v4
982+ with :
983+ distribution : ' temurin'
984+ java-version : ' 17'
985+
986+ - name : ' Setup Android SDK'
987+ uses : android-actions/setup-android@v4
988+ with :
989+ packages : " platforms;${{ env.ANDROID_PLATFORM }} ndk;${{ env.NDK_VERSION }}"
990+
991+ - name : ' Setup python'
992+ uses : actions/setup-python@v6
993+ with :
994+ python-version : 3.14
995+
996+ - name : ' Install conan'
997+ run : pip install "conan==2.28.0"
998+
999+ - name : ' Decode keystore secret to file'
1000+ env :
1001+ KEYSTORE_BASE64 : ${{ secrets.ANDROID_RELEASE_KEYSTORE_BASE64 }}
1002+ shell : bash
1003+ run : |
1004+ echo $KEYSTORE_BASE64 | base64 --decode > android.keystore
1005+
1006+ - name : ' Build project'
1007+ env :
1008+ QT_INSTALL_DIR : ${{ runner.temp }}
1009+ QT_ANDROID_KEYSTORE_PATH : ${{ github.workspace }}/android.keystore
1010+ QT_ANDROID_KEYSTORE_ALIAS : ${{ secrets.ANDROID_RELEASE_KEYSTORE_KEY_ALIAS }}
1011+ QT_ANDROID_KEYSTORE_STORE_PASS : ${{ secrets.ANDROID_RELEASE_KEYSTORE_KEY_PASS }}
1012+ shell : bash
1013+ run : |
1014+ for abi in arm64-v8a armeabi-v7a; do
1015+ deploy/build.sh -t android --sign --abi ${abi} --build ./deploy/build/${abi}
1016+
1017+ VERSION=$(grep CMAKE_PROJECT_VERSION:STATIC deploy/build/${abi}/CMakeCache.txt | cut -d= -f2)
1018+ (cd deploy/build/${abi}/client/android-build && mv AmneziaVPN.apk AmneziaVPN_${VERSION}_android9+_qt_6_10_${abi}.apk)
1019+ done
1020+
1021+ - name : ' Upload arm64-v8a APK'
1022+ uses : actions/upload-artifact@v7
1023+ with :
1024+ path : deploy/build/arm64-v8a/client/android-build/*.apk
1025+ archive : false
1026+ retention-days : 7
1027+
1028+ - name : ' Upload armeabi-v7a APK'
1029+ uses : actions/upload-artifact@v7
1030+ with :
1031+ path : deploy/build/armeabi-v7a/client/android-build/*.apk
1032+ archive : false
1033+ retention-days : 7
1034+
1035+ # ------------------------------------------------------
1036+
9161037 Extra :
9171038 runs-on : ubuntu-latest
9181039 steps :
0 commit comments