Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,18 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Compile release sources
if: ${{ matrix.variant == 'release' }}
run: ./gradlew bundleGplayRelease -PallWarningsAsErrors=true $CI_GRADLE_ARG_PROPERTIES
run: |
./gradlew assembleGplayRelease -PallWarningsAsErrors=true $CI_GRADLE_ARG_PROPERTIES
./gradlew bundleGplayRelease -PallWarningsAsErrors=true $CI_GRADLE_ARG_PROPERTIES
- name: Run aapt dump
if: ${{ matrix.variant == 'release' }}
run: |
$ANDROID_HOME/build-tools/37.0.0/aapt dump badging \
./app/build/outputs/apk/gplay/release/app-gplay-universal-release.apk \
> /tmp/currentAaptDump.txt
- name: Check manifest has not changed
if: ${{ matrix.variant == 'release' }}
run: diff /tmp/currentAaptDump.txt ./tools/manifest/gplay/release/aaptDump.txt
- name: Compile nightly sources
if: ${{ matrix.variant == 'nightly' }}
run: ./gradlew compileGplayNightlySources -PallWarningsAsErrors=true $CI_GRADLE_ARG_PROPERTIES
1 change: 1 addition & 0 deletions .github/workflows/sync-localazy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ jobs:
./tools/localazy/downloadStrings.sh --all
./tools/localazy/importSupportedLocalesFromLocalazy.py
./tools/test/generateAllScreenshots.py
./tools/manifest/aaptDump.sh
- name: Create Pull Request for Strings
uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1
with:
Expand Down
13 changes: 13 additions & 0 deletions tools/manifest/aaptDump.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#! /bin/bash

# Copyright (c) 2026 Element Creations Ltd.
#
# SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
# Please see LICENSE files in the repository root for full details.

# Assemble Gplay Release
./gradlew assembleGplayRelease

