@@ -48,9 +48,9 @@ readonly EXECUTABLE_FILES="
4848# 打印带分隔线的标题
4949print_title () {
5050 ui_print " "
51- ui_print " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ "
51+ ui_print " ━━━━━━━━━━━━━━━━━━━━━━━━━"
5252 ui_print " $1 "
53- ui_print " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ "
53+ ui_print " ━━━━━━━━━━━━━━━━━━━━━━━━━"
5454}
5555
5656# 打印步骤
@@ -247,24 +247,19 @@ set_permissions() {
247247
248248# 询问用户是否安装配套应用
249249ask_install_app () {
250+ print_title " 是否安装 NetProxy 配套应用?"
250251 ui_print " "
251- ui_print " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
252- ui_print " 是否安装 NetProxy 配套应用?"
253- ui_print " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
254- ui_print " "
255- ui_print " [音量+] 安装 (打开 Google Play)"
252+ ui_print " [音量+] 安装 (默认)"
256253 ui_print " [音量-] 跳过"
257254 ui_print " "
258255
259256 local timeout=10
260- local choice=" "
257+ local choice=" install "
261258
262259 while [ $timeout -gt 0 ]; do
263- # 读取音量键
264260 local key=$( getevent -lqc 1 2> /dev/null | grep -E " KEY_VOLUME(UP|DOWN)" | head -1)
265261
266262 if echo " $key " | grep -q " VOLUMEUP" ; then
267- choice=" install"
268263 break
269264 elif echo " $key " | grep -q " VOLUMEDOWN" ; then
270265 choice=" skip"
@@ -275,14 +270,55 @@ ask_install_app() {
275270 timeout=$(( timeout - 1 ))
276271 done
277272
278- if [ " $choice " = " install" ]; then
273+ if [ " $choice " = " skip" ]; then
274+ print_step " 已跳过安装"
275+ rm -f " $MODPATH /NetProxy.apk"
276+ return 0
277+ fi
278+
279+ # 二次选择:模块内 or Google Play
280+ sleep 1
281+
282+ print_title " 选择安装来源"
283+ ui_print " "
284+ ui_print " [音量+] 模块内安装 (默认,含广告)"
285+ ui_print " [音量-] Google Play (无广告)"
286+ ui_print " "
287+
288+ timeout=10
289+ local source=" module"
290+
291+ while [ $timeout -gt 0 ]; do
292+ local key=$( getevent -lqc 1 2> /dev/null | grep -E " KEY_VOLUME(UP|DOWN)" | head -1)
293+
294+ if echo " $key " | grep -q " VOLUMEUP" ; then
295+ break
296+ elif echo " $key " | grep -q " VOLUMEDOWN" ; then
297+ source=" play"
298+ break
299+ fi
300+
301+ sleep 1
302+ timeout=$(( timeout - 1 ))
303+ done
304+
305+ if [ " $source " = " module" ] && [ -f " $MODPATH /NetProxy.apk" ]; then
306+ print_step " 正在安装模块内应用..."
307+ pm install -r " $MODPATH /NetProxy.apk" > /dev/null 2>&1
308+ if [ $? -eq 0 ]; then
309+ print_ok " 应用安装成功"
310+ else
311+ print_warn " 应用安装失败,请手动安装"
312+ fi
313+ else
279314 print_step " 正在打开 Google Play..."
280315 am start -a android.intent.action.VIEW -d " https://play.google.com/store/apps/details?id=com.fanjv.netproxy" > /dev/null 2>&1
281316 print_ok " 已打开 Google Play"
282- else
283- print_step " 已跳过安装"
284317 fi
285318
319+ # 清理安装包以减小模块体积
320+ rm -f " $MODPATH /NetProxy.apk"
321+
286322 return 0
287323}
288324
0 commit comments