更新 shells/tv.sh
This commit is contained in:
parent
432fa95a6d
commit
8f3be438a1
69
shells/tv.sh
69
shells/tv.sh
@ -314,12 +314,12 @@ install_apk() {
|
|||||||
install_all_apks() {
|
install_all_apks() {
|
||||||
if check_adb_connected; then
|
if check_adb_connected; then
|
||||||
# 获取/tmp/upload目录下的apk文件列表
|
# 获取/tmp/upload目录下的apk文件列表
|
||||||
apk_files=($(ls /tvhelper/shells/data/*.apk 2>/dev/null))
|
apk_files=($(ls ${DATA_DIR}/*.apk 2>/dev/null))
|
||||||
total_files=${#apk_files[@]}
|
total_files=${#apk_files[@]}
|
||||||
|
|
||||||
# 检查是否有APK文件
|
# 检查是否有APK文件
|
||||||
if [ "$total_files" -eq "0" ]; then
|
if [ "$total_files" -eq "0" ]; then
|
||||||
echo -e "${RED}/tvhelper/shells/data/ 目录下不包含任何apk文件,请先拷贝apk文件到此目录.${NC}"
|
echo -e "${RED}${DATA_DIR}/ 目录下不包含任何apk文件,请先拷贝apk文件到此目录.${NC}"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -607,6 +607,61 @@ get_tvbox_timezone() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 单个xapk安装函数,支持传入路径
|
||||||
|
install_xapk() {
|
||||||
|
local xapk_local_path="$1"
|
||||||
|
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 "XAPK文件解压成功: $xapkname"
|
||||||
|
else
|
||||||
|
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}正在删除临时文件...${NC}"
|
||||||
|
rm -rf "$extract_to"
|
||||||
|
else
|
||||||
|
echo -e "${RED}安装失败: $xapkname${NC}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# ==========================
|
||||||
|
# 批量安装目录中的所有XAPK
|
||||||
|
# ==========================
|
||||||
|
do_install_all_xapks() {
|
||||||
|
|
||||||
|
for xapk_file in "${DATA_DIR}"/*.xapk; do
|
||||||
|
if [ -f "$xapk_file" ]; then
|
||||||
|
echo -e "\n========== 处理文件: $(basename "$xapk_file") =========="
|
||||||
|
install_xapk "$xapk_file"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
# 安装mix apps 用于显示全部app
|
# 安装mix apps 用于显示全部app
|
||||||
install_mixapps() {
|
install_mixapps() {
|
||||||
local xapk_local_path="${apk_path}mix.xapk"
|
local xapk_local_path="${apk_path}mix.xapk"
|
||||||
@ -722,7 +777,8 @@ menu_options=(
|
|||||||
"安装Android原生TV必备精选Apps(含子菜单)"
|
"安装Android原生TV必备精选Apps(含子菜单)"
|
||||||
"一键修改NTP(限原生TV,需重启)"
|
"一键修改NTP(限原生TV,需重启)"
|
||||||
"安装Play商店图标(仅google tv使用)"
|
"安装Play商店图标(仅google tv使用)"
|
||||||
"自定义批量安装data目录下的所有apk"
|
"批量安装映射目录下的所有apk"
|
||||||
|
"批量安装映射目录下的所有xapk(适合流媒体app)"
|
||||||
"替换系统桌面"
|
"替换系统桌面"
|
||||||
"进入KODI助手"
|
"进入KODI助手"
|
||||||
"进入TVBox安装助手"
|
"进入TVBox安装助手"
|
||||||
@ -743,7 +799,8 @@ commands=(
|
|||||||
["显示Netflix影片码率"]="show_nf_info"
|
["显示Netflix影片码率"]="show_nf_info"
|
||||||
["模拟菜单键"]="show_menu_keycode"
|
["模拟菜单键"]="show_menu_keycode"
|
||||||
["安装Play商店图标(仅google tv使用)"]="show_playstore_icon"
|
["安装Play商店图标(仅google tv使用)"]="show_playstore_icon"
|
||||||
["自定义批量安装data目录下的所有apk"]="install_all_apks"
|
["批量安装映射目录下的所有apk"]="install_all_apks"
|
||||||
|
["批量安装映射目录下的所有xapk(适合流媒体app)"]="do_install_all_xapks"
|
||||||
["进入KODI助手"]="kodi_helper"
|
["进入KODI助手"]="kodi_helper"
|
||||||
["进入TVBox安装助手"]="enter_tvbox_helper"
|
["进入TVBox安装助手"]="enter_tvbox_helper"
|
||||||
["进入Sony电视助手"]="enter_sonytv"
|
["进入Sony电视助手"]="enter_sonytv"
|
||||||
@ -917,7 +974,7 @@ replace_normal_androidtv_ui() {
|
|||||||
toggle_system_ui "${system_ui_package}"
|
toggle_system_ui "${system_ui_package}"
|
||||||
}
|
}
|
||||||
|
|
||||||
check_emotnui_installed(){
|
check_emotnui_installed() {
|
||||||
local package_name="com.oversea.aslauncher"
|
local package_name="com.oversea.aslauncher"
|
||||||
local apk_path="/tvhelper/apks/ui.apk"
|
local apk_path="/tvhelper/apks/ui.apk"
|
||||||
|
|
||||||
@ -1033,7 +1090,7 @@ handle_choice() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
show_menu() {
|
show_menu() {
|
||||||
mkdir -p /tvhelper/shells/data
|
mkdir -p ${DATA_DIR}
|
||||||
clear
|
clear
|
||||||
echo "***********************************************************************"
|
echo "***********************************************************************"
|
||||||
echo -e "* ${YELLOW}盒子助手Docker版 (v$(get_docker_version))${NC} "
|
echo -e "* ${YELLOW}盒子助手Docker版 (v$(get_docker_version))${NC} "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user