Skip to content

Commit

Permalink
android qt create install tgz
Browse files Browse the repository at this point in the history
  • Loading branch information
danryu committed Nov 24, 2022
1 parent 3047937 commit 3195759
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 66 deletions.
65 changes: 36 additions & 29 deletions .github/autobuild/android.sh
Original file line number Diff line number Diff line change
Expand Up @@ -53,36 +53,43 @@ setup_qt() {
python3 -m aqt install-qt --outputdir "${QT_BASEDIR}" linux desktop "${QT_VERSION}" \
--archives qtbase qtdeclarative qtsvg qttools icu

# Install Qt for target and patch in hacked Webview jars
python3 -m aqt install-qt --outputdir "${QT_BASEDIR}" linux android "${QT_VERSION}" android_x86 \
--archives qtbase qtdeclarative qtsvg qttools \
--modules qtwebview
##FIXME - HACK - SUBSTITUTE webview jar
wget https://github.com/koord-live/koord-app/releases/download/${QT_VERSION}/QtAndroidWebView_x86.jar -O \
"${QT_BASEDIR}/${QT_VERSION}/android_x86/jar/QtAndroidWebView.jar"
# # Install Qt from Android build release
wget -q https://github.com/koord-live/koord-app/releases/download/Qt_Android_${QT_VERSION}/qt_android_${QT_VERSION}.tar.gz \
-O /tmp/qt_android_${QT_VERSION}.tar.gz
tar xf /tmp/qt_android_${QT_VERSION}.tar.gz -C ${QT_BASEDIR}
rm /tmp/qt_android_${QT_VERSION}.tar.gz
# qt android now installed in QT_BASEDIR/

# # Install Qt for target and patch in hacked Webview jars
# python3 -m aqt install-qt --outputdir "${QT_BASEDIR}" linux android "${QT_VERSION}" android_x86 \
# --archives qtbase qtdeclarative qtsvg qttools \
# --modules qtwebview
# ##FIXME - HACK - SUBSTITUTE webview jar
# wget https://github.com/koord-live/koord-app/releases/download/${QT_VERSION}/QtAndroidWebView_x86.jar -O \
# "${QT_BASEDIR}/${QT_VERSION}/android_x86/jar/QtAndroidWebView.jar"

python3 -m aqt install-qt --outputdir "${QT_BASEDIR}" linux android "${QT_VERSION}" android_x86_64 \
--archives qtbase qtdeclarative qtsvg qttools \
--modules qtwebview
##FIXME - HACK - SUBSTITUTE webview jar
wget https://github.com/koord-live/koord-app/releases/download/${QT_VERSION}/QtAndroidWebView_x86_64.jar -O \
"${QT_BASEDIR}/${QT_VERSION}/android_x86_64/jar/QtAndroidWebView.jar"

# - 64bit required for Play Store
python3 -m aqt install-qt --outputdir "${QT_BASEDIR}" linux android "${QT_VERSION}" android_arm64_v8a \
--archives qtbase qtdeclarative qtsvg qttools \
--modules qtwebview
##FIXME - HACK - SUBSTITUTE webview jar
wget https://github.com/koord-live/koord-app/releases/download/${QT_VERSION}/QtAndroidWebView_arm64-v8a.jar -O \
"${QT_BASEDIR}/${QT_VERSION}/android_arm64_v8a/jar/QtAndroidWebView.jar"

# Also install for arm_v7 to build for 32bit devices
python3 -m aqt install-qt --outputdir "${QT_BASEDIR}" linux android "${QT_VERSION}" android_armv7 \
--archives qtbase qtdeclarative qtsvg qttools \
--modules qtwebview
##FIXME - HACK - SUBSTITUTE webview jar
wget https://github.com/koord-live/koord-app/releases/download/${QT_VERSION}/QtAndroidWebView_armeabi-v7a.jar -O \
"${QT_BASEDIR}/${QT_VERSION}/android_armv7/jar/QtAndroidWebView.jar"
# python3 -m aqt install-qt --outputdir "${QT_BASEDIR}" linux android "${QT_VERSION}" android_x86_64 \
# --archives qtbase qtdeclarative qtsvg qttools \
# --modules qtwebview
# ##FIXME - HACK - SUBSTITUTE webview jar
# wget https://github.com/koord-live/koord-app/releases/download/${QT_VERSION}/QtAndroidWebView_x86_64.jar -O \
# "${QT_BASEDIR}/${QT_VERSION}/android_x86_64/jar/QtAndroidWebView.jar"

# # - 64bit required for Play Store
# python3 -m aqt install-qt --outputdir "${QT_BASEDIR}" linux android "${QT_VERSION}" android_arm64_v8a \
# --archives qtbase qtdeclarative qtsvg qttools \
# --modules qtwebview
# ##FIXME - HACK - SUBSTITUTE webview jar
# wget https://github.com/koord-live/koord-app/releases/download/${QT_VERSION}/QtAndroidWebView_arm64-v8a.jar -O \
# "${QT_BASEDIR}/${QT_VERSION}/android_arm64_v8a/jar/QtAndroidWebView.jar"

# # Also install for arm_v7 to build for 32bit devices
# python3 -m aqt install-qt --outputdir "${QT_BASEDIR}" linux android "${QT_VERSION}" android_armv7 \
# --archives qtbase qtdeclarative qtsvg qttools \
# --modules qtwebview
# ##FIXME - HACK - SUBSTITUTE webview jar
# wget https://github.com/koord-live/koord-app/releases/download/${QT_VERSION}/QtAndroidWebView_armeabi-v7a.jar -O \
# "${QT_BASEDIR}/${QT_VERSION}/android_armv7/jar/QtAndroidWebView.jar"

fi
}
Expand Down
42 changes: 27 additions & 15 deletions .github/autobuild/webview_jars.sh
Original file line number Diff line number Diff line change
Expand Up @@ -74,12 +74,15 @@ build_jar() {
# Create shadow build directory
mkdir -p $HOME/qt6-build-${ARCH_ABI}

# Create install dir
mkdir -p $HOME/qt6-install

# Configure build for Android
# ALSO configure and build for: armeabi-v7a
cd $HOME/qt6-build-${ARCH_ABI}
../qt5/configure \
-platform android-clang \
-prefix $HOME/qt6_${ARCH_ABI} \
-prefix $HOME/qt6-install/android_${ARCH_ABI} \
-android-ndk ${ANDROID_NDK_HOME} \
-android-sdk ${ANDROID_SDK_ROOT} \
-qt-host-path $HOME/Qt/${QT_VERSION}/gcc_64 \
Expand All @@ -93,25 +96,34 @@ build_jar() {

## Optional install to prefix dir
cmake --install .
# file is now at $HOME/qt6_${ARCH_ABI}/jar/QtAndroidWebView.jar
# file is now at $HOME/qt6-install/android_${ARCH_ABI}/jar/QtAndroidWebView.jar
}

pass_artifacts_to_job() {
mkdir -p ${GITHUB_WORKSPACE}/deploy

mv -v $HOME/qt6_armeabi-v7a/jar/QtAndroidWebView.jar ${GITHUB_WORKSPACE}/deploy/QtAndroidWebView_armeabi-v7a.jar
mv -v $HOME/qt6_arm64-v8a/jar/QtAndroidWebView.jar ${GITHUB_WORKSPACE}/deploy/QtAndroidWebView_arm64-v8a.jar
mv -v $HOME/qt6_x86/jar/QtAndroidWebView.jar ${GITHUB_WORKSPACE}/deploy/QtAndroidWebView_x86.jar
mv -v $HOME/qt6_x86_64/jar/QtAndroidWebView.jar ${GITHUB_WORKSPACE}/deploy/QtAndroidWebView_x86_64.jar

echo ">>> Setting output as such: name=artifact_1::QtAndroidWebView_armeabi-v7a.jar"
echo "artifact_1=QtAndroidWebView_armeabi-v7a.jar" >> "$GITHUB_OUTPUT"
echo ">>> Setting output as such: name=artifact_2::QtAndroidWebView_arm64-v8a.jar"
echo "artifact_2=QtAndroidWebView_arm64-v8a.jar" >> "$GITHUB_OUTPUT"
echo ">>> Setting output as such: name=artifact_3::QtAndroidWebView_x86.jar"
echo "artifact_3=QtAndroidWebView_x86.jar" >> "$GITHUB_OUTPUT"
echo ">>> Setting output as such: name=artifact_4::QtAndroidWebView_x86_64.jar"
echo "artifact_4=QtAndroidWebView_x86_64.jar" >> "$GITHUB_OUTPUT"
# mv -v $HOME/qt6_armeabi-v7a/jar/QtAndroidWebView.jar ${GITHUB_WORKSPACE}/deploy/QtAndroidWebView_armeabi-v7a.jar
# mv -v $HOME/qt6_arm64-v8a/jar/QtAndroidWebView.jar ${GITHUB_WORKSPACE}/deploy/QtAndroidWebView_arm64-v8a.jar
# mv -v $HOME/qt6_x86/jar/QtAndroidWebView.jar ${GITHUB_WORKSPACE}/deploy/QtAndroidWebView_x86.jar
# mv -v $HOME/qt6_x86_64/jar/QtAndroidWebView.jar ${GITHUB_WORKSPACE}/deploy/QtAndroidWebView_x86_64.jar

# echo ">>> Setting output as such: name=artifact_1::QtAndroidWebView_armeabi-v7a.jar"
# echo "artifact_1=QtAndroidWebView_armeabi-v7a.jar" >> "$GITHUB_OUTPUT"
# echo ">>> Setting output as such: name=artifact_2::QtAndroidWebView_arm64-v8a.jar"
# echo "artifact_2=QtAndroidWebView_arm64-v8a.jar" >> "$GITHUB_OUTPUT"
# echo ">>> Setting output as such: name=artifact_3::QtAndroidWebView_x86.jar"
# echo "artifact_3=QtAndroidWebView_x86.jar" >> "$GITHUB_OUTPUT"
# echo ">>> Setting output as such: name=artifact_4::QtAndroidWebView_x86_64.jar"
# echo "artifact_4=QtAndroidWebView_x86_64.jar" >> "$GITHUB_OUTPUT"

cd ${HOME}/qt6-install
tar cf ${HOME}/qt_android_${QT_VERSION}.tar .
cd ${HOME}
gzip qt_android_${QT_VERSION}.tar

mv -v $HOME/qt_android_${QT_VERSION}.tar.gz ${GITHUB_WORKSPACE}/deploy/qt_android_${QT_VERSION}.tar.gz
echo ">>> Setting output as such: name=artifact_1::qt_android_${QT_VERSION}.tar.gz"
echo "artifact_1=qt_android_${QT_VERSION}.tar.gz" >> "$GITHUB_OUTPUT"
}

case "${1:-}" in
Expand Down
44 changes: 22 additions & 22 deletions .github/workflows/webview_buildjars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,36 +44,36 @@ jobs:
retention-days: 31
if-no-files-found: error

- name: Upload Artifact 2 to Job
uses: actions/upload-artifact@v2
with:
name: ${{ steps.get-artifacts.outputs.artifact_2 }}
path: deploy/${{ steps.get-artifacts.outputs.artifact_2 }}
retention-days: 31
if-no-files-found: error
# - name: Upload Artifact 2 to Job
# uses: actions/upload-artifact@v2
# with:
# name: ${{ steps.get-artifacts.outputs.artifact_2 }}
# path: deploy/${{ steps.get-artifacts.outputs.artifact_2 }}
# retention-days: 31
# if-no-files-found: error

- name: Upload Artifact 3 to Job
uses: actions/upload-artifact@v2
with:
name: ${{ steps.get-artifacts.outputs.artifact_3 }}
path: deploy/${{ steps.get-artifacts.outputs.artifact_3 }}
retention-days: 31
if-no-files-found: error
# - name: Upload Artifact 3 to Job
# uses: actions/upload-artifact@v2
# with:
# name: ${{ steps.get-artifacts.outputs.artifact_3 }}
# path: deploy/${{ steps.get-artifacts.outputs.artifact_3 }}
# retention-days: 31
# if-no-files-found: error

- name: Upload Artifact 4 to Job
uses: actions/upload-artifact@v2
with:
name: ${{ steps.get-artifacts.outputs.artifact_4 }}
path: deploy/${{ steps.get-artifacts.outputs.artifact_4 }}
retention-days: 31
if-no-files-found: error
# - name: Upload Artifact 4 to Job
# uses: actions/upload-artifact@v2
# with:
# name: ${{ steps.get-artifacts.outputs.artifact_4 }}
# path: deploy/${{ steps.get-artifacts.outputs.artifact_4 }}
# retention-days: 31
# if-no-files-found: error

- name: Create Release
id: create-release
uses: ncipollo/release-action@v1
with:
tag: ${{ env.QT_VERSION }}
artifacts: "deploy/*.jar"
artifacts: "deploy/qt_android_${{ env.QT_VERSION }}.tar.gz"
draft: false
token: ${{ secrets.GITHUB_TOKEN }}
name: Qt_Android_${{ env.QT_VERSION }}
Expand Down

0 comments on commit 3195759

Please sign in to comment.