更新 shells/sony.sh

This commit is contained in:
悟空的日常镜像仓库 2025-06-09 10:30:53 +08:00
parent 891e64b608
commit d1d57bdc9f

View File

@ -118,12 +118,6 @@ install_netflix() {
install_app_bundle $app_name_dir install_app_bundle $app_name_dir
} }
# 安装Disney+
install_disney() {
local app_name_dir="disney"
install_app_bundle $app_name_dir
}
# 安装Fire TV版本Youtube # 安装Fire TV版本Youtube
install_youtube() { install_youtube() {
local apk_local_path="/tvhelper/apks/youtube.apk" local apk_local_path="/tvhelper/apks/youtube.apk"
@ -157,32 +151,23 @@ install_youtube() {
fi fi
} }
# 安装HBO GO # 安装Disney+
install_hbogo() { install_disney() {
local app_name_dir="hbogo" install_xapk "/tvhelper/sony/disney/disney.xapk"
install_app_bundle $app_name_dir }
# 安装MAX
install_max() {
install_xapk "/tvhelper/sony/max/max.xapk"
} }
# 安装appletv+ # 安装appletv+
install_appletv() { install_appletv() {
local app_name_dir="appletv" install_xapk "/tvhelper/sony/appletv/appletv.xapk"
install_app_bundle $app_name_dir
} }
# 安装mytvsuper # 安装mytvsuper
install_mytvsuper() { install_mytvsuper() {
local app_name_dir="mytvsuper" install_xapk "/tvhelper/sony/mytvsuper/mytvsuper.xapk"
install_app_bundle $app_name_dir
}
# 下载单独apk
# 保存在/tmp/应用名称的文件夹下
download_apk() {
local apk_download_url=$1
local app_name_dir=$2
local filename=$(basename "$apk_download_url")
# 下载APK文件到临时目录
mkdir -p "/tmp/${app_name_dir}"
wget -O "/tmp/${app_name_dir}/${filename}" "$apk_download_url"
} }
# 根据文件夹名称,安装文件夹中全部apk # 根据文件夹名称,安装文件夹中全部apk
@ -218,40 +203,49 @@ install_app_bundle() {
fi fi
} }
# 安装apk # 根据xapk路径 安装单个xapk
install_apk() { # disney.xapk、appletv.xapk
local apk_local_path=$1 install_xapk() {
if check_adb_connected; then local xapk_local_path="$1"
echo -e "${GREEN}正在推送和安装apk,请耐心等待...${NC}" local xapkname=$(basename "$xapk_local_path")
local timestamp=$(date +%H%M%S) # 比如 142315 表示 14:23:15
local extract_to="/tmp/xapks/${timestamp}"
mkdir -p "$extract_to"
# 模拟安装进度 if unzip -o "$xapk_local_path" -d "$extract_to"; then
echo -ne "${BLUE}" echo "XAPK文件解压成功: $xapkname"
while true; do
echo -n ".."
sleep 1
done &
# 保存进度指示进程的PID
PROGRESS_PID=$!
install_result=$(adb install -r $apk_local_path 2>&1)
# 安装完成后,终止进度指示进程
kill $PROGRESS_PID
wait $PROGRESS_PID 2>/dev/null
echo -e "${NC}\n"
# 检查安装结果
if [[ $install_result == *"Success"* ]]; then
echo -e "${GREEN}APK安装成功!请在盒子上查看${NC}"
else
echo -e "${RED}APK安装失败:$install_result${NC}"
fi
else else
connect_adb echo "XAPK文件解压失败: $xapkname"
return 1
fi
apk_files=$(find "$extract_to" -type f -name "*.apk")
echo -e "解压后的多个apk:\n$apk_files"
echo -ne "${YELLOW}正在安装: $xapkname${NC} ${GREEN}"
echo
# 模拟安装进度
while true; do
echo -n ".."
sleep 1
done &
PROGRESS_PID=$!
install_result=$(adb install-multiple $apk_files 2>&1)
kill $PROGRESS_PID >/dev/null 2>&1
wait $PROGRESS_PID 2>/dev/null
echo -e "${NC}\n安装结果: $install_result"
if echo "$install_result" | grep -qi "Success"; then
echo -e "${GREEN} 安装成功: $xapkname ${NC}"
#echo -e "${RED}正在删除临时目录 $extract_to ...${NC}"
rm -rf "$extract_to"
else
echo -e "${RED}安装失败: $xapkname${NC}"
fi fi
} }
# 菜单 # 菜单
menu_options=( menu_options=(
"连接ADB" "连接ADB"
@ -271,7 +265,7 @@ commands=(
["安装Netflix最新版"]="install_netflix" ["安装Netflix最新版"]="install_netflix"
["安装Disney+最新版"]="install_disney" ["安装Disney+最新版"]="install_disney"
["安装Youtube-FireTV版"]="install_youtube" ["安装Youtube-FireTV版"]="install_youtube"
["安装HBO MAX最新版"]="install_hbogo" ["安装HBO MAX最新版"]="install_max"
["安装Apple TV+最新版"]="install_appletv" ["安装Apple TV+最新版"]="install_appletv"
["安装myTVSuper最新版"]="install_mytvsuper" ["安装myTVSuper最新版"]="install_mytvsuper"
["赞助|打赏"]="sponsor" ["赞助|打赏"]="sponsor"
@ -312,12 +306,18 @@ handle_choice() {
eval "$command_to_run" eval "$command_to_run"
} }
get_docker_version() {
VERSION=$(grep -E '^VERSION=' /etc/environment | cut -d '=' -f2)
echo $VERSION
}
show_menu() { show_menu() {
current_date=$(date +%Y%m%d)
clear clear
echo "***********************************************************************" echo "***********************************************************************"
echo -e "* ${YELLOW}Sony电视专用助手Docker版 (${current_date})${NC} " echo -e "* ${YELLOW}Sony电视专用助手Docker版 (v$(get_docker_version))${NC} "
echo -e "* ${RED}请确保电视盒子和Docker宿主机处于${NC}${BLUE}同一网段${NC}\n* ${RED}且电视盒子开启了${NC}${BLUE}USB调试模式(adb开关)${NC} " echo -e "* ${RED}请确保电视盒子和Docker宿主机处于${NC}${BLUE}同一网段${NC}\n* ${RED}且电视盒子开启了${NC}${BLUE}USB调试模式(adb开关)${NC} "
echo "* 如果这些流媒体软件不是最新版 "
echo "* 请到apkpure.com下载xapk后 使用首页的批量安装XAPK功能自行安装 "
echo "* Developed by @wukongdaily " echo "* Developed by @wukongdaily "
echo "**********************************************************************" echo "**********************************************************************"
echo echo