diff --git a/蜂蜜TV自己打包/Multi-Branch已完美打包release.yml b/蜂蜜TV自己打包/Multi-Branch已完美打包release.yml index d52c0ef..7b8d2ff 100644 --- a/蜂蜜TV自己打包/Multi-Branch已完美打包release.yml +++ b/蜂蜜TV自己打包/Multi-Branch已完美打包release.yml @@ -1,11 +1,6 @@ -name: Multi-Branch Build +name: fongmi Build on: - push: - branches: - - fongmi - - okjack - - release workflow_dispatch: jobs: @@ -13,43 +8,73 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/setup-node@v4 - with: - node-version: 16 + - name: Checkout code + uses: actions/checkout@v4 - - uses: actions/checkout@v4 - - - name: Set up JDK and Gradle + - name: Set up JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'adopt' - - name: Release Apk Sign + - name: Fix invalid plugins block syntax run: | - signingConfigs='c2lnbmluZ0NvbmZpZ3Mge1wKICAgICAgICBpZiAocHJvamVjdC5oYXNQcm9wZXJ0eSgiRk9OR01JQk9YX1NUT1JFX0ZJTEUiKSkge1wKICAgICAgICAgICAgbXlDb25maWcge1wKICAgICAgICAgICAgICAgIHN0b3JlRmlsZSBmaWxlKEZPTkdNSUJPWF9TVE9SRV9GSUxFKVwKICAgICAgICAgICAgICAgIHN0b3JlUGFzc3dvcmQgRk9OR01JQk9YX1NUT1JFX1BBU1NXT1JEXAogICAgICAgICAgICAgICAga2V5QWxpYXMgRk9OR01JQk9YX0tFWV9BTElBU1wKICAgICAgICAgICAgICAgIGtleVBhc3N3b3JkIEZPTkdNSUJPWF9LRVlfUEFTU1dPUkRcCiAgICAgICAgICAgICAgICB2MVNpZ25pbmdFbmFibGVkIHRydWVcCiAgICAgICAgICAgICAgICB2MlNpZ25pbmdFbmFibGVkIHRydWVcCiAgICAgICAgICAgICAgICBlbmFibGVWM1NpZ25pbmcgPSB0cnVlXAogICAgICAgICAgICAgICAgZW5hYmxlVjRTaWduaW5nID0gdHJ1ZVwKICAgICAgICAgICAgfVwKICAgICAgICB9XAogICAgfVwKXA==' - signingConfig='aWYgKHByb2plY3QuaGFzUHJvcGVydHkoIkZPTkdNSUJPWF9TVE9SRV9GSUxFIikpIHtcCiAgICAgICAgICAgICAgICBzaWduaW5nQ29uZmlnIHNpZ25pbmdDb25maWdzLm15Q29uZmlnXAogICAgICAgICAgICB9XA==' - signingConfigs="$(echo "$signingConfigs" |base64 -d )" - signingConfig="$(echo "$signingConfig" |base64 -d )" - sed -i -e "/defaultConfig {/i\\$signingConfigs " -e "/debug {/a\\$signingConfig " -e "/release {/a\\$signingConfig " app/build.gradle - cp -f ${{ github.workspace }}/.github/workflows/TVBoxOSC.jks app/TVBoxOSC.jks - sed -i '$a\FONGMIBOX_STORE_FILE=./TVBoxOSC.jks' ./gradle.properties - sed -i '$a\FONGMIBOX_KEY_ALIAS=TVBoxOSC' ./gradle.properties - sed -i '$a\FONGMIBOX_STORE_PASSWORD=TVBoxOSC' ./gradle.properties - sed -i '$a\FONGMIBOX_KEY_PASSWORD=TVBoxOSC' ./gradle.properties + find . -name "build.gradle" -exec sed -i \ + -e "s/id\(.*\)version *= */id\1version /g" \ + {} + - - name: Build With Gradle + - name: Fix deprecated Gradle syntax + run: | + find . -name "*.gradle" -exec sed -i \ + -e 's/\bnamespace\( \+\)/namespace = /g' \ + -e 's/\burl\( \+\)/url = /g' \ + -e 's/\bbuildConfig\( \+\)/buildConfig = /g' \ + -e 's/\bviewBinding\( \+\)/viewBinding = /g' \ + -e 's/\bshrinkResources\( \+\)/shrinkResources = /g' \ + -e 's/\buseLegacyPackaging\( \+\)/useLegacyPackaging = /g' \ + -e 's/\bcoreLibraryDesugaringEnabled\( \+\)/coreLibraryDesugaringEnabled = /g' \ + -e 's/\bversion\( \+\)/version = /g' \ + {} + + + - name: Add signing config + run: | + signingConfigs='signingConfigs { + if (project.hasProperty("FONGMIBOX_STORE_FILE")) { + release { + storeFile file(FONGMIBOX_STORE_FILE) + storePassword FONGMIBOX_STORE_PASSWORD + keyAlias FONGMIBOX_KEY_ALIAS + keyPassword FONGMIBOX_KEY_PASSWORD + v1SigningEnabled true + v2SigningEnabled true + enableV3Signing = true + enableV4Signing = true + } + } + }' + signingConfig='signingConfig signingConfigs.release' + + sed -i "/android {/a\\$signingConfigs" app/build.gradle + sed -i "/release {/a\\$signingConfig" app/build.gradle + + cp -f ${{ github.workspace }}/.github/workflows/TVBoxOSC.jks app/TVBoxOSC.jks + echo "FONGMIBOX_STORE_FILE=./TVBoxOSC.jks" >> ./gradle.properties + echo "FONGMIBOX_KEY_ALIAS=TVBoxOSC" >> ./gradle.properties + echo "FONGMIBOX_STORE_PASSWORD=TVBoxOSC" >> ./gradle.properties + echo "FONGMIBOX_KEY_PASSWORD=TVBoxOSC" >> ./gradle.properties + + - name: Build with Gradle run: | chmod +x gradlew - ./gradlew clean assembleRelease --parallel --daemon --warning-mode all --stacktrace + ./gradlew clean assembleRelease --parallel --warning-mode all --stacktrace - - name: Prepare App + - name: Prepare APK run: | mkdir -p ${{ github.workspace }}/apk/ find . -name "*.apk" -exec mv {} ${{ github.workspace }}/apk/ \; - - name: Upload App To Artifact + - name: Upload APK uses: actions/upload-artifact@v4 with: - name: com.github.tvbox.${{ github.ref_name }} + name: com.github.tvbox.fongmi path: ${{ github.workspace }}/apk/*