# Dump information
$ANDROID_HOME/build-tools/37.0.0/aapt dump badging ./app/build/outputs/apk/gplay/release/app-gplay-universal-release.apk \
> ./tools/manifest/gplay/release/aaptDump.txt
96 changes: 96 additions & 0 deletions tools/manifest/gplay/release/aaptDump.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
package: name='io.element.android.x' versionCode='202607000' versionName='26.07.0' platformBuildVersionName='17' platformBuildVersionCode='37' compileSdkVersion='37' compileSdkVersionCodename='17'
sdkVersion:'24'
targetSdkVersion:'37'
uses-permission: name='android.permission.REQUEST_INSTALL_PACKAGES'
uses-permission: name='android.permission.POST_NOTIFICATIONS'
uses-permission: name='android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS'
uses-permission: name='android.permission.RECORD_AUDIO'
uses-permission: name='android.permission.ACCESS_COARSE_LOCATION'
uses-permission: name='android.permission.ACCESS_FINE_LOCATION'
uses-permission: name='android.permission.FOREGROUND_SERVICE'
uses-permission: name='android.permission.FOREGROUND_SERVICE_LOCATION'
uses-permission: name='android.permission.CAMERA'
uses-permission: name='android.permission.MODIFY_AUDIO_SETTINGS'
uses-permission: name='android.permission.WAKE_LOCK'
uses-permission: name='android.permission.FOREGROUND_SERVICE_MICROPHONE'
uses-permission: name='android.permission.USE_FULL_SCREEN_INTENT'
uses-permission: name='android.permission.ACCESS_NETWORK_STATE'
uses-permission: name='android.permission.INTERNET'
uses-permission: name='android.permission.VIBRATE'
uses-permission: name='android.permission.ACCESS_WIFI_STATE'
uses-permission: name='android.permission.USE_BIOMETRIC'
uses-permission: name='android.permission.USE_FINGERPRINT'
uses-permission: name='com.google.android.c2dm.permission.RECEIVE'
uses-permission: name='android.permission.RECEIVE_BOOT_COMPLETED'
uses-permission: name='io.element.android.x.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION'
application-label:'Element X'
application-label-be:'Element X'
application-label-bg:'Element X'
application-label-ca:'Element X'
application-label-cs:'Element X'
application-label-cy:'Element X'
application-label-da:'Element X'
application-label-de:'Element X'
application-label-el:'Element X'
application-label-en-US:'Element X'
application-label-es:'Element X'
application-label-et:'Element X'
application-label-eu:'Element X'
application-label-fa:'Element X'
application-label-fi:'Element X'
application-label-fr:'Element X'
application-label-hr:'Element X'
application-label-hu:'Element X'
application-label-in:'Element X'
application-label-it:'Element X'
application-label-ja:'Element X'
application-label-ka:'Element X'
application-label-ko:'Element X'
application-label-lt:'Element X'
application-label-nb:'Element X'
application-label-nl:'Element X'
application-label-pl:'Element X'
application-label-pt:'Element X'
application-label-pt-BR:'Element X'
application-label-ro:'Element X'
application-label-ru:'Element X'
application-label-sk:'Element X'
application-label-sv:'Element X'
application-label-tr:'Element X'
application-label-uk:'Element X'
application-label-ur:'Element X'
application-label-uz:'Element X'
application-label-vi:'Element X'
application-label-zh:'Element X'
application-label-zh-CN:'Element X'
application-label-zh-TW:'Element X'
application-icon-120:'res/BW.xml'
application-icon-160:'res/BW.xml'
application-icon-240:'res/BW.xml'
application-icon-320:'res/BW.xml'
application-icon-480:'res/BW.xml'
application-icon-640:'res/BW.xml'
application-icon-65534:'res/BW.xml'
application-icon-65535:'res/BW.xml'
application: label='Element X' icon='res/BW.xml'
launchable-activity: name='io.element.android.x.MainActivity' label='' icon=''
uses-library-not-required:'androidx.window.extensions'
uses-library-not-required:'androidx.window.sidecar'
feature-group: label=''
uses-feature-not-required: name='android.hardware.camera'
uses-feature-not-required: name='android.hardware.microphone'
uses-feature-not-required: name='android.hardware.vulkan.version' version='4194307'
uses-feature-not-required: name='android.hardware.wifi'
uses-feature: name='android.hardware.faketouch'
uses-implied-feature: name='android.hardware.faketouch' reason='default feature for all apps'
uses-feature: name='android.hardware.location'
uses-implied-feature: name='android.hardware.location' reason='requested android.permission.ACCESS_COARSE_LOCATION permission, and requested android.permission.ACCESS_FINE_LOCATION permission'
main
other-activities
other-receivers
other-services
supports-screens: 'small' 'normal' 'large' 'xlarge'
supports-any-density: 'true'
locales: '--_--' 'be' 'bg' 'ca' 'cs' 'cy' 'da' 'de' 'el' 'en-US' 'es' 'et' 'eu' 'fa' 'fi' 'fr' 'hr' 'hu' 'in' 'it' 'ja' 'ka' 'ko' 'lt' 'nb' 'nl' 'pl' 'pt' 'pt-BR' 'ro' 'ru' 'sk' 'sv' 'tr' 'uk' 'ur' 'uz' 'vi' 'zh' 'zh-CN' 'zh-TW'
densities: '120' '160' '240' '320' '480' '640' '65534' '65535'
native-code: 'arm64-v8a' 'armeabi-v7a' 'x86' 'x86_64'
12 changes: 10 additions & 2 deletions tools/release/release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -151,12 +151,20 @@ sed "s/private const val versionMonth = .*/private const val versionMonth = ${ve
sed "s/private const val versionReleaseNumber = .*/private const val versionReleaseNumber = ${versionReleaseNumber}/" ${versionsFileBak} > ${versionsFile}
rm ${versionsFileBak}

printf -v versionReleaseNumber2Digits "%02d" "${versionReleaseNumber}"
versionCode="20${versionYear}${versionMonth}${versionReleaseNumber2Digits}0"

# Update the file aaptDump.txt with the new version
aaptDumpFile="./tools/manifest/gplay/release/aaptDump.txt"
sed "s/versionCode='[0-9]*'/versionCode='${versionCode}'/" ${aaptDumpFile} > ${aaptDumpFile}.bak
sed "s/versionName='[0-9]*\.[0-9]*\.[0-9]*'/versionName='${version}'/" ${aaptDumpFile}.bak > ${aaptDumpFile}
rm ${aaptDumpFile}.bak

git commit -a -m "Setting version for the release ${version}"

printf "\n================================================================================\n"
printf "Creating fastlane file...\n"
printf -v versionReleaseNumber2Digits "%02d" "${versionReleaseNumber}"
fastlaneFile="20${versionYear}${versionMonth}${versionReleaseNumber2Digits}0.txt"
fastlaneFile="${versionCode}.txt"
fastlanePathFile="./fastlane/metadata/android/en-US/changelogs/${fastlaneFile}"
printf "Main changes in this version: bug fixes and improvements.\nFull changelog: https://github.com/element-hq/element-x-android/releases" > "${fastlanePathFile}"

Expand Down
Loading