Skip to content

tvbox build

tvbox build #140

Workflow file for this run

name: tvbox build
on:
workflow_dispatch:
inputs:
author:
description: 'author'
required: true
type: choice
options:
- 'q215613905'
- 'takagen99'
- 'chengxue2020'
- 'okjack'
- 'fongmi'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: set up JDK 23
uses: actions/setup-java@v4
with:
java-version: '22'
distribution: 'zulu'
- name: Clone source code
run: |
if [ "${{ inputs.author }}" == "q215613905" ]; then
git clone --depth 1 https://github.com/q215613905/TVBoxOS.git boxdir
ln -s tvbox tvboxpatch
elif [ "${{ inputs.author }}" == "takagen99" ]; then
git clone --depth 1 https://github.com/takagen99/Box.git boxdir
sed -i 's|applicationId .*|applicationId '\''com.github.tvbox.osc.muziling'\''|g' boxdir/app/build.gradle
sed -i 's|<string name="app_source">.*|<string name="app_source">http://192.168.200.1:8000/tvbox</string>|g' boxdir/app/src/main/res/values-zh/strings.xml
ln -s tvbox-takagen99 tvboxpatch
cp -f tvboxpatch/film.png boxdir/app/src/main/res/drawable/app_icon.png
#sed -i '246 ijumpActivity(LivePlayActivity.class);' boxdir/app/src/main/java/com/github/tvbox/osc/ui/fragment/UserFragment.java
elif [ "${{ inputs.author }}" == "chengxue2020" ]; then
git clone --depth 1 https://github.com/chengxue2020/takagen99.git boxdir
sed -i 's|applicationId .*|applicationId '\''com.github.tvbox.osc.muziling'\''|g' boxdir/app/build.gradle
sed -i 's|<string name="app_source">.*|<string name="app_source">http://192.168.200.1:8000/tvbox</string>|g' boxdir/app/src/main/res/values-zh/strings.xml
ln -s tvbox-takagen99 tvboxpatch
cp -f tvboxpatch/film.png boxdir/app/src/main/res/drawable/app_icon.png
elif [ "${{ inputs.author }}" == "okjack" ]; then
git clone --depth 1 -b okjack https://github.com/FongMi/TV.git boxdir
sed -i 's/import com.fongmi.android.tv.utils.Notify;/import com.fongmi.android.tv.utils.Notify;import com.fongmi.android.tv.bean.Config;/g' boxdir/app/src/main/java/com/fongmi/android/tv/App.java
sed -i 's|});|});Config.vod().url("http://192.168.200.1:8000/tvbox").update();|g' boxdir/app/src/main/java/com/fongmi/android/tv/App.java
sed -i 's/initConfig();/initConfig();LiveActivity.start(this);/g' boxdir/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
else
git clone --depth 1 -b release https://github.com/FongMi/TV.git boxdir
sed -i 's/import com.fongmi.android.tv.utils.Notify;/import com.fongmi.android.tv.utils.Notify;import com.fongmi.android.tv.bean.Config;/g' boxdir/app/src/main/java/com/fongmi/android/tv/App.java
sed -i 's|});|});Config.vod().url("http://192.168.200.1:8000/tvbox").update();|g' boxdir/app/src/main/java/com/fongmi/android/tv/App.java
sed -i 's/initConfig();/initConfig();LiveActivity.start(this);/g' boxdir/app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
fi
#sed -i 's/putDefault(HawkConfig.HOME_REC.*/putDefault(HawkConfig.HOME_REC, 1);/g' boxdir/app/src/main/java/com/github/tvbox/osc/base/App.java
#sed -i 's/urlBean.infoList = infoList;/urlBean.infoList = infoList;video.sourceKey=vod_play_from;/g' boxdir/app/src/main/java/com/github/tvbox/osc/bean/AbsJson.java
#sed -i 's/exoVersion = "2.16.0"/exoVersion = "2.18.3"/g' boxdir/build.gradle
#sed -i 's/compileSdkVersion .*/compileSdkVersion 33/g' boxdir/app/build.gradle
#sed -i 's/compileSdkVersion .*/compileSdkVersion 33/g' boxdir/quickjs/build.gradle
#sed -i 's/minSdkVersion .*/minSdkVersion 21/g' boxdir/app/build.gradle
#sed -i 's/minSdkVersion .*/minSdkVersion 21/g' boxdir/quickjs/build.gradle
#sed -i 's/com.github.getActivity:XXPermissions:13.6/com.github.getActivity:XXPermissions:16.8/g' boxdir/app/build.gradle
cd boxdir
#sudo -E apt-get -y install dos2unix
#dos2unix ../tvboxpatch/*.patch
#dos2unix app/src/main/java/com/github/tvbox/osc/ui/activity/HomeActivity.java
#find -L ../tvboxpatch -type f -iname '*.patch' -print0|xargs -n1 -0 patch -p 1 --no-backup-if-mismatch -i
#sed -i 's/C.CONTENT_TYPE_/C.TYPE_/g' app/src/main/java/xyz/doikki/videoplayer/exo/ExoMediaSourceHelper.java
signingConfigs='ICAgIHNpZ25pbmdDb25maWdzIHtcCiAgICAgICAgaWYgKHByb2plY3QuaGFzUHJvcGVydHkoIlJFTEVBU0VfU1RPUkVfRklMRSIpKSB7XAogICAgICAgICAgICBteUNvbmZpZyB7XAogICAgICAgICAgICAgICAgc3RvcmVGaWxlIGZpbGUoUkVMRUFTRV9TVE9SRV9GSUxFKVwKICAgICAgICAgICAgICAgIHN0b3JlUGFzc3dvcmQgUkVMRUFTRV9TVE9SRV9QQVNTV09SRFwKICAgICAgICAgICAgICAgIGtleUFsaWFzIFJFTEVBU0VfS0VZX0FMSUFTXAogICAgICAgICAgICAgICAga2V5UGFzc3dvcmQgUkVMRUFTRV9LRVlfUEFTU1dPUkRcCiAgICAgICAgICAgICAgICB2MVNpZ25pbmdFbmFibGVkIHRydWVcCiAgICAgICAgICAgICAgICB2MlNpZ25pbmdFbmFibGVkIHRydWVcCiAgICAgICAgICAgICAgICBlbmFibGVWM1NpZ25pbmcgPSB0cnVlXAogICAgICAgICAgICAgICAgZW5hYmxlVjRTaWduaW5nID0gdHJ1ZVwKICAgICAgICAgICAgfVwKICAgICAgICB9XAogICAgfVwKXA=='
signingConfig='ICAgICAgICAgICAgaWYgKHByb2plY3QuaGFzUHJvcGVydHkoIlJFTEVBU0VfU1RPUkVfRklMRSIpKSB7XAogICAgICAgICAgICAgICAgc2lnbmluZ0NvbmZpZyBzaWduaW5nQ29uZmlncy5teUNvbmZpZ1wKICAgICAgICAgICAgfVwK'
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 ../android.jks app/android.jks
sed -i '$a\RELEASE_STORE_FILE=./android.jks' ./gradle.properties
sed -i '$a\RELEASE_KEY_ALIAS=muziling' ./gradle.properties
sed -i '$a\RELEASE_STORE_PASSWORD=111111' ./gradle.properties
sed -i '$a\RELEASE_KEY_PASSWORD=111111' ./gradle.properties
- name: Build with Gradle
run: |
cd boxdir
chmod +x gradlew
./gradlew assemblerelease --build-cache --parallel --daemon --stacktrace --warning-mode all
# - name: Prepare App
# run: |
# mkdir -p ${{ github.workspace }}/apk/
# for file in `find ~ -name "*.apk" -print`; do
# mv "$file" ${{ github.workspace }}/apk/
# done
# - name: Upload App To Artifact
# uses: actions/upload-artifact@v3
# with:
# name: com.github.tvbox.osc
# path: ${{ github.workspace }}/apk/*
- name: Upload App To Artifact
uses: actions/upload-artifact@v3
with:
name: com.github.tvbox.osc
path: boxdir/app/build/outputs/apk