mirror of
https://github.com/KokaKiwi/BarInsta
synced 2024-11-07 23:47:30 +00:00
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:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: set up JDK 1.8
|
- name: set up JDK 1.8
|
||||||
uses: actions/setup-java@v1
|
uses: actions/setup-java@v1
|
||||||
with:
|
with:
|
||||||
java-version: 1.8
|
java-version: 1.8
|
||||||
|
|
||||||
- name: Grant execute permission for gradlew
|
- name: Grant execute permission for gradlew
|
||||||
run: chmod +x gradlew
|
run: chmod +x gradlew
|
||||||
|
|
||||||
- name: Build Github unsigned pre-release apk
|
- 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
|
- name: Sign APK
|
||||||
uses: r0adkll/sign-android-release@v1
|
uses: ammargitham/sign-android-release@v1.1.1
|
||||||
# ID used to access action output
|
# ID used to access action output
|
||||||
id: sign_app
|
id: sign_app
|
||||||
with:
|
with:
|
||||||
@ -36,18 +36,19 @@ jobs:
|
|||||||
alias: ${{ secrets.ALIAS }}
|
alias: ${{ secrets.ALIAS }}
|
||||||
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
|
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
|
||||||
keyPassword: ${{ secrets.KEY_PASSWORD }}
|
keyPassword: ${{ secrets.KEY_PASSWORD }}
|
||||||
|
|
||||||
- name: Get current date and time
|
- name: Get current date and time
|
||||||
id: date
|
id: date
|
||||||
run: echo "::set-output name=date::$(date +'%Y%m%d_%H%M%S')"
|
run: echo "::set-output name=date::$(date +'%Y%m%d_%H%M%S')"
|
||||||
|
|
||||||
# Create artifact
|
# Create artifact
|
||||||
- name: Create apk artifact
|
- name: Create apk artifact
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: barinsta_pre-release_${{ steps.date.outputs.date }}
|
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
|
# Send success notification
|
||||||
- name: Send success Telegram notification
|
- name: Send success Telegram notification
|
||||||
if: ${{ success() }}
|
if: ${{ success() }}
|
||||||
@ -56,8 +57,9 @@ jobs:
|
|||||||
to: ${{ secrets.TELEGRAM_BUILDS_CHANNEL_TO }}
|
to: ${{ secrets.TELEGRAM_BUILDS_CHANNEL_TO }}
|
||||||
token: ${{ secrets.TELEGRAM_BUILDS_BOT_TOKEN }}
|
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}}"
|
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
|
# Send failure notification
|
||||||
- name: Send failure Telegram notification
|
- name: Send failure Telegram notification
|
||||||
if: ${{ failure() }}
|
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 ->
|
android.applicationVariants.all { variant ->
|
||||||
if (variant.flavorName != "github") return
|
if (variant.flavorName != "github") return
|
||||||
variant.outputs.all { output ->
|
variant.outputs.all { output ->
|
||||||
@ -90,15 +111,32 @@ android {
|
|||||||
// def versionCode = variant.versionCode
|
// def versionCode = variant.versionCode
|
||||||
def flavor = variant.flavorName
|
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")) {
|
if (builtType.toString() == 'release' && project.hasProperty("pre")) {
|
||||||
buildConfigField("boolean", "isPre", "true")
|
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
|
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