Merge branch 'split-abi-apks'
This commit is contained in:
commit
e9e8ad2391
28
.github/workflows/github_pre_release.yml
vendored
28
.github/workflows/github_pre_release.yml
vendored
@ -14,20 +14,20 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
|
||||
- name: set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
|
||||
|
||||
- name: Grant execute permission for gradlew
|
||||
run: chmod +x gradlew
|
||||
|
||||
|
||||
- name: Build Github unsigned pre-release apk
|
||||
run: ./gradlew assembleGithubRelease --stacktrace --project-prop pre
|
||||
|
||||
run: ./gradlew assembleGithubRelease --stacktrace --project-prop pre --project-prop split
|
||||
|
||||
- name: Sign APK
|
||||
uses: r0adkll/sign-android-release@v1
|
||||
uses: ammargitham/sign-android-release@v1.1.1
|
||||
# ID used to access action output
|
||||
id: sign_app
|
||||
with:
|
||||
@ -36,18 +36,19 @@ jobs:
|
||||
alias: ${{ secrets.ALIAS }}
|
||||
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
|
||||
keyPassword: ${{ secrets.KEY_PASSWORD }}
|
||||
|
||||
|
||||
- name: Get current date and time
|
||||
id: date
|
||||
run: echo "::set-output name=date::$(date +'%Y%m%d_%H%M%S')"
|
||||
|
||||
# Create artifact
|
||||
|
||||
# Create artifact
|
||||
- name: Create apk artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: barinsta_pre-release_${{ steps.date.outputs.date }}
|
||||
path: ${{steps.sign_app.outputs.signedReleaseFile}}
|
||||
|
||||
# path: ${{steps.sign_app.outputs.signedReleaseFile}}
|
||||
path: app/build/outputs/apk/github/release/*-signed.apk
|
||||
|
||||
# Send success notification
|
||||
- name: Send success Telegram notification
|
||||
if: ${{ success() }}
|
||||
@ -56,8 +57,9 @@ jobs:
|
||||
to: ${{ secrets.TELEGRAM_BUILDS_CHANNEL_TO }}
|
||||
token: ${{ secrets.TELEGRAM_BUILDS_BOT_TOKEN }}
|
||||
message: "${{ github.workflow }} ${{ github.job }} #${{ github.run_number }} completed successfully.\nURL: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}"
|
||||
document: ${{steps.sign_app.outputs.signedReleaseFile}}
|
||||
|
||||
# document: ${{steps.sign_app.outputs.signedReleaseFile}}
|
||||
document: app/build/outputs/apk/github/release/*-signed.apk
|
||||
|
||||
# Send failure notification
|
||||
- name: Send failure Telegram notification
|
||||
if: ${{ failure() }}
|
||||
|
@ -82,6 +82,27 @@ android {
|
||||
}
|
||||
}
|
||||
|
||||
splits {
|
||||
// Configures multiple APKs based on ABI.
|
||||
abi {
|
||||
// Enables building multiple APKs per ABI.
|
||||
enable project.hasProperty("split") && !gradle.startParameter.taskNames.isEmpty() && gradle.startParameter.taskNames.get(0).contains('Release')
|
||||
|
||||
// By default all ABIs are included, so use reset() and include to specify that we only
|
||||
// want APKs for x86 and x86_64.
|
||||
|
||||
// Resets the list of ABIs that Gradle should create APKs for to none.
|
||||
reset()
|
||||
|
||||
// Specifies a list of ABIs that Gradle should create APKs for.
|
||||
include "x86", "x86_64", "arm64-v8a", "armeabi-v7a"
|
||||
|
||||
// Specifies that we want to also generate a universal APK that includes all ABIs.
|
||||
universalApk true
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
android.applicationVariants.all { variant ->
|
||||
if (variant.flavorName != "github") return
|
||||
variant.outputs.all { output ->
|
||||
@ -90,15 +111,32 @@ android {
|
||||
// def versionCode = variant.versionCode
|
||||
def flavor = variant.flavorName
|
||||
|
||||
def suffix = "${versionName}-${flavor}_${builtType}" // eg. 19.1.0-github_debug or release
|
||||
def flavorBuiltType = "${flavor}_${builtType}"
|
||||
def suffix
|
||||
// For x86 and x86_64, the versionNames are already overridden
|
||||
if (versionName.contains(flavorBuiltType)) {
|
||||
suffix = "${versionName}"
|
||||
} else {
|
||||
suffix = "${versionName}-${flavorBuiltType}" // eg. 19.1.0-github_debug or release
|
||||
}
|
||||
if (builtType.toString() == 'release' && project.hasProperty("pre")) {
|
||||
buildConfigField("boolean", "isPre", "true")
|
||||
// append latest commit short hash for pre-release
|
||||
suffix = "${versionName}.${getGitHash()}-${flavor}" // eg. 19.1.0.b123456-github
|
||||
|
||||
flavorBuiltType = "${getGitHash()}-${flavor}"
|
||||
|
||||
// For x86 and x86_64, the versionNames are already overridden
|
||||
if (versionName.contains(flavorBuiltType)) {
|
||||
suffix = "${versionName}"
|
||||
} else {
|
||||
// append latest commit short hash for pre-release
|
||||
suffix = "${versionName}.${flavorBuiltType}" // eg. 19.1.0.b123456-github
|
||||
}
|
||||
}
|
||||
|
||||
output.versionNameOverride = suffix
|
||||
outputFileName = "barinsta_${suffix}.apk"
|
||||
def abi = output.getFilter(com.android.build.OutputFile.ABI)
|
||||
// println(abi + ", " + versionName + ", " + flavor + ", " + builtType + ", " + suffix)
|
||||
outputFileName = abi == null ? "barinsta_${suffix}.apk" : "barinsta_${suffix}_${abi}.apk"
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user