diff --git a/.github/scripts/cronet.sh b/.github/scripts/cronet.sh new file mode 100644 index 000000000..4f75177c8 --- /dev/null +++ b/.github/scripts/cronet.sh @@ -0,0 +1,43 @@ +#bin/sh + +global_rematch() { + local s="$2" regex=$1 debug=$3 + if [[ -z "$1" || -z "$2" ]]; then + echo -e "usage: global_rematch " + else + if [[ ! $s =~ $regex ]]; then + [[ -n $debug ]] && echo -e "input string: $s" + [[ -n $debug ]] && echo -e "input regex: $regex" + echo -e "info: not matched!" + fi + while [[ $s =~ $regex ]]; do + if [[ -n ${BASH_REMATCH[1]} ]];then + [[ -n $debug ]] && echo "待匹配:$s" + echo "${BASH_REMATCH[1]}" + s=`echo $s | sed s/${BASH_REMATCH[1]}//g` + [[ -n $debug ]] && echo "下次匹配:$s" + else + echo -e "info: regex not has match group!" + fi + done + fi + } + +echo "start download cronet info..." +curl https://storage.googleapis.com/chromium-cronet/ -s > cronet +global_rematch 'android.([0-9\.]+).Release.VERSION' "`cat cronet`" | tail -1 > lastest_cronet_version +lastest_cronet_version=`cat lastest_cronet_version` +echo "lastest_cronet_version: $lastest_cronet_version" + +path=$GITHUB_WORKSPACE/gradle.properties +current_cronet_version=`cat $path | grep CronetVersion | sed s/CronetVersion=//` +echo "current_cronet_version: $current_cronet_version" + +if [[ $current_cronet_version == $lastest_cronet_version ]];then + echo "cronet is already latest" +else + sed -i s/CronetVersion=.*/CronetVersion=$lastest_cronet_version/ $path + echo "start download latest cronet" + chmod +x gradlew + ./gradlew app:downloadCronet +fi diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bb4ea55a7..318c440bd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: steps: - uses: actions/checkout@v2 with: - fetch-depth: 0 + fetch-depth: 1 - uses: actions/cache@v2 with: path: | @@ -31,6 +31,22 @@ jobs: key: ${{ runner.os }}-legado-${{ hashFiles('**/updateLog.md') }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-legado-${{ hashFiles('**/updateLog.md') }}- + + - name: Set github-action[bot] info + run: | + git config --global user.name "github-actions[bot]" + git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" + + - name: Download Lastest Cronet jar + run: | + echo "获取cronet最新版本" + source $GITHUB_WORKSPACE/.github/scripts/cronet.sh + git add *cronet*jar + git add *cronet.json + git add gradle.properties + git commit -m "bump cronet version: $lastest_cronet_version" + git push origin master + - name: Release Apk Sign run: | echo "给apk增加签名" @@ -39,17 +55,20 @@ jobs: sed '$a\RELEASE_KEY_ALIAS=legado' $GITHUB_WORKSPACE/gradle.properties -i sed '$a\RELEASE_STORE_PASSWORD=gedoor_legado' $GITHUB_WORKSPACE/gradle.properties -i sed '$a\RELEASE_KEY_PASSWORD=gedoor_legado' $GITHUB_WORKSPACE/gradle.properties -i + - name: Unify Version Name run: | echo "统一版本号" VERSION=$(date -d "8 hour" -u +3.%y.%m%d%H) echo "RELEASE_VERSION=$VERSION" >> $GITHUB_ENV sed "/def version/c def version = \"$VERSION\"" $GITHUB_WORKSPACE/app/build.gradle -i + - name: Build With Gradle run: | echo "开始进行release构建" chmod +x gradlew ./gradlew assembleRelease --build-cache --parallel + - name: Organize the Files run: | mkdir -p ${{ github.workspace }}/apk/ @@ -60,12 +79,14 @@ jobs: with: name: legado apk path: ${{ github.workspace }}/apk/*.apk + - name: Upload App To Lanzou if: ${{ env.ylogin }} run: | path="$GITHUB_WORKSPACE/apk/" python3 $GITHUB_WORKSPACE/.github/scripts/lzy_web.py "$path" "$LANZOU_FOLDER_ID" echo "[$(date -u -d '+8 hour' '+%Y.%m.%d %H:%M:%S')] 分享链接: https://kunfei.lanzoux.com/b0f7pt4ja" + - name: Release uses: softprops/action-gh-release@59c3b4891632ff9a897f99a91d7bc557467a3a22 with: @@ -81,8 +102,6 @@ jobs: - name: Push Assets To "release" Branch if: ${{ github.actor == 'gedoor' }} run: | - git config --global user.name "github-actions[bot]" - git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" git clone "https://${{ github.actor }}:${{ secrets.ACTIONS_TOKEN }}@github.com/${{ github.actor }}/release" -b release release-branch mv -f $GITHUB_WORKSPACE/apk/*.apk release-branch cd release-branch diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 5528d57cc..fd20fd95c 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -13,6 +13,7 @@ jobs: stale: runs-on: ubuntu-latest + if: ${{ github.actor == 'gedoor' }} permissions: issues: write diff --git a/app/src/main/assets/cronet.json b/app/src/main/assets/cronet.json index bb31c0cd2..2ca700c44 100644 --- a/app/src/main/assets/cronet.json +++ b/app/src/main/assets/cronet.json @@ -1 +1 @@ -{"arm64-v8a":"690c212d9bbad4b09b9e1ba450b273bb","armeabi-v7a":"4dbb88e5229abef7d84138218772f872","x86":"3f2421e040147da48abb07cfc6c7c87e","x86_64":"730a71ef4f03a27d1c8c8a77e7d09ff5","version":"96.0.4664.104"} \ No newline at end of file +{"x86":"9299ba13b7a4b89926a8fd1252acac24","armeabi-v7a":"f652ed38e2f23ba2a3e5484ef9369e78","x86_64":"76665854c4b927c87d82d09d9e726654","arm64-v8a":"96078052641b271fae90aa26ed1dbb45","version":"100.0.4847.0"} \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/help/config/AppConfig.kt b/app/src/main/java/io/legado/app/help/config/AppConfig.kt index fdaec8e38..6ab47486a 100644 --- a/app/src/main/java/io/legado/app/help/config/AppConfig.kt +++ b/app/src/main/java/io/legado/app/help/config/AppConfig.kt @@ -2,6 +2,7 @@ package io.legado.app.help.config import android.content.Context import android.content.SharedPreferences +import io.legado.app.BuildConfig import io.legado.app.constant.AppConst import io.legado.app.constant.PreferKey import io.legado.app.utils.* @@ -293,7 +294,7 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener { private fun getPrefUserAgent(): String { val ua = appCtx.getPrefString(PreferKey.userAgent) if (ua.isNullOrBlank()) { - return "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" + return "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/" + BuildConfig.Cronet_Version + " Safari/537.36" } return ua } diff --git a/gradle.properties b/gradle.properties index 808c2c997..d0779771d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -22,4 +22,4 @@ kotlin.code.style=official android.enableResourceOptimizations=true -CronetVersion=96.0.4664.104 +CronetVersion=100.0.4847.0